mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user