Merge "Store the PIN length to disk when Pin auto confirm feature is enabled" into udc-dev
diff --git a/src/com/android/settings/security/screenlock/ScreenLockSettings.java b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
index b2ee76c..1c66b71 100644
--- a/src/com/android/settings/security/screenlock/ScreenLockSettings.java
+++ b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
@@ -107,12 +107,21 @@
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == AUTO_PIN_SETTING_ENABLING_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
- mLockPatternUtils.setAutoPinConfirm(/* enabled= */ true, MY_USER_ID);
+ onAutoPinConfirmSettingChange(/* newState= */ true);
}
} else if (requestCode == AUTO_PIN_SETTING_DISABLING_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
- mLockPatternUtils.setAutoPinConfirm(/* enabled= */ false, MY_USER_ID);
+ onAutoPinConfirmSettingChange(/* newState= */ false);
}
}
}
+
+ private void onAutoPinConfirmSettingChange(boolean newState) {
+ // update the auto pin confirm setting.
+ mLockPatternUtils.setAutoPinConfirm(newState, MY_USER_ID);
+ // store the pin length info to disk; If it fails, reset the setting to prev state.
+ if (!mLockPatternUtils.refreshStoredPinLength(MY_USER_ID)) {
+ mLockPatternUtils.setAutoPinConfirm(!newState, MY_USER_ID);
+ }
+ }
}