Update light reveal effect on wake/sleep so that the screen off animation works too.
Screen off starts while we aren't yet dozing, so use wake/sleep instead. Bug: 181923218 Test: use power button and lift to wake and sleep device Test: use fingerprint, verify circle reveal still works Change-Id: I52f6244609c6c0c15b4787ecd3e69b19c92bc106
This commit is contained in:
@@ -3894,15 +3894,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
updateQsExpansionEnabled();
|
||||
mKeyguardViewMediator.setDozing(mDozing);
|
||||
|
||||
if ((isDozing && mWakefulnessLifecycle.getLastSleepReason()
|
||||
== PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON)
|
||||
|| (!isDozing && mWakefulnessLifecycle.getLastWakeReason()
|
||||
== PowerManager.WAKE_REASON_POWER_BUTTON)) {
|
||||
mLightRevealScrim.setRevealEffect(mPowerButtonReveal);
|
||||
} else if (!(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)) {
|
||||
mLightRevealScrim.setRevealEffect(LiftReveal.INSTANCE);
|
||||
}
|
||||
|
||||
mNotificationsController.requestNotificationUpdate("onDozingChanged");
|
||||
updateDozingState();
|
||||
mDozeServiceHost.updateDozing();
|
||||
@@ -3911,6 +3902,27 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the light reveal effect to reflect the reason we're waking or sleeping (for example,
|
||||
* from the power button).
|
||||
* @param wakingUp Whether we're updating because we're waking up (true) or going to sleep
|
||||
* (false).
|
||||
*/
|
||||
private void updateRevealEffect(boolean wakingUp) {
|
||||
if (mLightRevealScrim == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (wakingUp && mWakefulnessLifecycle.getLastWakeReason()
|
||||
== PowerManager.WAKE_REASON_POWER_BUTTON
|
||||
|| !wakingUp && mWakefulnessLifecycle.getLastSleepReason()
|
||||
== PowerManager.GO_TO_SLEEP_REASON_POWER_BUTTON) {
|
||||
mLightRevealScrim.setRevealEffect(mPowerButtonReveal);
|
||||
} else if (!(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)) {
|
||||
mLightRevealScrim.setRevealEffect(LiftReveal.INSTANCE);
|
||||
}
|
||||
}
|
||||
|
||||
public LightRevealScrim getLightRevealScrim() {
|
||||
return mLightRevealScrim;
|
||||
}
|
||||
@@ -4043,6 +4055,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
public void onStartedGoingToSleep() {
|
||||
String tag = "StatusBar#onStartedGoingToSleep";
|
||||
DejankUtils.startDetectingBlockingIpcs(tag);
|
||||
updateRevealEffect(false /* wakingUp */);
|
||||
updateNotificationPanelTouchState();
|
||||
notifyHeadsUpGoingToSleep();
|
||||
dismissVolumeDialog();
|
||||
@@ -4074,6 +4087,7 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
// This is intentionally below the stopDozing call above, since it avoids that we're
|
||||
// unnecessarily animating the wakeUp transition. Animations should only be enabled
|
||||
// once we fully woke up.
|
||||
updateRevealEffect(true /* wakingUp */);
|
||||
updateNotificationPanelTouchState();
|
||||
mPulseExpansionHandler.onStartedWakingUp();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user