From c4df8c2ec68d443716dcb004f77b7bda8a5aaf6a Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 19 Jan 2024 20:04:59 +0000 Subject: [PATCH] Revert to passing mIsStashed to StashedHandleViewController again - Fixes case where handle is initially invisible but will be stashed and visible, e.g. when launching an app from home screen - To fix the original issue of sampling happening unnecessarily for three button nav, also check supportsVisualStashing() Fixes: 321257120 Flag: None Test: Launch an app from home in gesture nav mode Test: testThreeButtonsTaskbarBoundsAfterConfigChangeDuringIme Change-Id: I1f26436de3081fd00f75a5921010e361e9a9f34e --- .../launcher3/taskbar/StashedHandleViewController.java | 6 +++--- .../launcher3/taskbar/TaskbarStashController.java | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java index fd0d65523a..f258b47efc 100644 --- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java @@ -155,7 +155,7 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT }); initRegionSampler(); if (mActivity.isPhoneGestureNavMode()) { - onIsStashedChanged(); + onIsStashedChanged(true); } } @@ -238,8 +238,8 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT } /** Called when taskbar is stashed or unstashed. */ - public void onIsStashedChanged() { - mIsStashed = isStashedHandleVisible(); + public void onIsStashedChanged(boolean isStashed) { + mIsStashed = isStashed; updateSamplingState(); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index eced202556..c883759692 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -590,7 +590,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba mAnimator.addListener(AnimatorListeners.forEndCallback(() -> { mAnimator = null; mIsStashed = isStashed; - onIsStashedChanged(); + onIsStashedChanged(mIsStashed); })); return; } @@ -605,7 +605,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba @Override public void onAnimationStart(Animator animation) { mIsStashed = isStashed; - onIsStashedChanged(); + onIsStashedChanged(mIsStashed); cancelTimeoutIfExists(); } @@ -830,9 +830,10 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba .setDuration(TASKBAR_HINT_STASH_DURATION).start(); } - private void onIsStashedChanged() { + private void onIsStashedChanged(boolean isStashed) { mControllers.runAfterInit(() -> { - mControllers.stashedHandleViewController.onIsStashedChanged(); + mControllers.stashedHandleViewController.onIsStashedChanged( + isStashed && supportsVisualStashing()); mControllers.taskbarInsetsController.onTaskbarOrBubblebarWindowHeightOrInsetsChanged(); }); }