diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java index 1a4dc41f77d..140a3fc469e 100644 --- a/src/com/android/settings/biometrics/face/FaceSettings.java +++ b/src/com/android/settings/biometrics/face/FaceSettings.java @@ -162,6 +162,11 @@ public class FaceSettings extends DashboardFragment { R.string.security_settings_face_profile_preference_title)); } + mLockscreenController = Utils.isMultipleBiometricsSupported(context) + ? use(BiometricLockscreenBypassPreferenceController.class) + : use(FaceSettingsLockscreenBypassPreferenceController.class); + mLockscreenController.setUserId(mUserId); + Preference keyguardPref = findPreference(FaceSettingsKeyguardPreferenceController.KEY); Preference appPref = findPreference(FaceSettingsAppPreferenceController.KEY); Preference attentionPref = findPreference(FaceSettingsAttentionPreferenceController.KEY); @@ -195,14 +200,6 @@ public class FaceSettings extends DashboardFragment { } } - @Override - public void onAttach(Context context) { - super.onAttach(context); - - mLockscreenController = use(FaceSettingsLockscreenBypassPreferenceController.class); - mLockscreenController.setUserId(mUserId); - } - @Override public void onResume() { super.onResume(); diff --git a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java index c6ef87f92c2..c0cb64ec6b1 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java @@ -56,13 +56,13 @@ public class FaceSettingsLockscreenBypassPreferenceController int defaultValue = mContext.getResources().getBoolean( com.android.internal.R.bool.config_faceAuthDismissesKeyguard) ? 1 : 0; return Settings.Secure.getIntForUser(mContext.getContentResolver(), - Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue, getUserId()) != 0; + Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue, getUserHandle()) != 0; } @Override public boolean setChecked(boolean isChecked) { - Settings.Secure.putInt(mContext.getContentResolver(), - Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, isChecked ? 1 : 0); + Settings.Secure.putIntForUser(mContext.getContentResolver(), + Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, isChecked ? 1 : 0, getUserHandle()); return true; } @@ -88,7 +88,7 @@ public class FaceSettingsLockscreenBypassPreferenceController if (Utils.isMultipleBiometricsSupported(mContext)) { return UNSUPPORTED_ON_DEVICE; } - if (mUserManager.isManagedProfile(UserHandle.myUserId())) { + if (mUserManager.isManagedProfile(getUserId())) { return UNSUPPORTED_ON_DEVICE; } @@ -99,4 +99,8 @@ public class FaceSettingsLockscreenBypassPreferenceController return UNSUPPORTED_ON_DEVICE; } } + + private int getUserHandle() { + return UserHandle.of(getUserId()).getIdentifier(); + } }