diff options
author | John Spurlock <jspurlock@google.com> | 2013-10-28 18:40:56 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-11-01 11:33:48 -0400 |
commit | 56d007b99841f7f603e5d5bc5c23b94c010f1945 (patch) | |
tree | f9b18f6e733f35d112130289d29d659c5d98c68b /packages/Keyguard | |
parent | e6411e681018289c58ae6f622c11db7c800de962 (diff) | |
download | frameworks_base-56d007b99841f7f603e5d5bc5c23b94c010f1945.zip frameworks_base-56d007b99841f7f603e5d5bc5c23b94c010f1945.tar.gz frameworks_base-56d007b99841f7f603e5d5bc5c23b94c010f1945.tar.bz2 |
Manage keyguard nav elements using transitions.
Move the logic for managing dimming the navigation bar
elements on the lockscreen into BarTransitions.
Replace search light + camera assets with new
versions at full brightness, and apply 50% dimming
at runtime, including the IME dismiss button.
Remove unused StatusBarManager _NOP hints.
Improve choreography between camera button +
password security (w/ IME). Fix a few found bugs
in PagedView.
Improve password security unlock transition, manually
fade in back along with the rest of the icons.
Bug:11221659
Change-Id: Ifd1f8c9f400d90542f0ca858b9a4deacabbd518a
Diffstat (limited to 'packages/Keyguard')
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java | 23 | ||||
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/PagedView.java | 32 |
2 files changed, 46 insertions, 9 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java index 8e39628..c648177 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java @@ -15,6 +15,9 @@ */ package com.android.keyguard; +import android.animation.Animator; +import android.animation.Animator.AnimatorListener; +import android.animation.AnimatorListenerAdapter; import android.os.Handler; import android.os.Looper; import android.util.Log; @@ -46,6 +49,20 @@ public class KeyguardViewStateManager implements int mChallengeTop = 0; + private final AnimatorListener mPauseListener = new AnimatorListenerAdapter() { + public void onAnimationEnd(Animator animation) { + mKeyguardSecurityContainer.onPause(); + } + }; + + private final AnimatorListener mResumeListener = new AnimatorListenerAdapter() { + public void onAnimationEnd(Animator animation) { + if (((View)mKeyguardSecurityContainer).isShown()) { + mKeyguardSecurityContainer.onResume(0); + } + } + }; + public KeyguardViewStateManager(KeyguardHostView hostView) { mKeyguardHostView = hostView; } @@ -102,11 +119,13 @@ public class KeyguardViewStateManager implements } public void fadeOutSecurity(int duration) { - ((View) mKeyguardSecurityContainer).animate().alpha(0f).setDuration(duration).start(); + ((View) mKeyguardSecurityContainer).animate().alpha(0f).setDuration(duration) + .setListener(mPauseListener).start(); } public void fadeInSecurity(int duration) { - ((View) mKeyguardSecurityContainer).animate().alpha(1f).setDuration(duration).start(); + ((View) mKeyguardSecurityContainer).animate().alpha(1f).setDuration(duration) + .setListener(mResumeListener).start(); } public void onPageBeginMoving() { diff --git a/packages/Keyguard/src/com/android/keyguard/PagedView.java b/packages/Keyguard/src/com/android/keyguard/PagedView.java index 9d237dc..1262e07 100644 --- a/packages/Keyguard/src/com/android/keyguard/PagedView.java +++ b/packages/Keyguard/src/com/android/keyguard/PagedView.java @@ -267,6 +267,8 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc private boolean mIsCameraEvent; private float mWarpPeekAmount; + private boolean mOnPageEndWarpCalled; + private boolean mOnPageBeginWarpCalled; public interface PageSwitchListener { void onPageSwitching(View newPage, int newPageIndex); @@ -491,7 +493,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc if (!mIsPageMoving) { mIsPageMoving = true; if (isWarping()) { - onPageBeginWarp(); + dispatchOnPageBeginWarp(); if (mPageSwapIndex != -1) { swapPages(mPageSwapIndex, mPageWarpIndex); } @@ -500,6 +502,22 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } } + private void dispatchOnPageBeginWarp() { + if (!mOnPageBeginWarpCalled) { + onPageBeginWarp(); + mOnPageBeginWarpCalled = true; + } + mOnPageEndWarpCalled = false; + } + + private void dispatchOnPageEndWarp() { + if (!mOnPageEndWarpCalled) { + onPageEndWarp(); + mOnPageEndWarpCalled = true; + } + mOnPageBeginWarpCalled = false; + } + protected void pageEndMoving() { if (DEBUG_WARP) Log.v(TAG, "pageEndMoving(" + mIsPageMoving + ")"); if (mIsPageMoving) { @@ -508,7 +526,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc if (mPageSwapIndex != -1) { swapPages(mPageSwapIndex, mPageWarpIndex); } - onPageEndWarp(); + dispatchOnPageEndWarp(); resetPageWarp(); } onPageEndMoving(); @@ -1919,7 +1937,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc } if (isWarping()) { - onPageEndWarp(); + dispatchOnPageEndWarp(); resetPageWarp(); } @@ -2702,7 +2720,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc @Override public void onAnimationEnd(Animator animation) { mWarpAnimation = null; - mWarpPageExposed = true; + mWarpPageExposed = false; } }; @@ -2727,9 +2745,9 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc private void animateWarpPageOnScreen(String reason) { if (DEBUG_WARP) Log.v(TAG, "animateWarpPageOnScreen(" + reason + ")"); - if (isWarping()) { + if (isWarping() && !mWarpPageExposed) { mWarpPageExposed = true; - onPageBeginWarp(); + dispatchOnPageBeginWarp(); KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex); if (DEBUG_WARP) Log.v(TAG, "moving page on screen: Tx=" + v.getTranslationX()); DecelerateInterpolator interp = new DecelerateInterpolator(1.5f); @@ -2744,7 +2762,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc private void animateWarpPageOffScreen(String reason, boolean animate) { if (DEBUG_WARP) Log.v(TAG, "animateWarpPageOffScreen(" + reason + " anim:" + animate + ")"); if (isWarping()) { - onPageEndWarp(); + dispatchOnPageEndWarp(); KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex); if (DEBUG_WARP) Log.v(TAG, "moving page off screen: Tx=" + v.getTranslationX()); AccelerateInterpolator interp = new AccelerateInterpolator(1.5f); |