Loading src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceController.java +19 −0 Original line number Diff line number Diff line Loading @@ -15,12 +15,17 @@ */ package com.android.settings.biometrics.combination; import android.app.admin.DevicePolicyManager; import android.content.Context; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; import com.android.settings.Utils; import com.android.settings.biometrics.face.FaceStatusPreferenceController; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; /** * Preference controller for face settings within the biometrics settings page, that controls the Loading @@ -37,6 +42,20 @@ public class BiometricFaceStatusPreferenceController extends FaceStatusPreferenc super(context, key, lifecycle); } @Override public void updateState(Preference preference) { super.updateState(preference); final boolean isFaceEnrolled = mFaceStatusUtils.hasEnrolled(); final RestrictedLockUtils.EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( mContext, DevicePolicyManager.KEYGUARD_DISABLE_FACE, getUserId()); if (admin != null && !isFaceEnrolled) { ((RestrictedPreference) preference).setDisabledByAdmin(admin); } else { preference.setEnabled(true); } } @Override protected boolean isDeviceSupported() { return Utils.isMultipleBiometricsSupported(mContext) && isHardwareSupported(); Loading src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceController.java +19 −0 Original line number Diff line number Diff line Loading @@ -15,12 +15,17 @@ */ package com.android.settings.biometrics.combination; import android.app.admin.DevicePolicyManager; import android.content.Context; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; import com.android.settings.Utils; import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; /** * Preference controller for fingerprint settings within the biometrics settings page of work Loading @@ -38,6 +43,20 @@ public class BiometricFingerprintStatusPreferenceController extends super(context, key, lifecycle); } @Override public void updateState(Preference preference) { super.updateState(preference); final boolean isFingerprintEnrolled = mFingerprintStatusUtils.hasEnrolled(); final RestrictedLockUtils.EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( mContext, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, getUserId()); if (admin != null && !isFingerprintEnrolled) { ((RestrictedPreference) preference).setDisabledByAdmin(admin); } else { preference.setEnabled(true); } } @Override protected boolean isDeviceSupported() { return Utils.isMultipleBiometricsSupported(mContext) && isHardwareSupported(); Loading src/com/android/settings/biometrics/face/FaceSettings.java +14 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.Log; import android.widget.Button; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import com.android.settings.R; import com.android.settings.SettingsActivity; Loading @@ -46,6 +47,7 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.LayoutPreference; Loading @@ -68,6 +70,8 @@ public class FaceSettings extends DashboardFragment { "security_settings_face_delete_faces_container"; private static final String PREF_KEY_ENROLL_FACE_UNLOCK = "security_settings_face_enroll_faces_container"; public static final String SECURITY_SETTINGS_FACE_MANAGE_CATEGORY = "security_settings_face_manage_category"; private UserManager mUserManager; private FaceManager mFaceManager; Loading Loading @@ -175,6 +179,8 @@ public class FaceSettings extends DashboardFragment { : use(FaceSettingsLockscreenBypassPreferenceController.class); mLockscreenController.setUserId(mUserId); final PreferenceCategory managePref = findPreference(SECURITY_SETTINGS_FACE_MANAGE_CATEGORY); Preference keyguardPref = findPreference(FaceSettingsKeyguardPreferenceController.KEY); Preference appPref = findPreference(FaceSettingsAppPreferenceController.KEY); Preference attentionPref = findPreference(FaceSettingsAttentionPreferenceController.KEY); Loading @@ -184,6 +190,14 @@ public class FaceSettings extends DashboardFragment { mTogglePreferences = new ArrayList<>( Arrays.asList(keyguardPref, appPref, attentionPref, confirmPref, bypassPref)); if (RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( getContext(), DevicePolicyManager.KEYGUARD_DISABLE_FACE, mUserId) != null) { managePref.setTitle(getString( com.android.settingslib.widget.restricted.R.string.disabled_by_admin)); } else { managePref.setTitle(R.string.security_settings_face_settings_preferences_category); } mRemoveButton = findPreference(FaceSettingsRemoveButtonPreferenceController.KEY); mEnrollButton = findPreference(FaceSettingsEnrollButtonPreferenceController.KEY); Loading src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java +6 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.hardware.face.FaceManager.GetFeatureCallback; import android.hardware.face.FaceManager.SetFeatureCallback; import android.provider.Settings; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.TwoStatePreference; Loading Loading @@ -66,8 +67,12 @@ public class FaceSettingsAttentionPreferenceController extends FaceSettingsPrefe requireAttentionEnabled = featureState[i]; } } mPreference.setEnabled(success); mPreference.setChecked(requireAttentionEnabled); if (getRestrictingAdmin() != null) { mPreference.setEnabled(false); } else { mPreference.setEnabled(success); } } }; Loading src/com/android/settings/biometrics/face/FaceSettingsConfirmPreferenceController.java +2 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,8 @@ public class FaceSettingsConfirmPreferenceController extends FaceSettingsPrefere preference.setEnabled(false); } else if (!mFaceManager.hasEnrolledTemplates(getUserId())) { preference.setEnabled(false); } else if (getRestrictingAdmin() != null) { preference.setEnabled(false); } else { preference.setEnabled(true); } Loading Loading
src/com/android/settings/biometrics/combination/BiometricFaceStatusPreferenceController.java +19 −0 Original line number Diff line number Diff line Loading @@ -15,12 +15,17 @@ */ package com.android.settings.biometrics.combination; import android.app.admin.DevicePolicyManager; import android.content.Context; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; import com.android.settings.Utils; import com.android.settings.biometrics.face.FaceStatusPreferenceController; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; /** * Preference controller for face settings within the biometrics settings page, that controls the Loading @@ -37,6 +42,20 @@ public class BiometricFaceStatusPreferenceController extends FaceStatusPreferenc super(context, key, lifecycle); } @Override public void updateState(Preference preference) { super.updateState(preference); final boolean isFaceEnrolled = mFaceStatusUtils.hasEnrolled(); final RestrictedLockUtils.EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( mContext, DevicePolicyManager.KEYGUARD_DISABLE_FACE, getUserId()); if (admin != null && !isFaceEnrolled) { ((RestrictedPreference) preference).setDisabledByAdmin(admin); } else { preference.setEnabled(true); } } @Override protected boolean isDeviceSupported() { return Utils.isMultipleBiometricsSupported(mContext) && isHardwareSupported(); Loading
src/com/android/settings/biometrics/combination/BiometricFingerprintStatusPreferenceController.java +19 −0 Original line number Diff line number Diff line Loading @@ -15,12 +15,17 @@ */ package com.android.settings.biometrics.combination; import android.app.admin.DevicePolicyManager; import android.content.Context; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; import com.android.settings.Utils; import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.RestrictedPreference; /** * Preference controller for fingerprint settings within the biometrics settings page of work Loading @@ -38,6 +43,20 @@ public class BiometricFingerprintStatusPreferenceController extends super(context, key, lifecycle); } @Override public void updateState(Preference preference) { super.updateState(preference); final boolean isFingerprintEnrolled = mFingerprintStatusUtils.hasEnrolled(); final RestrictedLockUtils.EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( mContext, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, getUserId()); if (admin != null && !isFingerprintEnrolled) { ((RestrictedPreference) preference).setDisabledByAdmin(admin); } else { preference.setEnabled(true); } } @Override protected boolean isDeviceSupported() { return Utils.isMultipleBiometricsSupported(mContext) && isHardwareSupported(); Loading
src/com/android/settings/biometrics/face/FaceSettings.java +14 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.Log; import android.widget.Button; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import com.android.settings.R; import com.android.settings.SettingsActivity; Loading @@ -46,6 +47,7 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.RestrictedLockUtilsInternal; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.LayoutPreference; Loading @@ -68,6 +70,8 @@ public class FaceSettings extends DashboardFragment { "security_settings_face_delete_faces_container"; private static final String PREF_KEY_ENROLL_FACE_UNLOCK = "security_settings_face_enroll_faces_container"; public static final String SECURITY_SETTINGS_FACE_MANAGE_CATEGORY = "security_settings_face_manage_category"; private UserManager mUserManager; private FaceManager mFaceManager; Loading Loading @@ -175,6 +179,8 @@ public class FaceSettings extends DashboardFragment { : use(FaceSettingsLockscreenBypassPreferenceController.class); mLockscreenController.setUserId(mUserId); final PreferenceCategory managePref = findPreference(SECURITY_SETTINGS_FACE_MANAGE_CATEGORY); Preference keyguardPref = findPreference(FaceSettingsKeyguardPreferenceController.KEY); Preference appPref = findPreference(FaceSettingsAppPreferenceController.KEY); Preference attentionPref = findPreference(FaceSettingsAttentionPreferenceController.KEY); Loading @@ -184,6 +190,14 @@ public class FaceSettings extends DashboardFragment { mTogglePreferences = new ArrayList<>( Arrays.asList(keyguardPref, appPref, attentionPref, confirmPref, bypassPref)); if (RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( getContext(), DevicePolicyManager.KEYGUARD_DISABLE_FACE, mUserId) != null) { managePref.setTitle(getString( com.android.settingslib.widget.restricted.R.string.disabled_by_admin)); } else { managePref.setTitle(R.string.security_settings_face_settings_preferences_category); } mRemoveButton = findPreference(FaceSettingsRemoveButtonPreferenceController.KEY); mEnrollButton = findPreference(FaceSettingsEnrollButtonPreferenceController.KEY); Loading
src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java +6 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.hardware.face.FaceManager.GetFeatureCallback; import android.hardware.face.FaceManager.SetFeatureCallback; import android.provider.Settings; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.TwoStatePreference; Loading Loading @@ -66,8 +67,12 @@ public class FaceSettingsAttentionPreferenceController extends FaceSettingsPrefe requireAttentionEnabled = featureState[i]; } } mPreference.setEnabled(success); mPreference.setChecked(requireAttentionEnabled); if (getRestrictingAdmin() != null) { mPreference.setEnabled(false); } else { mPreference.setEnabled(success); } } }; Loading
src/com/android/settings/biometrics/face/FaceSettingsConfirmPreferenceController.java +2 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,8 @@ public class FaceSettingsConfirmPreferenceController extends FaceSettingsPrefere preference.setEnabled(false); } else if (!mFaceManager.hasEnrolledTemplates(getUserId())) { preference.setEnabled(false); } else if (getRestrictingAdmin() != null) { preference.setEnabled(false); } else { preference.setEnabled(true); } Loading