summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2013-10-28 18:40:56 -0400
committerJohn Spurlock <jspurlock@google.com>2013-11-01 11:33:48 -0400
commit56d007b99841f7f603e5d5bc5c23b94c010f1945 (patch)
treef9b18f6e733f35d112130289d29d659c5d98c68b /packages/Keyguard
parente6411e681018289c58ae6f622c11db7c800de962 (diff)
downloadframeworks_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.java23
-rw-r--r--packages/Keyguard/src/com/android/keyguard/PagedView.java32
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);