OSDN Git Service

Fix "Skip lock screen" not working for secondary user
authorIlya Matyukhin <ilyamaty@google.com>
Tue, 26 Nov 2019 01:01:22 +0000 (17:01 -0800)
committerIlya Matyukhin <ilyamaty@google.com>
Thu, 5 Dec 2019 04:11:49 +0000 (04:11 +0000)
Bug: 140878309
Test: the option is not grayed out for secondary user.
Change-Id: I2413aa3c634e89a90d104e9ad60df15e49c75ed2
(cherry picked from commit e17caeea3f633d60f1f8e0e2f5b8857c62f3e320)

src/com/android/settings/biometrics/face/FaceSettings.java
src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java

index 902d9a1..9c42467 100644 (file)
@@ -142,6 +142,8 @@ public class FaceSettings extends DashboardFragment {
                 ((FaceSettingsPreferenceController) controller).setUserId(mUserId);
             } else if (controller instanceof FaceSettingsEnrollButtonPreferenceController) {
                 ((FaceSettingsEnrollButtonPreferenceController) controller).setUserId(mUserId);
+            } else if (controller instanceof FaceSettingsLockscreenBypassPreferenceController) {
+                ((FaceSettingsLockscreenBypassPreferenceController) controller).setUserId(mUserId);
             }
         }
         mRemoveController.setUserId(mUserId);
@@ -149,6 +151,7 @@ public class FaceSettings extends DashboardFragment {
         // Don't show keyguard controller for work profile settings.
         if (mUserManager.isManagedProfile(mUserId)) {
             removePreference(FaceSettingsKeyguardPreferenceController.KEY);
+            removePreference(FaceSettingsLockscreenBypassPreferenceController.KEY);
         }
 
         if (savedInstanceState != null) {
@@ -260,6 +263,7 @@ public class FaceSettings extends DashboardFragment {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new FaceSettingsVideoPreferenceController(context));
         controllers.add(new FaceSettingsKeyguardPreferenceController(context));
+        controllers.add(new FaceSettingsLockscreenBypassPreferenceController(context));
         controllers.add(new FaceSettingsAppPreferenceController(context));
         controllers.add(new FaceSettingsAttentionPreferenceController(context));
         controllers.add(new FaceSettingsRemoveButtonPreferenceController(context));
index e717cb2..44165b8 100644 (file)
@@ -36,6 +36,10 @@ public class FaceSettingsLockscreenBypassPreferenceController
     protected FaceManager mFaceManager;
     private UserManager mUserManager;
 
+    public FaceSettingsLockscreenBypassPreferenceController(Context context) {
+        this(context, KEY);
+    }
+
     public FaceSettingsLockscreenBypassPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)) {