summaryrefslogtreecommitdiff
path: root/quickstep
diff options
context:
space:
mode:
author Sukesh Ram <sukeshram@google.com> 2025-03-20 10:26:33 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-20 10:26:33 -0700
commit19de54a02de33921de3163e42a44e79d0b607c45 (patch)
tree5e345e7e05a3e0365c2e6232e873688d424f0372 /quickstep
parentf30a5e3cce3730c63c63ea8ece4177975dd898e3 (diff)
parentcb38ecbc8c94f7f9df7baf4cc4d104947d7be527 (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.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 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);