Merge "Use correct user ID for face bypass pref controller" into sc-dev
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 1a4dc41..140a3fc 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -162,6 +162,11 @@
                     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);
@@ -196,14 +201,6 @@
     }
 
     @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 c6ef87f9..c0cb64e 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java
@@ -56,13 +56,13 @@
         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 @@
         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 @@
             return UNSUPPORTED_ON_DEVICE;
         }
     }
+
+    private int getUserHandle() {
+        return UserHandle.of(getUserId()).getIdentifier();
+    }
 }