summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-10-24 22:47:17 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-10-24 22:47:18 -0700
commitb02771eff35cccf03202e4b8e27a44681a5f7570 (patch)
tree2f972aecc846de7a23a42f9122a3fbfc8fedba98 /src
parentb8a9782221c27646ade69141e09a4faa3473422e (diff)
parentc666c65fab5e5db7ed0d1e5c53656e81969ea1f5 (diff)
downloadpackages_apps_settings-b02771eff35cccf03202e4b8e27a44681a5f7570.zip
packages_apps_settings-b02771eff35cccf03202e4b8e27a44681a5f7570.tar.gz
packages_apps_settings-b02771eff35cccf03202e4b8e27a44681a5f7570.tar.bz2
Merge "Reduce jank in security lock selection by finishing on return" into jb-mr1-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/ChooseLockGeneric.java24
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