Store the PIN length to disk when Pin auto confirm feature is enabled

Bug: 267222046
Test: Manual test
Change-Id: I4f76e607ea7fb08d20a042e49c9669f8988aeff8
This commit is contained in:
Avinash Vadlamudi
2023-04-10 08:51:16 +00:00
committed by Bhavuk Jain
parent 222a89acc1
commit 7183e83b0b

View File

@@ -107,12 +107,21 @@ public class ScreenLockSettings extends DashboardFragment
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == AUTO_PIN_SETTING_ENABLING_REQUEST_CODE) { if (requestCode == AUTO_PIN_SETTING_ENABLING_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
mLockPatternUtils.setAutoPinConfirm(/* enabled= */ true, MY_USER_ID); onAutoPinConfirmSettingChange(/* newState= */ true);
} }
} else if (requestCode == AUTO_PIN_SETTING_DISABLING_REQUEST_CODE) { } else if (requestCode == AUTO_PIN_SETTING_DISABLING_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) { 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);
}
}
} }