Hide taskbar content while dreaming.

When entering the dreaming state, the TaskbarDragLayer is faded out.
Upon wake up, a slight delay is added to  allow the SFPS reader to do
its magic, so the lockscreen-navbar does not pop-in just to be removed
again.

Bug: 271440683
Bug: 275319714
Fixes: 271440683
Test: manual (http://shortn/_cQudGXDSDU)
Change-Id: I34e02f02288bace39626d531d115fc994b11f371
This commit is contained in:
Mike Schneider
2023-03-31 13:13:59 +02:00
parent 2ebfc41966
commit f0f94f2ed9
4 changed files with 105 additions and 11 deletions

View File

@@ -53,6 +53,10 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
// Translation property for taskbar background.
private final AnimatedFloat mBgOffset = new AnimatedFloat(this::updateBackgroundOffset);
// Used to fade in/out the entirety of the taskbar, for a smooth transition before/after sysui
// changes the inset visibility.
private final AnimatedFloat mTaskbarAlpha = new AnimatedFloat(this::updateTaskbarAlpha);
// Initialized in init.
private TaskbarControllers mControllers;
private TaskbarStashViaTouchController mTaskbarStashViaTouchController;
@@ -83,6 +87,9 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
mAssistantBgTaskbar.value = 1;
mBgOverride.value = 1;
updateBackgroundAlpha();
mTaskbarAlpha.value = 1;
updateTaskbarAlpha();
}
public void onDestroy() {
@@ -127,6 +134,10 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
return mBgOffset;
}
public AnimatedFloat getTaskbarAlpha() {
return mTaskbarAlpha;
}
/**
* Make updates when configuration changes.
*/
@@ -165,6 +176,10 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
updateOnBackgroundNavButtonColorIntensity();
}
private void updateTaskbarAlpha() {
mTaskbarDragLayer.setAlpha(mTaskbarAlpha.value);
}
@Override
public void setCornerRoundness(float cornerRoundness) {
mTaskbarDragLayer.setCornerRoundness(cornerRoundness);
@@ -188,6 +203,7 @@ public class TaskbarDragLayerController implements TaskbarControllers.LoggableTa
pw.println(prefix + "TaskbarDragLayerController:");
pw.println(prefix + "\tmBgOffset=" + mBgOffset.value);
pw.println(prefix + "\tmTaskbarAlpha=" + mTaskbarAlpha.value);
pw.println(prefix + "\tmFolderMargin=" + mFolderMargin);
pw.println(prefix + "\tmLastSetBackgroundAlpha=" + mLastSetBackgroundAlpha);
pw.println(prefix + "\t\tmBgOverride=" + mBgOverride.value);