From 68c2489457631f733f542e14058c6d1274c203de Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Sun, 14 Oct 2012 05:04:00 -0700 Subject: [PATCH] Disable security view transitions in keyguard Now that we have a single stage unlock, there's no need for the transition. This was causing unnecessary flickering to happen in views where we add the security view just after inflation, which triggers the animation. Fixes bug 7343632 Change-Id: I5bb8e37df66e4d96f00719e318424d46bf0e2e5a --- .../impl/keyguard/KeyguardHostView.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java index fc1cac680e1ce..d251b73e21736 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java @@ -162,7 +162,7 @@ public class KeyguardHostView extends KeyguardViewBase { addDefaultWidgets(); updateSecurityViews(); setSystemUiVisibility(getSystemUiVisibility() | View.STATUS_BAR_DISABLE_BACK); - + if (KeyguardUpdateMonitor.getInstance(mContext).getIsFirstBoot()) { showPrimarySecurityScreen(false); } @@ -425,7 +425,7 @@ public class KeyguardHostView extends KeyguardViewBase { } showSecurityScreen(securityMode); } - + /** * Shows the backup security screen for the current security mode. This could be used for * password recovery screens but is currently only used for pattern unlock to show the @@ -493,7 +493,7 @@ public class KeyguardHostView extends KeyguardViewBase { // enabled because the user has left keyguard. KeyguardUpdateMonitor.getInstance(mContext).setAlternateUnlockEnabled(true); KeyguardUpdateMonitor.getInstance(mContext).setIsFirstBoot(false); - + // If there's a pending runnable because the user interacted with a widget // and we're leaving keyguard, then run it. if (mLaunchRunnable != null) { @@ -597,7 +597,7 @@ public class KeyguardHostView extends KeyguardViewBase { View carrierText = selectorView.findViewById(R.id.keyguard_selector_fade_container); selectorView.setCarrierArea(carrierText); } - + return view; } @@ -608,8 +608,8 @@ public class KeyguardHostView extends KeyguardViewBase { * @param securityMode */ private void showSecurityScreen(SecurityMode securityMode) { - if (DEBUG) Log.d(TAG, "showSecurityScreen"); - + if (DEBUG) Log.d(TAG, "showSecurityScreen(" + securityMode + ")"); + if (securityMode == mCurrentSecuritySelection) return; KeyguardSecurityView oldView = getSecurityView(mCurrentSecuritySelection); @@ -628,10 +628,12 @@ public class KeyguardHostView extends KeyguardViewBase { final int childCount = mSecurityViewContainer.getChildCount(); // Do flip animation to the next screen - mSecurityViewContainer.setInAnimation( - AnimationUtils.loadAnimation(mContext, R.anim.keyguard_security_animate_in)); - mSecurityViewContainer.setOutAnimation( - AnimationUtils.loadAnimation(mContext, R.anim.keyguard_security_animate_out)); + if (false) { + mSecurityViewContainer.setInAnimation( + AnimationUtils.loadAnimation(mContext, R.anim.keyguard_security_animate_in)); + mSecurityViewContainer.setOutAnimation( + AnimationUtils.loadAnimation(mContext, R.anim.keyguard_security_animate_out)); + } final int securityViewIdForMode = getSecurityViewIdForMode(securityMode); for (int i = 0; i < childCount; i++) { if (mSecurityViewContainer.getChildAt(i).getId() == securityViewIdForMode) { @@ -640,11 +642,10 @@ public class KeyguardHostView extends KeyguardViewBase { } } - if (securityMode == SecurityMode.None) { // Discard current runnable if we're switching back to the selector view setOnDismissRunnable(null); - } + } mCurrentSecuritySelection = securityMode; } @@ -809,7 +810,7 @@ public class KeyguardHostView extends KeyguardViewBase { }); } - mKeyguardStatusViewManager = ((KeyguardStatusView) + mKeyguardStatusViewManager = ((KeyguardStatusView) findViewById(R.id.keyguard_status_view_face_palm)).getManager(); }