Loading quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackSwipeHandler.java +2 −0 Original line number Diff line number Diff line Loading @@ -332,6 +332,8 @@ public class FallbackSwipeHandler extends BaseSwipeUpHandler<RecentsActivity, Fa // Send a home intent to clear the task stack mContext.startActivity(mGestureState.getHomeIntent()); } else { // Notify swipe-to-home (recents animation) is finished SystemUiProxy.INSTANCE.get(mContext).notifySwipeToHomeFinished(); mRecentsAnimationController.finish(true, () -> { if (!mTouchedHomeDuringTransition) { // If the user hasn't interacted with the screen during the transition, Loading quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherSwipeHandler.java +2 −0 Original line number Diff line number Diff line Loading @@ -699,6 +699,8 @@ public class LauncherSwipeHandler<T extends BaseDraggingActivity> switch (mGestureState.getEndTarget()) { case HOME: mStateCallback.setState(STATE_SCALED_CONTROLLER_HOME | STATE_CAPTURE_SCREENSHOT); // Notify swipe-to-home (recents animation) is finished SystemUiProxy.INSTANCE.get(mContext).notifySwipeToHomeFinished(); break; case RECENTS: mStateCallback.setState(STATE_SCALED_CONTROLLER_RECENTS | STATE_CAPTURE_SCREENSHOT Loading quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +8 −0 Original line number Diff line number Diff line Loading @@ -108,11 +108,13 @@ import com.android.quickstep.RecentsAnimationController; import com.android.quickstep.RecentsAnimationTargets; import com.android.quickstep.RecentsModel; import com.android.quickstep.RecentsModel.TaskVisualsChangeListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskThumbnailCache; import com.android.quickstep.TaskUtils; import com.android.quickstep.ViewUtils; import com.android.quickstep.util.AppWindowAnimationHelper; import com.android.quickstep.util.LayoutUtils; import com.android.systemui.shared.recents.IPinnedStackAnimationListener; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.ActivityManagerWrapper; Loading Loading @@ -264,7 +266,10 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl } }); } }; private final IPinnedStackAnimationListener mIPinnedStackAnimationListener = new IPinnedStackAnimationListener.Stub() { @Override public void onPinnedStackAnimationStarted() { // Needed for activities that auto-enter PiP, which will not trigger a remote Loading Loading @@ -446,6 +451,8 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl mSyncTransactionApplier = new SyncRtSurfaceTransactionApplierCompat(this); RecentsModel.INSTANCE.get(getContext()).addThumbnailChangeListener(this); mIdp.addOnChangeListener(this); SystemUiProxy.INSTANCE.get(getContext()).setPinnedStackAnimationListener( mIPinnedStackAnimationListener); } @Override Loading @@ -458,6 +465,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl mSyncTransactionApplier = null; RecentsModel.INSTANCE.get(getContext()).removeThumbnailChangeListener(this); mIdp.removeOnChangeListener(this); SystemUiProxy.INSTANCE.get(getContext()).setPinnedStackAnimationListener(null); } @Override Loading quickstep/src/com/android/quickstep/SystemUiProxy.java +30 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.util.Log; import android.view.MotionEvent; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.systemui.shared.recents.IPinnedStackAnimationListener; import com.android.systemui.shared.recents.ISystemUiProxy; /** Loading Loading @@ -268,9 +269,7 @@ public class SystemUiProxy implements ISystemUiProxy { } } /** * See SharedApiCompat#setShelfHeight() */ @Override public void setShelfHeight(boolean visible, int shelfHeight) { boolean changed = visible != mLastShelfVisible || shelfHeight != mLastShelfHeight; if (mSystemUiProxy != null && changed) { Loading Loading @@ -306,4 +305,32 @@ public class SystemUiProxy implements ISystemUiProxy { } } } /** * Notifies that swipe-to-home action is finished. */ @Override public void notifySwipeToHomeFinished() { if (mSystemUiProxy != null) { try { mSystemUiProxy.notifySwipeToHomeFinished(); } catch (RemoteException e) { Log.w(TAG, "Failed call setPinnedStackAnimationType", e); } } } /** * Sets listener to get pinned stack animation callbacks. */ @Override public void setPinnedStackAnimationListener(IPinnedStackAnimationListener listener) { if (mSystemUiProxy != null) { try { mSystemUiProxy.setPinnedStackAnimationListener(listener); } catch (RemoteException e) { Log.w(TAG, "Failed call setPinnedStackAnimationListener", e); } } } } Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackSwipeHandler.java +2 −0 Original line number Diff line number Diff line Loading @@ -332,6 +332,8 @@ public class FallbackSwipeHandler extends BaseSwipeUpHandler<RecentsActivity, Fa // Send a home intent to clear the task stack mContext.startActivity(mGestureState.getHomeIntent()); } else { // Notify swipe-to-home (recents animation) is finished SystemUiProxy.INSTANCE.get(mContext).notifySwipeToHomeFinished(); mRecentsAnimationController.finish(true, () -> { if (!mTouchedHomeDuringTransition) { // If the user hasn't interacted with the screen during the transition, Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherSwipeHandler.java +2 −0 Original line number Diff line number Diff line Loading @@ -699,6 +699,8 @@ public class LauncherSwipeHandler<T extends BaseDraggingActivity> switch (mGestureState.getEndTarget()) { case HOME: mStateCallback.setState(STATE_SCALED_CONTROLLER_HOME | STATE_CAPTURE_SCREENSHOT); // Notify swipe-to-home (recents animation) is finished SystemUiProxy.INSTANCE.get(mContext).notifySwipeToHomeFinished(); break; case RECENTS: mStateCallback.setState(STATE_SCALED_CONTROLLER_RECENTS | STATE_CAPTURE_SCREENSHOT Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +8 −0 Original line number Diff line number Diff line Loading @@ -108,11 +108,13 @@ import com.android.quickstep.RecentsAnimationController; import com.android.quickstep.RecentsAnimationTargets; import com.android.quickstep.RecentsModel; import com.android.quickstep.RecentsModel.TaskVisualsChangeListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskThumbnailCache; import com.android.quickstep.TaskUtils; import com.android.quickstep.ViewUtils; import com.android.quickstep.util.AppWindowAnimationHelper; import com.android.quickstep.util.LayoutUtils; import com.android.systemui.shared.recents.IPinnedStackAnimationListener; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.system.ActivityManagerWrapper; Loading Loading @@ -264,7 +266,10 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl } }); } }; private final IPinnedStackAnimationListener mIPinnedStackAnimationListener = new IPinnedStackAnimationListener.Stub() { @Override public void onPinnedStackAnimationStarted() { // Needed for activities that auto-enter PiP, which will not trigger a remote Loading Loading @@ -446,6 +451,8 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl mSyncTransactionApplier = new SyncRtSurfaceTransactionApplierCompat(this); RecentsModel.INSTANCE.get(getContext()).addThumbnailChangeListener(this); mIdp.addOnChangeListener(this); SystemUiProxy.INSTANCE.get(getContext()).setPinnedStackAnimationListener( mIPinnedStackAnimationListener); } @Override Loading @@ -458,6 +465,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl mSyncTransactionApplier = null; RecentsModel.INSTANCE.get(getContext()).removeThumbnailChangeListener(this); mIdp.removeOnChangeListener(this); SystemUiProxy.INSTANCE.get(getContext()).setPinnedStackAnimationListener(null); } @Override Loading
quickstep/src/com/android/quickstep/SystemUiProxy.java +30 −3 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.util.Log; import android.view.MotionEvent; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.systemui.shared.recents.IPinnedStackAnimationListener; import com.android.systemui.shared.recents.ISystemUiProxy; /** Loading Loading @@ -268,9 +269,7 @@ public class SystemUiProxy implements ISystemUiProxy { } } /** * See SharedApiCompat#setShelfHeight() */ @Override public void setShelfHeight(boolean visible, int shelfHeight) { boolean changed = visible != mLastShelfVisible || shelfHeight != mLastShelfHeight; if (mSystemUiProxy != null && changed) { Loading Loading @@ -306,4 +305,32 @@ public class SystemUiProxy implements ISystemUiProxy { } } } /** * Notifies that swipe-to-home action is finished. */ @Override public void notifySwipeToHomeFinished() { if (mSystemUiProxy != null) { try { mSystemUiProxy.notifySwipeToHomeFinished(); } catch (RemoteException e) { Log.w(TAG, "Failed call setPinnedStackAnimationType", e); } } } /** * Sets listener to get pinned stack animation callbacks. */ @Override public void setPinnedStackAnimationListener(IPinnedStackAnimationListener listener) { if (mSystemUiProxy != null) { try { mSystemUiProxy.setPinnedStackAnimationListener(listener); } catch (RemoteException e) { Log.w(TAG, "Failed call setPinnedStackAnimationListener", e); } } } }