diff options
author | Jorim Jaggi <jjaggi@google.com> | 2014-08-08 17:00:47 +0200 |
---|---|---|
committer | Jorim Jaggi <jjaggi@google.com> | 2014-08-12 20:52:26 +0000 |
commit | 76a1623afc170a13923b68f3256057d8adeb7937 (patch) | |
tree | 458a7e24ffb9da76391bb683bebfa73d2baa7f6b /packages/SystemUI/src/com/android/systemui/keyguard | |
parent | 9a0b289f060e68e42d3db0b843d55cf920f3da12 (diff) | |
download | frameworks_base-76a1623afc170a13923b68f3256057d8adeb7937.zip frameworks_base-76a1623afc170a13923b68f3256057d8adeb7937.tar.gz frameworks_base-76a1623afc170a13923b68f3256057d8adeb7937.tar.bz2 |
Preparations for lockscreen launch animations
- Update unlock animations to new spec to make the consistent with
lockscreen launch animations.
- Introduce disappearing motion for security views which runs before
we actually dismiss Keyguard.
- If a window is running the un-force-hide animation, treat as it
would have the wallpaper flag set so the wallpaper stays until
the animation is completely done.
- Run an animation on the wallpaper if the wallpaper is going away.
Bug: 15991916
Bug: 16234603
Bug: 15326120
Change-Id: I063aa4f269ddcf75b9a705e90f0c3056b541b642
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/keyguard')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 6c00f4c..117515b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1200,23 +1200,29 @@ public class KeyguardViewMediator extends SystemUI { private void handleHide() { synchronized (KeyguardViewMediator.this) { if (DEBUG) Log.d(TAG, "handleHide"); - try { - mHiding = true; - if (mShowing && !mOccluded) { - // Don't actually hide the Keyguard at the moment, wait for window manager until - // it tells us it's safe to do so with startKeyguardExitAnimation. - mWM.keyguardGoingAway(); - } else { + mHiding = true; + if (mShowing && !mOccluded) { + mStatusBarKeyguardViewManager.startPreHideAnimation(new Runnable() { + @Override + public void run() { + try { + // Don't actually hide the Keyguard at the moment, wait for window + // manager until it tells us it's safe to do so with + // startKeyguardExitAnimation. + mWM.keyguardGoingAway(); + } catch (RemoteException e) { + Log.e(TAG, "Error while calling WindowManager", e); + } + } + }); + } else { - // Don't try to rely on WindowManager - if Keyguard wasn't showing, window - // manager won't start the exit animation. - handleStartKeyguardExitAnimation( - SystemClock.uptimeMillis() + mHideAnimation.getStartOffset(), - mHideAnimation.getDuration()); - } - } catch (RemoteException e) { - Log.e(TAG, "Error while calling WindowManager", e); + // Don't try to rely on WindowManager - if Keyguard wasn't showing, window + // manager won't start the exit animation. + handleStartKeyguardExitAnimation( + SystemClock.uptimeMillis() + mHideAnimation.getStartOffset(), + mHideAnimation.getDuration()); } } } |