From fbfba7a078debf050ca6e6d3d74fa1c9ab23257f Mon Sep 17 00:00:00 2001 From: Rubin Xu Date: Mon, 30 Mar 2020 12:33:57 +0100 Subject: [PATCH] Set face unlock toggle to unchecked when disabled by admin Bug: 135747161 Test: make RunSettingsRoboTests ROBOTEST_FILTER=FaceSettingsLockscreenBypassPreferenceControllerTest Change-Id: I1e3d105184a14bfece972abb096eac44bd186273 --- .../FaceSettingsLockscreenBypassPreferenceController.java | 5 +++++ ...FaceSettingsLockscreenBypassPreferenceControllerTest.java | 1 + 2 files changed, 6 insertions(+) diff --git a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java index 50c45ba86e4..5c46a3d9cc9 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java @@ -47,6 +47,11 @@ public class FaceSettingsLockscreenBypassPreferenceController @Override public boolean isChecked() { + if (!FaceSettings.isAvailable(mContext)) { + return false; + } else if (getRestrictingAdmin() != null) { + return false; + } int defaultValue = mContext.getResources().getBoolean( com.android.internal.R.bool.config_faceAuthDismissesKeyguard) ? 1 : 0; return Settings.Secure.getIntForUser(mContext.getContentResolver(), diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java index 5fc3f2a1645..df4678e9e1a 100644 --- a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java @@ -93,6 +93,7 @@ public class FaceSettingsLockscreenBypassPreferenceControllerTest { boolean state = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue ? 1 : 0) != 0; + assertThat(mController.isChecked()).isFalse(); assertThat(mController.onPreferenceChange(mPreference, !state)).isTrue(); boolean newState = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, 0) != 0;