Hide taskbar background when notification shade is expanded

- In 3 button mode, don't hide the background but do ensure nav buttons are translated down when swiping to notificaitons from the home screen

Test: swipe down notifications, background hides in 0 button mode but not in 3 button mode
Fixes: 199163951
Change-Id: Ic70adc7d67b2ab7c92a2d5d846b9b259d1bd7bfc
This commit is contained in:
Tony Wickham
2021-10-21 10:45:20 -07:00
parent d238074c39
commit 232e9a4631
4 changed files with 49 additions and 20 deletions

View File

@@ -42,6 +42,8 @@ public class TaskbarDragLayerController {
private final AnimatedFloat mBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha);
private final AnimatedFloat mBgNavbar = new AnimatedFloat(this::updateBackgroundAlpha);
private final AnimatedFloat mKeyguardBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha);
private final AnimatedFloat mNotificationShadeBgTaskbar = new AnimatedFloat(
this::updateBackgroundAlpha);
// Used to hide our background color when someone else (e.g. ScrimView) is handling it.
private final AnimatedFloat mBgOverride = new AnimatedFloat(this::updateBackgroundAlpha);
@@ -63,6 +65,7 @@ public class TaskbarDragLayerController {
mControllers = controllers;
mTaskbarDragLayer.init(new TaskbarDragLayerCallbacks());
mKeyguardBgTaskbar.value = 1;
mNotificationShadeBgTaskbar.value = 1;
mBgOverride.value = 1;
}
@@ -92,6 +95,10 @@ public class TaskbarDragLayerController {
return mKeyguardBgTaskbar;
}
public AnimatedFloat getNotificationShadeBgTaskbar() {
return mNotificationShadeBgTaskbar;
}
public AnimatedFloat getOverrideBackgroundAlpha() {
return mBgOverride;
}
@@ -102,7 +109,8 @@ public class TaskbarDragLayerController {
private void updateBackgroundAlpha() {
final float bgNavbar = mBgNavbar.value;
final float bgTaskbar = mBgTaskbar.value * mKeyguardBgTaskbar.value;
final float bgTaskbar = mBgTaskbar.value * mKeyguardBgTaskbar.value
* mNotificationShadeBgTaskbar.value;
mTaskbarDragLayer.setTaskbarBackgroundAlpha(
mBgOverride.value * Math.max(bgNavbar, bgTaskbar)
);