diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java index a5e5f579c02..e0f402bdc02 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java @@ -283,7 +283,9 @@ public class FingerprintSettings extends SubSettings { case MSG_REFRESH_FINGERPRINT_TEMPLATES: removeFingerprintPreference(msg.arg1); updateAddPreference(); - updateFingerprintUnlockCategoryVisibility(); + if (isSfps()) { + updateFingerprintUnlockCategoryVisibility(); + } updatePreferences(); break; case MSG_FINGER_AUTH_SUCCESS: @@ -494,9 +496,13 @@ public class FingerprintSettings extends SubSettings { } private boolean isSfps() { - for (FingerprintSensorPropertiesInternal prop : mSensorProperties) { - if (prop.isAnySidefpsType()) { - return true; + mFingerprintManager = Utils.getFingerprintManagerOrNull(getActivity()); + if (mFingerprintManager != null) { + mSensorProperties = mFingerprintManager.getSensorPropertiesInternal(); + for (FingerprintSensorPropertiesInternal prop : mSensorProperties) { + if (prop.isAnySidefpsType()) { + return true; + } } } return false; @@ -838,18 +844,20 @@ public class FingerprintSettings extends SubSettings { private List buildPreferenceControllers(Context context) { final List controllers = new ArrayList<>(); - mFingerprintUnlockCategoryPreferenceController = + if (isSfps()) { + mFingerprintUnlockCategoryPreferenceController = new FingerprintUnlockCategoryController( - context, - KEY_FINGERPRINT_UNLOCK_CATEGORY + context, + KEY_FINGERPRINT_UNLOCK_CATEGORY ); - mRequireScreenOnToAuthPreferenceController = - new FingerprintSettingsRequireScreenOnToAuthPreferenceController( - context, - KEY_REQUIRE_SCREEN_ON_TO_AUTH - ); - controllers.add(mFingerprintUnlockCategoryPreferenceController); - controllers.add(mRequireScreenOnToAuthPreferenceController); + mRequireScreenOnToAuthPreferenceController = + new FingerprintSettingsRequireScreenOnToAuthPreferenceController( + context, + KEY_REQUIRE_SCREEN_ON_TO_AUTH + ); + controllers.add(mFingerprintUnlockCategoryPreferenceController); + controllers.add(mRequireScreenOnToAuthPreferenceController); + } return controllers; }