From 111d05c913f0d76c3707278b1413696d1b52f4d7 Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Mon, 26 Aug 2024 20:33:35 -0700 Subject: [PATCH] Skip taskbar animations from launcher state changes in phone mode Based on https://b.corp.google.com/issues/361593564#comment4 Bug: 361593564 Test: manual Flag: EXEMPT bugfix Change-Id: I93d1cfc3b0eaec6b9496d13acc14d20c4de6d3b1 --- .../launcher3/taskbar/LauncherTaskbarUIController.java | 2 +- .../taskbar/TaskbarLauncherStateController.java | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index b63b9ddab2..96a6d283cc 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -248,7 +248,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } mTaskbarLauncherStateController.updateStateForFlag(FLAG_VISIBLE, isVisible); - if (fromInit) { + if (fromInit || mControllers == null) { duration = 0; } return mTaskbarLauncherStateController.applyState(duration, startAnimation); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index eb1165acc6..0eb88903e1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -246,7 +246,9 @@ public class TaskbarLauncherStateController { resetIconAlignment(); - mLauncher.getStateManager().addStateListener(mStateListener); + if (!mControllers.taskbarActivityContext.isPhoneMode()) { + mLauncher.getStateManager().addStateListener(mStateListener); + } mLauncherState = launcher.getStateManager().getState(); updateStateForSysuiFlags(sysuiStateFlags, /*applyState*/ false); @@ -412,7 +414,7 @@ public class TaskbarLauncherStateController { } public Animator applyState(long duration, boolean start) { - if (mIsDestroyed) { + if (mIsDestroyed || mControllers.taskbarActivityContext.isPhoneMode()) { return null; } Animator animator = null; @@ -861,7 +863,8 @@ public class TaskbarLauncherStateController { "%s\tmTaskbarBackgroundAlpha=%.2f", prefix, mTaskbarBackgroundAlpha.value)); pw.println(String.format( "%s\tmIconAlphaForHome=%.2f", prefix, mIconAlphaForHome.getValue())); - pw.println(String.format("%s\tmPrevState=%s", prefix, getStateString(mPrevState))); + pw.println(String.format("%s\tmPrevState=%s", prefix, + mPrevState == null ? null : getStateString(mPrevState))); pw.println(String.format("%s\tmState=%s", prefix, getStateString(mState))); pw.println(String.format("%s\tmLauncherState=%s", prefix, mLauncherState)); pw.println(String.format(