diff options
Diffstat (limited to 'packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java')
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java | 36 |
1 files changed, 27 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..169899f 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,20 +119,20 @@ 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); } public void fadeInSecurity(int duration) { - ((View) mKeyguardSecurityContainer).animate().alpha(1f).setDuration(duration).start(); + ((View) mKeyguardSecurityContainer).animate().alpha(1f).setDuration(duration) + .setListener(mResumeListener); } public void onPageBeginMoving() { if (mChallengeLayout.isChallengeOverlapping() && mChallengeLayout instanceof SlidingChallengeLayout) { SlidingChallengeLayout scl = (SlidingChallengeLayout) mChallengeLayout; - if (!mKeyguardWidgetPager.isWarping()) { - scl.fadeOutChallenge(); - } + scl.fadeOutChallenge(); mPageIndexOnPageBeginMoving = mKeyguardWidgetPager.getCurrentPage(); } // We use mAppWidgetToShow to show a particular widget after you add it-- @@ -137,11 +154,12 @@ public class KeyguardViewStateManager implements public void onPageSwitching(View newPage, int newPageIndex) { if (mKeyguardWidgetPager != null && mChallengeLayout instanceof SlidingChallengeLayout) { boolean isCameraPage = newPage instanceof CameraWidgetFrame; - SlidingChallengeLayout scl = (SlidingChallengeLayout) mChallengeLayout; - scl.setChallengeInteractive(!isCameraPage); if (isCameraPage) { - scl.fadeOutChallenge(); + CameraWidgetFrame camera = (CameraWidgetFrame) newPage; + camera.setUseFastTransition(mKeyguardWidgetPager.isWarping()); } + SlidingChallengeLayout scl = (SlidingChallengeLayout) mChallengeLayout; + scl.setChallengeInteractive(!isCameraPage); final int currentFlags = mKeyguardWidgetPager.getSystemUiVisibility(); final int newFlags = isCameraPage ? (currentFlags | View.STATUS_BAR_DISABLE_SEARCH) : (currentFlags & ~View.STATUS_BAR_DISABLE_SEARCH); @@ -178,7 +196,7 @@ public class KeyguardViewStateManager implements boolean challengeOverlapping = mChallengeLayout.isChallengeOverlapping(); if (challengeOverlapping && !newCurPage.isSmall() && mPageListeningToSlider != newPageIndex) { - newCurPage.shrinkWidget(); + newCurPage.shrinkWidget(true); } } |