summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java')
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java36
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);
}
}