OSDN Git Service

Delete the temp gallery on return from fallback
authorSteven Ross <stross@google.com>
Fri, 30 Sep 2011 19:50:34 +0000 (15:50 -0400)
committerSteven Ross <stross@google.com>
Fri, 30 Sep 2011 19:51:57 +0000 (15:51 -0400)
Change-Id: Id501302aa8c5606006f3e403e51bb01981bc173e

src/com/android/settings/ChooseLockGeneric.java
src/com/android/settings/SecuritySettings.java

index 2fbd10d..9301a86 100644 (file)
@@ -54,6 +54,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
         private static final String KEY_UNLOCK_SET_PASSWORD = "unlock_set_password";
         private static final String KEY_UNLOCK_SET_PATTERN = "unlock_set_pattern";
         private static final int CONFIRM_EXISTING_REQUEST = 100;
+        private static final int FALLBACK_REQUEST = 101;
         private static final String PASSWORD_CONFIRMED = "password_confirmed";
         private static final String CONFIRM_CREDENTIALS = "confirm_credentials";
         public static final String MINIMUM_QUALITY_KEY = "minimum_quality";
@@ -142,6 +143,10 @@ public class ChooseLockGeneric extends PreferenceActivity {
             if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == Activity.RESULT_OK) {
                 mPasswordConfirmed = true;
                 updatePreferencesOrFinish();
+            } else if(requestCode == FALLBACK_REQUEST) {
+                mChooseLockSettingsHelper.utils().deleteTempGallery();
+                getActivity().setResult(resultCode);
+                finish();
             } else {
                 getActivity().setResult(Activity.RESULT_CANCELED);
                 finish();
@@ -309,7 +314,6 @@ public class ChooseLockGeneric extends PreferenceActivity {
 
             quality = upgradeQuality(quality);
 
-            LockPatternUtils.setLastAttemptWasBiometric(false);
             if (quality >= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC) {
                 int minLength = mDPM.getPasswordMinimumLength(null);
                 if (minLength < MIN_PASSWORD_LENGTH) {
@@ -321,24 +325,35 @@ public class ChooseLockGeneric extends PreferenceActivity {
                 intent.putExtra(ChooseLockPassword.PASSWORD_MIN_KEY, minLength);
                 intent.putExtra(ChooseLockPassword.PASSWORD_MAX_KEY, maxLength);
                 intent.putExtra(CONFIRM_CREDENTIALS, false);
-                intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
                 intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK,
                         isFallback);
-                startActivity(intent);
+                if(isFallback) {
+                    startActivityForResult(intent, FALLBACK_REQUEST);
+                    return;
+                }
+                else {
+                    intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+                    startActivity(intent);
+                }
             } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) {
                 boolean showTutorial = !mChooseLockSettingsHelper.utils().isPatternEverChosen();
                 Intent intent = new Intent();
                 intent.setClass(getActivity(), showTutorial
                         ? ChooseLockPatternTutorial.class
                         : ChooseLockPattern.class);
-                intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
                 intent.putExtra("key_lock_method", "pattern");
                 intent.putExtra(CONFIRM_CREDENTIALS, false);
                 intent.putExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK,
                         isFallback);
-                startActivity(intent);
+                if(isFallback) {
+                    startActivityForResult(intent, FALLBACK_REQUEST);
+                    return;
+                }
+                else {
+                    intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
+                    startActivity(intent);
+                }
             } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK) {
-                LockPatternUtils.setLastAttemptWasBiometric(true);
                 Intent intent = getBiometricSensorIntent(quality);
                 startActivity(intent);
             } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
index b1f6810..5b8035d 100644 (file)
@@ -349,7 +349,6 @@ public class SecuritySettings extends SettingsPreferenceFragment
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        mChooseLockSettingsHelper.utils().deleteTempGallery();
         createPreferenceHierarchy();
     }