From f20a4bd9a93e7d827b8c3db858e4dc1fa9b9d56c Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Mon, 19 Apr 2021 21:37:08 -0700 Subject: [PATCH] Finish the recents animation when the phone goes to sleep Fixes: 169988381 Test: manual Change-Id: I62527ef46009a1417e67637c512b3a2fc005bcd6 --- .../launcher3/BaseQuickstepLauncher.java | 10 ++++++++++ src/com/android/launcher3/Launcher.java | 20 +++++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 2aac877804..6966fb65dd 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -23,6 +23,7 @@ import static com.android.launcher3.LauncherState.NO_OFFSET; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; +import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import android.animation.AnimatorSet; @@ -189,6 +190,15 @@ public abstract class BaseQuickstepLauncher extends Launcher () -> ActivityManagerWrapper.getInstance().invalidateHomeTaskSnapshot(this)); } + @Override + protected void onScreenOff() { + super.onScreenOff(); + if (LIVE_TILE.get()) { + RecentsView recentsView = getOverviewPanel(); + recentsView.finishRecentsAnimation(true /* toRecents */, null); + } + } + @Override public void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options) { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 5896f5a4de..e5190fd834 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1346,14 +1346,7 @@ public class Launcher extends StatefulActivity implements Launche private final BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - // Reset AllApps to its initial state only if we are not in the middle of - // processing a multi-step drop - if (mPendingRequestArgs == null) { - if (!isInState(NORMAL)) { - onUiChangedWhileSleeping(); - } - mStateManager.goToState(NORMAL); - } + onScreenOff(); } }; @@ -1923,6 +1916,17 @@ public class Launcher extends StatefulActivity implements Launche } } + protected void onScreenOff() { + // Reset AllApps to its initial state only if we are not in the middle of + // processing a multi-step drop + if (mPendingRequestArgs == null) { + if (!isInState(NORMAL)) { + onUiChangedWhileSleeping(); + } + mStateManager.goToState(NORMAL); + } + } + @TargetApi(Build.VERSION_CODES.M) @Override protected boolean onErrorStartingShortcut(Intent intent, ItemInfo info) {