diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java index 5126727bbe9..a694603fd95 100644 --- a/src/com/android/settings/password/ChooseLockGeneric.java +++ b/src/com/android/settings/password/ChooseLockGeneric.java @@ -179,6 +179,8 @@ public class ChooseLockGeneric extends SettingsActivity { .getBooleanExtra(CONFIRM_CREDENTIALS, true); if (getActivity() instanceof ChooseLockGeneric.InternalActivity) { mPasswordConfirmed = !confirmCredentials; + mUserPassword = getActivity().getIntent().getStringExtra( + ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD); } mHideDrawer = getActivity().getIntent().getBooleanExtra(EXTRA_HIDE_DRAWER, false); @@ -198,6 +200,10 @@ public class ChooseLockGeneric extends SettingsActivity { mEncryptionRequestQuality = savedInstanceState.getInt(ENCRYPT_REQUESTED_QUALITY); mEncryptionRequestDisabled = savedInstanceState.getBoolean( ENCRYPT_REQUESTED_DISABLED); + if (mUserPassword == null) { + mUserPassword = savedInstanceState.getString( + ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD); + } } // a) If this is started from other user, use that user id. @@ -268,6 +274,10 @@ public class ChooseLockGeneric extends SettingsActivity { // Forward the target user id to ChooseLockGeneric. chooseLockGenericIntent.putExtra(Intent.EXTRA_USER_ID, mUserId); chooseLockGenericIntent.putExtra(CONFIRM_CREDENTIALS, !mPasswordConfirmed); + if (mUserPassword != null) { + chooseLockGenericIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, + mUserPassword); + } startActivityForResult(chooseLockGenericIntent, SKIP_FINGERPRINT_REQUEST); return true; } else { @@ -393,6 +403,9 @@ public class ChooseLockGeneric extends SettingsActivity { outState.putBoolean(WAITING_FOR_CONFIRMATION, mWaitingForConfirmation); outState.putInt(ENCRYPT_REQUESTED_QUALITY, mEncryptionRequestQuality); outState.putBoolean(ENCRYPT_REQUESTED_DISABLED, mEncryptionRequestDisabled); + if (mUserPassword != null) { + outState.putString(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, mUserPassword); + } } private void updatePreferencesOrFinish(boolean isRecreatingActivity) { @@ -580,7 +593,8 @@ public class ChooseLockGeneric extends SettingsActivity { .setUserId(mUserId); if (mHasChallenge) { builder.setChallenge(mChallenge); - } else { + } + if (mUserPassword != null) { builder.setPassword(mUserPassword); } return builder.build(); @@ -593,7 +607,8 @@ public class ChooseLockGeneric extends SettingsActivity { .setUserId(mUserId); if (mHasChallenge) { builder.setChallenge(mChallenge); - } else { + } + if (mUserPassword != null) { builder.setPattern(mUserPassword); } return builder.build(); diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java index d89095691aa..9f5192d0441 100644 --- a/src/com/android/settings/password/ChooseLockPassword.java +++ b/src/com/android/settings/password/ChooseLockPassword.java @@ -105,6 +105,7 @@ public class ChooseLockPassword extends SettingsActivity { mIntent = new Intent(context, ChooseLockPassword.class); mIntent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false); mIntent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, false); + mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false); } public IntentBuilder setPasswordQuality(int quality) { @@ -130,7 +131,6 @@ public class ChooseLockPassword extends SettingsActivity { } public IntentBuilder setPassword(String password) { - mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false); mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, password); return this; } diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java index 9d0072961d6..7df8974faa3 100644 --- a/src/com/android/settings/password/ChooseLockPattern.java +++ b/src/com/android/settings/password/ChooseLockPattern.java @@ -95,6 +95,7 @@ public class ChooseLockPattern extends SettingsActivity { mIntent = new Intent(context, ChooseLockPattern.class); mIntent.putExtra(EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, false); mIntent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false); + mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false); } public IntentBuilder setUserId(int userId) { @@ -109,7 +110,6 @@ public class ChooseLockPattern extends SettingsActivity { } public IntentBuilder setPattern(String pattern) { - mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false); mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, pattern); return this; }