Set face unlock toggle to unchecked when disabled by admin

Bug: 135747161
Test: make RunSettingsRoboTests
    ROBOTEST_FILTER=FaceSettingsLockscreenBypassPreferenceControllerTest
Change-Id: I1e3d105184a14bfece972abb096eac44bd186273
This commit is contained in:
Rubin Xu
2020-03-30 12:33:57 +01:00
parent a49f4501eb
commit fbfba7a078
2 changed files with 6 additions and 0 deletions

View File

@@ -47,6 +47,11 @@ public class FaceSettingsLockscreenBypassPreferenceController
@Override @Override
public boolean isChecked() { public boolean isChecked() {
if (!FaceSettings.isAvailable(mContext)) {
return false;
} else if (getRestrictingAdmin() != null) {
return false;
}
int defaultValue = mContext.getResources().getBoolean( int defaultValue = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_faceAuthDismissesKeyguard) ? 1 : 0; com.android.internal.R.bool.config_faceAuthDismissesKeyguard) ? 1 : 0;
return Settings.Secure.getIntForUser(mContext.getContentResolver(), return Settings.Secure.getIntForUser(mContext.getContentResolver(),

View File

@@ -93,6 +93,7 @@ public class FaceSettingsLockscreenBypassPreferenceControllerTest {
boolean state = Settings.Secure.getInt(mContext.getContentResolver(), boolean state = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue ? 1 : 0) != 0; Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue ? 1 : 0) != 0;
assertThat(mController.isChecked()).isFalse();
assertThat(mController.onPreferenceChange(mPreference, !state)).isTrue(); assertThat(mController.onPreferenceChange(mPreference, !state)).isTrue();
boolean newState = Settings.Secure.getInt(mContext.getContentResolver(), boolean newState = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, 0) != 0; Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, 0) != 0;