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

Commit 5ace2018 authored by Vincent Wang's avatar Vincent Wang
Browse files

Determine if devices support screen off unlock from config

Bug: 389002332
Flag: android.hardware.biometrics.screen_off_unlock_udfps
Test: 1. Build pass
      2. Check screen off unlcok is enabled on usudfps & udfps devices
      3. Enable screen off unlock on usudfps devices by default
      4. Disable screen off unlock on udfps devices by default
Change-Id: I81c419f51a808a5e51d9bb92f19553cdf9e9c2f8
parent 48a229cb
Loading
Loading
Loading
Loading
+8 −13
Original line number Diff line number Diff line
@@ -623,15 +623,10 @@ public class FingerprintSettings extends SubSettings {
            return false;
        }

        private boolean isUltrasnoicUdfps() {
            mFingerprintManager = Utils.getFingerprintManagerOrNull(getActivity());
            if (mFingerprintManager != null) {
                mSensorProperties = mFingerprintManager.getSensorPropertiesInternal();
                for (FingerprintSensorPropertiesInternal prop : mSensorProperties) {
                    if (prop.isUltrasonicUdfps()) {
                        return true;
                    }
                }
        private boolean isScreenOffUnlcokSupported() {
            if (isUdfps()) {
                return getContext().getResources().getBoolean(
                        com.android.internal.R.bool.config_screen_off_udfps_enabled);
            }
            return false;
        }
@@ -678,7 +673,7 @@ public class FingerprintSettings extends SubSettings {
            // This needs to be after setting ids, otherwise
            // |mRequireScreenOnToAuthPreferenceController.isChecked| is always checking the primary
            // user instead of the user with |mUserId|.
            if (isSfps() || (screenOffUnlockUdfps() && isUltrasnoicUdfps())) {
            if (isSfps() || (screenOffUnlockUdfps() && isScreenOffUnlcokSupported())) {
                scrollToPreference(fpPrefKey);
                addFingerprintUnlockCategory();
            }
@@ -778,7 +773,7 @@ public class FingerprintSettings extends SubSettings {
                            restToUnlockPreference.getOnPreferenceChangeListener());
                }
                setupFingerprintUnlockCategoryPreferencesForScreenOnToAuth();
            } else if (screenOffUnlockUdfps() && isUltrasnoicUdfps()) {
            } else if (screenOffUnlockUdfps() && isScreenOffUnlcokSupported()) {
                setupFingerprintUnlockCategoryPreferencesForScreenOffUnlock();
            }
            updateFingerprintUnlockCategoryVisibility();
@@ -846,7 +841,7 @@ public class FingerprintSettings extends SubSettings {

        private void updatePreferencesAfterFingerprintRemoved() {
            updateAddPreference();
            if (isSfps() || (screenOffUnlockUdfps() && isUltrasnoicUdfps())) {
            if (isSfps() || (screenOffUnlockUdfps() && isScreenOffUnlcokSupported())) {
                updateFingerprintUnlockCategoryVisibility();
            }
            updatePreferences();
@@ -1119,7 +1114,7 @@ public class FingerprintSettings extends SubSettings {
                    }

                }
            } else if (screenOffUnlockUdfps() && isUltrasnoicUdfps()) {
            } else if (screenOffUnlockUdfps() && isScreenOffUnlcokSupported()) {
                for (AbstractPreferenceController controller : controllers) {
                    if (controller.getPreferenceKey() == KEY_FINGERPRINT_UNLOCK_CATEGORY) {
                        mFingerprintUnlockCategoryPreferenceController =
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ public class FingerprintSettingsScreenOffUnlockUdfpsPreferenceController
            return false;
        }
        final boolean defEnabled = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_screen_off_udfps_enabled);
                com.android.internal.R.bool.config_screen_off_udfps_default_on);
        final int value = Settings.Secure.getIntForUser(
                mContext.getContentResolver(),
                Settings.Secure.SCREEN_OFF_UNLOCK_UDFPS_ENABLED,