diff options
author | 2025-03-20 10:26:33 -0700 | |
---|---|---|
committer | 2025-03-20 10:26:33 -0700 | |
commit | 19de54a02de33921de3163e42a44e79d0b607c45 (patch) | |
tree | 5e345e7e05a3e0365c2e6232e873688d424f0372 /quickstep | |
parent | f30a5e3cce3730c63c63ea8ece4177975dd898e3 (diff) | |
parent | cb38ecbc8c94f7f9df7baf4cc4d104947d7be527 (diff) |
Merge "[CD Taskbar] Null Protect Taskbar against onLauncherVisibilityChange crash" into main
Diffstat (limited to 'quickstep')
-rw-r--r-- | quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java | 17 | ||||
-rw-r--r-- | quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java | 3 |
2 files changed, 13 insertions, 7 deletions
diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 51a42049cc..3d5e214391 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -224,13 +224,18 @@ public class LauncherTaskbarUIController extends TaskbarUIController { */ @Override public void onLauncherVisibilityChanged(boolean isVisible) { - if (DesktopModeStatus.enterDesktopByDefaultOnFreeformDisplay(mLauncher)) { + if (DesktopModeStatus.enterDesktopByDefaultOnFreeformDisplay(mLauncher) + && mControllers.taskbarActivityContext.isPrimaryDisplay()) { DisplayController.INSTANCE.get(mLauncher).notifyConfigChange(); } + onLauncherVisibilityChanged(isVisible, false /* fromInit */); } private void onLauncherVisibilityChanged(boolean isVisible, boolean fromInitOrDestroy) { + if (mControllers == null) { + return; + } onLauncherVisibilityChanged( isVisible, fromInitOrDestroy, @@ -244,12 +249,12 @@ public class LauncherTaskbarUIController extends TaskbarUIController { if (!Flags.predictiveBackToHomePolish()) { shouldOverrideToFastAnimation |= mLauncher.getPredictiveBackToHomeInProgress(); } - boolean isPinnedTaskbar = - mControllers.taskbarActivityContext.isPinnedTaskbar(); - if (isVisible || isPinnedTaskbar) { - return getTaskbarToHomeDuration(shouldOverrideToFastAnimation, isPinnedTaskbar); + + boolean isPinned = mControllers.taskbarActivityContext.isPinnedTaskbar(); + if (isVisible || isPinned) { + return getTaskbarToHomeDuration(shouldOverrideToFastAnimation, isPinned); } else { - return mControllers.taskbarActivityContext.isTransientTaskbar() + return (mControllers.taskbarActivityContext.isTransientTaskbar()) ? TRANSIENT_TASKBAR_TRANSITION_DURATION : TASKBAR_TO_APP_DURATION; } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index c5b97e7bbc..6340bb1b69 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -495,7 +495,8 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar View[] iconViews = mTaskbarView.getIconViews(); float finalScale; - if (mControllers.getSharedState().startTaskbarVariantIsTransient) { + TaskbarSharedState sharedState = mControllers.getSharedState(); + if (sharedState != null || mControllers.getSharedState().startTaskbarVariantIsTransient) { finalScale = mapRange(scale, 1f, ((float) mPersistentIconSize / mTransientIconSize)); } else { finalScale = mapRange(scale, ((float) mTransientIconSize / mPersistentIconSize), 1f); |