Using the keyguard fading away duration for the scrim
Previously we were using a fixed duration and as a result the
scrims duration was much shorter right after boot when the
fading away duration takes 2 seconds. We're now always using
the fading away duration which simplifies also the bypass
transition.
Fixes: 138305791
Test: atest SystemUITests
Change-Id: I2eba68c75c9777ab1ba6ffadadafed3836eb74e3
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index b12bf5c..a7262cf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -47,6 +47,7 @@
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.notification.stack.ViewState;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
import com.android.systemui.util.AlarmTimeout;
import com.android.systemui.util.wakelock.DelayedWakeLock;
import com.android.systemui.util.wakelock.WakeLock;
@@ -177,7 +178,7 @@
public ScrimController(ScrimView scrimBehind, ScrimView scrimInFront,
TriConsumer<ScrimState, Float, GradientColors> scrimStateListener,
Consumer<Integer> scrimVisibleListener, DozeParameters dozeParameters,
- AlarmManager alarmManager) {
+ AlarmManager alarmManager, KeyguardMonitor keyguardMonitor) {
mScrimBehind = scrimBehind;
mScrimInFront = scrimInFront;
mScrimStateListener = scrimStateListener;
@@ -197,6 +198,13 @@
// to make sure that text on top of it is legible.
mScrimBehindAlpha = mScrimBehindAlphaResValue;
mDozeParameters = dozeParameters;
+ keyguardMonitor.addCallback(new KeyguardMonitor.Callback() {
+ @Override
+ public void onKeyguardFadingAwayChanged() {
+ setKeyguardFadingAway(keyguardMonitor.isKeyguardFadingAway(),
+ keyguardMonitor.getKeyguardFadingAwayDuration());
+ }
+ });
mColorExtractor = Dependency.get(SysuiColorExtractor.class);
mColorExtractor.addOnColorsChangedListener(this);
@@ -948,9 +956,9 @@
}
}
- public void setUnlockIsFading(boolean unlockFading) {
+ private void setKeyguardFadingAway(boolean fadingAway, long duration) {
for (ScrimState state : ScrimState.values()) {
- state.setUnlockIsFading(unlockFading);
+ state.setKeyguardFadingAway(fadingAway, duration);
}
}