Loading quickstep/recents_ui_overrides/src/com/android/quickstep/RecentsAnimationWrapper.java +16 −6 Original line number Diff line number Diff line Loading @@ -85,15 +85,24 @@ public class RecentsAnimationWrapper { } } /** See {@link #finish(boolean, Runnable, boolean)} */ @UiThread public void finish(boolean toRecents, Runnable onFinishComplete) { finish(toRecents, onFinishComplete, false /* sendUserLeaveHint */); } /** * @param onFinishComplete A callback that runs on the main thread after the animation * controller has finished on the background thread. * @param sendUserLeaveHint Determines whether userLeaveHint flag will be set on the pausing * activity. If userLeaveHint is true, the activity will enter into * picture-in-picture mode upon being paused. */ @UiThread public void finish(boolean toRecents, Runnable onFinishComplete) { public void finish(boolean toRecents, Runnable onFinishComplete, boolean sendUserLeaveHint) { Preconditions.assertUIThread(); if (!toRecents) { finishAndClear(false, onFinishComplete); finishAndClear(false, onFinishComplete, sendUserLeaveHint); } else { if (mTouchInProgress) { mFinishPending = true; Loading @@ -102,16 +111,17 @@ public class RecentsAnimationWrapper { onFinishComplete.run(); } } else { finishAndClear(true, onFinishComplete); finishAndClear(true, onFinishComplete, sendUserLeaveHint); } } } private void finishAndClear(boolean toRecents, Runnable onFinishComplete) { private void finishAndClear(boolean toRecents, Runnable onFinishComplete, boolean sendUserLeaveHint) { SwipeAnimationTargetSet controller = targetSet; targetSet = null; if (controller != null) { controller.finishController(toRecents, onFinishComplete); controller.finishController(toRecents, onFinishComplete, sendUserLeaveHint); } } Loading Loading @@ -163,7 +173,7 @@ public class RecentsAnimationWrapper { mTouchInProgress = false; if (mFinishPending) { mFinishPending = false; finishAndClear(true /* toRecents */, null); finishAndClear(true /* toRecents */, null, false /* sendUserLeaveHint */); } } if (mInputConsumer != null) { Loading quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -1130,7 +1130,8 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> private void finishCurrentTransitionToHome() { synchronized (mRecentsAnimationWrapper) { mRecentsAnimationWrapper.finish(true /* toRecents */, () -> setStateOnUiThread(STATE_CURRENT_TASK_FINISHED)); () -> setStateOnUiThread(STATE_CURRENT_TASK_FINISHED), true /* sendUserLeaveHint */); } TOUCH_INTERACTION_LOG.addLog("finishRecentsAnimation", true); doLogGesture(HOME); Loading quickstep/recents_ui_overrides/src/com/android/quickstep/util/SwipeAnimationTargetSet.java +2 −2 Original line number Diff line number Diff line Loading @@ -53,11 +53,11 @@ public class SwipeAnimationTargetSet extends RemoteAnimationTargetSet { this.mOnFinishListener = onFinishListener; } public void finishController(boolean toRecents, Runnable callback) { public void finishController(boolean toRecents, Runnable callback, boolean sendUserLeaveHint) { mOnFinishListener.accept(this); BACKGROUND_EXECUTOR.execute(() -> { controller.setInputConsumerEnabled(false); controller.finish(toRecents); controller.finish(toRecents, sendUserLeaveHint); if (callback != null) { MAIN_THREAD_EXECUTOR.execute(callback); Loading Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/RecentsAnimationWrapper.java +16 −6 Original line number Diff line number Diff line Loading @@ -85,15 +85,24 @@ public class RecentsAnimationWrapper { } } /** See {@link #finish(boolean, Runnable, boolean)} */ @UiThread public void finish(boolean toRecents, Runnable onFinishComplete) { finish(toRecents, onFinishComplete, false /* sendUserLeaveHint */); } /** * @param onFinishComplete A callback that runs on the main thread after the animation * controller has finished on the background thread. * @param sendUserLeaveHint Determines whether userLeaveHint flag will be set on the pausing * activity. If userLeaveHint is true, the activity will enter into * picture-in-picture mode upon being paused. */ @UiThread public void finish(boolean toRecents, Runnable onFinishComplete) { public void finish(boolean toRecents, Runnable onFinishComplete, boolean sendUserLeaveHint) { Preconditions.assertUIThread(); if (!toRecents) { finishAndClear(false, onFinishComplete); finishAndClear(false, onFinishComplete, sendUserLeaveHint); } else { if (mTouchInProgress) { mFinishPending = true; Loading @@ -102,16 +111,17 @@ public class RecentsAnimationWrapper { onFinishComplete.run(); } } else { finishAndClear(true, onFinishComplete); finishAndClear(true, onFinishComplete, sendUserLeaveHint); } } } private void finishAndClear(boolean toRecents, Runnable onFinishComplete) { private void finishAndClear(boolean toRecents, Runnable onFinishComplete, boolean sendUserLeaveHint) { SwipeAnimationTargetSet controller = targetSet; targetSet = null; if (controller != null) { controller.finishController(toRecents, onFinishComplete); controller.finishController(toRecents, onFinishComplete, sendUserLeaveHint); } } Loading Loading @@ -163,7 +173,7 @@ public class RecentsAnimationWrapper { mTouchInProgress = false; if (mFinishPending) { mFinishPending = false; finishAndClear(true /* toRecents */, null); finishAndClear(true /* toRecents */, null, false /* sendUserLeaveHint */); } } if (mInputConsumer != null) { Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -1130,7 +1130,8 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> private void finishCurrentTransitionToHome() { synchronized (mRecentsAnimationWrapper) { mRecentsAnimationWrapper.finish(true /* toRecents */, () -> setStateOnUiThread(STATE_CURRENT_TASK_FINISHED)); () -> setStateOnUiThread(STATE_CURRENT_TASK_FINISHED), true /* sendUserLeaveHint */); } TOUCH_INTERACTION_LOG.addLog("finishRecentsAnimation", true); doLogGesture(HOME); Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/util/SwipeAnimationTargetSet.java +2 −2 Original line number Diff line number Diff line Loading @@ -53,11 +53,11 @@ public class SwipeAnimationTargetSet extends RemoteAnimationTargetSet { this.mOnFinishListener = onFinishListener; } public void finishController(boolean toRecents, Runnable callback) { public void finishController(boolean toRecents, Runnable callback, boolean sendUserLeaveHint) { mOnFinishListener.accept(this); BACKGROUND_EXECUTOR.execute(() -> { controller.setInputConsumerEnabled(false); controller.finish(toRecents); controller.finish(toRecents, sendUserLeaveHint); if (callback != null) { MAIN_THREAD_EXECUTOR.execute(callback); Loading