diff options
author | Pavel Grafov <pgrafov@google.com> | 2017-10-17 17:35:30 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-10-17 17:35:30 +0000 |
commit | 24ff765731b2fda6c8ea7ea3f2648849402f4e4d (patch) | |
tree | 01a06470b64df7c1a884a350a3131a793eb61a59 | |
parent | 9b117ef69046061c9e03a37b40c888165e2acf8e (diff) | |
parent | 51f15da8e6ed8c6c982be4f62fb32523f7b03334 (diff) | |
download | packages_apps_Settings-24ff765731b2fda6c8ea7ea3f2648849402f4e4d.tar.gz packages_apps_Settings-24ff765731b2fda6c8ea7ea3f2648849402f4e4d.tar.bz2 packages_apps_Settings-24ff765731b2fda6c8ea7ea3f2648849402f4e4d.zip |
Preserve old password when handling SET_NEW_PASSWORD. am: 40e187b364
am: 51f15da8e6
Change-Id: I9b46697d14579ab8aedfffcdfd14ddc02cad5cf0
3 files changed, 19 insertions, 4 deletions
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java index 5126727bbe..a694603fd9 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 d89095691a..9f5192d044 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 e4698ba267..7cd9db8dba 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; } |