Added performant auth feature am: b8695b8e76

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20937285

Change-Id: I1214d53edf57e1b45efd3d81c7e0305d83e94459
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Joshua McCloskey
2023-01-11 21:38:32 +00:00
committed by Automerger Merge Worker
3 changed files with 17 additions and 12 deletions

View File

@@ -1291,9 +1291,9 @@
<!-- Message shown in fingerprint enrollment dialog once enrollment is completed (default) [CHAR LIMIT=NONE] -->
<string name="security_settings_fingerprint_enroll_finish_v2_message" product="default">Now you can use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps or approve a purchase</string>
<!-- Title for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
<string name="security_settings_require_screen_on_to_auth_title">Unlock only when screen is on</string>
<string name="security_settings_require_screen_on_to_auth_title">Touch to unlock anytime</string>
<!-- Description for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
<string name="security_settings_require_screen_on_to_auth_description">The screen must be on before you can unlock with your fingerprint. This makes accidental unlocking less likely.</string>
<string name="security_settings_require_screen_on_to_auth_description">Touch the sensor to unlock, even when the screen is off. This makes accidental unlocking more likely.</string>
<!-- Description for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
<string name="security_settings_require_screen_on_to_auth_keywords">Screen, Unlock</string>
<!-- Button text to skip enrollment of fingerprint [CHAR LIMIT=40] -->

View File

@@ -51,21 +51,26 @@ public class FingerprintSettingsRequireScreenOnToAuthPreferenceController
} else if (getRestrictingAdmin() != null) {
return false;
}
int defaultValue = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_requireScreenOnToAuthEnabled) ? 1 : 0;
return Settings.Secure.getIntForUser(
int toReturn = Settings.Secure.getIntForUser(
mContext.getContentResolver(),
Settings.Secure.SFPS_REQUIRE_SCREEN_ON_TO_AUTH_ENABLED,
defaultValue,
getUserHandle()) != 0;
Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED,
-1,
getUserHandle());
if (toReturn == -1) {
toReturn = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_requireScreenOnToAuthEnabled) ? 1 : 0;
Settings.Secure.putIntForUser(mContext.getContentResolver(),
Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED, toReturn, getUserHandle());
}
return toReturn == 1;
}
@Override
public boolean setChecked(boolean isChecked) {
Settings.Secure.putIntForUser(
mContext.getContentResolver(),
Settings.Secure.SFPS_REQUIRE_SCREEN_ON_TO_AUTH_ENABLED,
Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED,
isChecked ? 1 : 0,
getUserHandle());
return true;

View File

@@ -81,12 +81,12 @@ public class FingerprintSettingsRequireScreenOnToAuthPreferenceControllerTest {
@Test
public void onPreferenceChange_settingIsUpdated() {
boolean state = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.SFPS_REQUIRE_SCREEN_ON_TO_AUTH_ENABLED, 1) != 0;
Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED, 1) != 0;
assertThat(mController.isChecked()).isFalse();
assertThat(mController.onPreferenceChange(mPreference, !state)).isTrue();
boolean newState = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.SFPS_REQUIRE_SCREEN_ON_TO_AUTH_ENABLED, 1) != 0;
Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED, 1) != 0;
assertThat(newState).isEqualTo(!state);
}