diff options
author | Tony Wickham <twickham@google.com> | 2021-11-04 16:53:59 -0700 |
---|---|---|
committer | Tony Wickham <twickham@google.com> | 2021-11-17 16:28:21 -0800 |
commit | 9ceae570958ebc93ad8db3d00f72eefba34ba05e (patch) | |
tree | dbcbea32e803b89642ccc9479d8932a7285a406f /quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java | |
parent | b797ca77b22fabb88375aba330bf87ab770b00e7 (diff) |
Add support for dark tint on taskbar nav buttons
Tint the buttons when taskbar isn't drawing a background (either due to alpha or offset).
Test: Dark icons on a light wallpaper on home screen, dark icons when light IME is showing
Bug: 204256643
Change-Id: Iae634a1b604f50edc102905abd0d812a43c5346e
Diffstat (limited to 'quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java')
-rw-r--r-- | quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java index 8c6185cb0f..968a64cf14 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java @@ -52,6 +52,9 @@ public class TaskbarDragLayerController { // Initialized in init. private TaskbarControllers mControllers; + private AnimatedFloat mNavButtonDarkIntensityMultiplier; + + private float mLastSetBackgroundAlpha; public TaskbarDragLayerController(TaskbarActivityContext activity, TaskbarDragLayer taskbarDragLayer) { @@ -65,6 +68,9 @@ public class TaskbarDragLayerController { mControllers = controllers; mTaskbarDragLayer.init(new TaskbarDragLayerCallbacks()); + mNavButtonDarkIntensityMultiplier = mControllers.navbarButtonsViewController + .getNavButtonDarkIntensityMultiplier(); + mBgTaskbar.value = 1; mKeyguardBgTaskbar.value = 1; mNotificationShadeBgTaskbar.value = 1; @@ -114,13 +120,22 @@ public class TaskbarDragLayerController { final float bgNavbar = mBgNavbar.value; final float bgTaskbar = mBgTaskbar.value * mKeyguardBgTaskbar.value * mNotificationShadeBgTaskbar.value; - mTaskbarDragLayer.setTaskbarBackgroundAlpha( - mBgOverride.value * Math.max(bgNavbar, bgTaskbar) - ); + mLastSetBackgroundAlpha = mBgOverride.value * Math.max(bgNavbar, bgTaskbar); + mTaskbarDragLayer.setTaskbarBackgroundAlpha(mLastSetBackgroundAlpha); + + updateNavBarDarkIntensityMultiplier(); } private void updateBackgroundOffset() { mTaskbarDragLayer.setTaskbarBackgroundOffset(mBgOffset.value); + + updateNavBarDarkIntensityMultiplier(); + } + + private void updateNavBarDarkIntensityMultiplier() { + // Zero out the app-requested dark intensity when we're drawing our own background. + float effectiveBgAlpha = mLastSetBackgroundAlpha * (1 - mBgOffset.value); + mNavButtonDarkIntensityMultiplier.updateValue(1 - effectiveBgAlpha); } /** |