diff options
author | Amith Yamasani <yamasani@google.com> | 2012-10-24 22:48:41 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-24 22:48:41 -0700 |
commit | 67920f0639681cb5e5bc193688e4fc1c7419c872 (patch) | |
tree | ae91b504de513010d78c576cee532c8bb2dae3d8 /src | |
parent | d4362b7d356f1f33e1752be68c149b1cd95d8463 (diff) | |
parent | b02771eff35cccf03202e4b8e27a44681a5f7570 (diff) | |
download | packages_apps_settings-67920f0639681cb5e5bc193688e4fc1c7419c872.zip packages_apps_settings-67920f0639681cb5e5bc193688e4fc1c7419c872.tar.gz packages_apps_settings-67920f0639681cb5e5bc193688e4fc1c7419c872.tar.bz2 |
am b02771ef: Merge "Reduce jank in security lock selection by finishing on return" into jb-mr1-dev
* commit 'b02771eff35cccf03202e4b8e27a44681a5f7570':
Reduce jank in security lock selection by finishing on return
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/ChooseLockGeneric.java | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index 0f9fcee..a899549 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -59,6 +59,7 @@ public class ChooseLockGeneric extends PreferenceActivity { private static final String PASSWORD_CONFIRMED = "password_confirmed"; private static final String CONFIRM_CREDENTIALS = "confirm_credentials"; private static final String WAITING_FOR_CONFIRMATION = "waiting_for_confirmation"; + private static final String FINISH_PENDING = "finish_pending"; public static final String MINIMUM_QUALITY_KEY = "minimum_quality"; private static final boolean ALWAY_SHOW_TUTORIAL = true; @@ -68,6 +69,7 @@ public class ChooseLockGeneric extends PreferenceActivity { private KeyStore mKeyStore; private boolean mPasswordConfirmed = false; private boolean mWaitingForConfirmation = false; + private boolean mFinishPending = false; @Override public void onCreate(Bundle savedInstanceState) { @@ -85,6 +87,7 @@ public class ChooseLockGeneric extends PreferenceActivity { if (savedInstanceState != null) { mPasswordConfirmed = savedInstanceState.getBoolean(PASSWORD_CONFIRMED); mWaitingForConfirmation = savedInstanceState.getBoolean(WAITING_FOR_CONFIRMATION); + mFinishPending = savedInstanceState.getBoolean(FINISH_PENDING); } if (mPasswordConfirmed) { @@ -101,7 +104,14 @@ public class ChooseLockGeneric extends PreferenceActivity { } } - + @Override + public void onResume() { + super.onResume(); + if (mFinishPending) { + mFinishPending = false; + finish(); + } + } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, @@ -170,6 +180,7 @@ public class ChooseLockGeneric extends PreferenceActivity { // Saved so we don't force user to re-enter their password if configuration changes outState.putBoolean(PASSWORD_CONFIRMED, mPasswordConfirmed); outState.putBoolean(WAITING_FOR_CONFIRMATION, mWaitingForConfirmation); + outState.putBoolean(FINISH_PENDING, mFinishPending); } private void updatePreferencesOrFinish() { @@ -352,10 +363,11 @@ public class ChooseLockGeneric extends PreferenceActivity { intent.putExtra(CONFIRM_CREDENTIALS, false); intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, isFallback); - if(isFallback) { + if (isFallback) { startActivityForResult(intent, FALLBACK_REQUEST); return; } else { + mFinishPending = true; intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(intent); } @@ -369,22 +381,26 @@ public class ChooseLockGeneric extends PreferenceActivity { intent.putExtra(CONFIRM_CREDENTIALS, false); intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, isFallback); - if(isFallback) { + if (isFallback) { startActivityForResult(intent, FALLBACK_REQUEST); return; } else { + mFinishPending = true; intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(intent); } } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK) { Intent intent = getBiometricSensorIntent(); + mFinishPending = true; startActivity(intent); } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) { mChooseLockSettingsHelper.utils().clearLock(false); mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled); getActivity().setResult(Activity.RESULT_OK); + finish(); + } else { + finish(); } - finish(); } @Override |