Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8695b8e authored by Joshua McCloskey's avatar Joshua McCloskey Committed by Joshua Mccloskey
Browse files

Added performant auth feature

Test: Manually verified in settings that the performant auth
feature(fingerprint) is disabled by default
Bug: 261216422
Bug: 265031172

Change-Id: I6422b12f801d038fa514758eca34efcbfdeef27a
parent 988e1712
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1287,9 +1287,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] -->
+13 −8
Original line number Diff line number Diff line
@@ -51,21 +51,26 @@ public class FingerprintSettingsRequireScreenOnToAuthPreferenceController
        } else if (getRestrictingAdmin() != null) {
            return false;
        }
        int defaultValue = mContext.getResources().getBoolean(
        int toReturn = Settings.Secure.getIntForUser(
                mContext.getContentResolver(),
                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 Settings.Secure.getIntForUser(
                mContext.getContentResolver(),
                Settings.Secure.SFPS_REQUIRE_SCREEN_ON_TO_AUTH_ENABLED,
                defaultValue,
                getUserHandle()) != 0;
        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;
+2 −2
Original line number Diff line number Diff line
@@ -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);
    }