From 0dd8345085d059a570859e8cb5376299ed650c2a Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 4 Jun 2021 20:53:48 -0700 Subject: [PATCH] Fix regression where nav bar shows when taskbar is showing - Add mNavBarButtonAlpha to TaskbarStateHandler, and set it to the inverse of the taskbar alpha. - Add mPendingSetNavButtonAlpha for when setNavBarButtonAlpha() is called before mSystemUiProxy is initialized. Test: Go between various launcher states and ensure nav bar only shows up when taskbar hides. Bug: 187353581 Change-Id: I4b79280d686c787e9128e753070ec591d1ab2e4d --- .../taskbar/TaskbarStateHandler.java | 16 ++++++++++++ .../com/android/quickstep/SystemUiProxy.java | 26 +++++++++++++------ 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java index e56ee8710b..20d4133a97 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java @@ -27,6 +27,8 @@ import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.statemanager.StateManager; import com.android.launcher3.states.StateAnimationConfig; import com.android.launcher3.util.MultiValueAlpha; +import com.android.quickstep.AnimatedFloat; +import com.android.quickstep.SystemUiProxy; /** * StateHandler to animate Taskbar according to Launcher's state machine. Does nothing if Taskbar @@ -39,12 +41,17 @@ public class TaskbarStateHandler implements StateManager.StateHandler setNavBarButtonAlpha(alpha, animate); + } else { + mLastNavButtonAlpha = alpha; + mLastNavButtonAnimate = animate; + mHasNavButtonAlphaBeenSet = true; + try { + mSystemUiProxy.setNavBarButtonAlpha(alpha, animate); + } catch (RemoteException e) { + Log.w(TAG, "Failed call setNavBarButtonAlpha", e); + } } } }