summaryrefslogtreecommitdiff
path: root/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2021-11-04 16:53:59 -0700
committerTony Wickham <twickham@google.com>2021-11-17 16:28:21 -0800
commit9ceae570958ebc93ad8db3d00f72eefba34ba05e (patch)
treedbcbea32e803b89642ccc9479d8932a7285a406f /quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java
parentb797ca77b22fabb88375aba330bf87ab770b00e7 (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.java21
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);
}
/**