Animation for touch, wake and unlock
- Add callback to inform SysUI when the screen has been unblocked
and turned on.
- Cleanup inconsistent messaging about device interactive/screen on
and off.
- Add callbacks to inform SysUI about screen states
- Implement a quick fade for the scrim after touch, wake, and unlock.
First, start with a black scrim on top of everything, and then fade
it out.
- Make sure we play the normal unlock animation when device is pulsing
- Override navigation bar animations for touch, wake and unlock: Fade
in the same manner as the scrim.
Bug: 22571198
Bug: 21855614
Change-Id: I8ff08d72cced1e0f03c78d71ff710d8a4f6b848c
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index d12481c..9ea486b 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -251,7 +251,7 @@
}
/** Amount of time (in milliseconds) to wait for windows drawn before powering on. */
- static final int WAITING_FOR_DRAWN_TIMEOUT = 500;
+ static final int WAITING_FOR_DRAWN_TIMEOUT = 1000;
/**
* Lock protecting internal state. Must not call out into window
@@ -2469,6 +2469,9 @@
return isKeyguard ? -1 : R.anim.dock_top_enter;
}
} else if (win == mNavigationBar) {
+ if (win.getAttrs().windowAnimations != 0) {
+ return 0;
+ }
// This can be on either the bottom or the right.
if (mNavigationBarOnBottom) {
if (transit == TRANSIT_EXIT
@@ -5556,6 +5559,10 @@
mWindowManagerDrawComplete = false;
mScreenOnListener = null;
updateOrientationListenerLp();
+
+ if (mKeyguardDelegate != null) {
+ mKeyguardDelegate.onScreenTurnedOff();
+ }
}
}
@@ -5581,6 +5588,16 @@
}
}
+ // Called on the DisplayManager's DisplayPowerController thread.
+ @Override
+ public void screenTurnedOn() {
+ synchronized (mLock) {
+ if (mKeyguardDelegate != null) {
+ mKeyguardDelegate.onScreenTurnedOn();
+ }
+ }
+ }
+
private void finishWindowsDrawn() {
synchronized (mLock) {
if (!mScreenOnEarly || mWindowManagerDrawComplete) {