diff options
| author | 2025-03-20 05:10:42 -0700 | |
|---|---|---|
| committer | 2025-03-20 05:22:18 -0700 | |
| commit | cb38ecbc8c94f7f9df7baf4cc4d104947d7be527 (patch) | |
| tree | 52d2494f3961688d88f7924c955ad47ba1b0bff1 /quickstep/src | |
| parent | 59a89b2655a66eaa9157bc57d9e45fbfa1cfc938 (diff) | |
[CD Taskbar] Null Protect Taskbar against onLauncherVisibilityChange crash
Null Protect Taskbar against onLauncherVisibilityChange crash.
Flag: EXEMPT not adding new behavior
Bug: 403294086
Bug: 404928723
Test: m
Change-Id: I84e899d26f93d484031073d1b63c6757daa8b141
Diffstat (limited to 'quickstep/src')
| -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 913035ae21..02176ec59b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -203,13 +203,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, @@ -223,12 +228,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); |