summaryrefslogtreecommitdiff
path: root/quickstep/src
diff options
context:
space:
mode:
author Sukesh Ram <sukeshram@google.com> 2025-03-20 05:10:42 -0700
committer Sukesh Ram <sukeshram@google.com> 2025-03-20 05:22:18 -0700
commitcb38ecbc8c94f7f9df7baf4cc4d104947d7be527 (patch)
tree52d2494f3961688d88f7924c955ad47ba1b0bff1 /quickstep/src
parent59a89b2655a66eaa9157bc57d9e45fbfa1cfc938 (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.java17
-rw-r--r--quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java3
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);