diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java index 9c424672c6a..46d288e4c2b 100644 --- a/src/com/android/settings/biometrics/face/FaceSettings.java +++ b/src/com/android/settings/biometrics/face/FaceSettings.java @@ -63,6 +63,7 @@ public class FaceSettings extends DashboardFragment { private FaceSettingsAttentionPreferenceController mAttentionController; private FaceSettingsRemoveButtonPreferenceController mRemoveController; private FaceSettingsEnrollButtonPreferenceController mEnrollController; + private FaceSettingsLockscreenBypassPreferenceController mLockscreenController; private List mControllers; private List mTogglePreferences; @@ -129,7 +130,7 @@ public class FaceSettings extends DashboardFragment { Preference attentionPref = findPreference(FaceSettingsAttentionPreferenceController.KEY); Preference confirmPref = findPreference(FaceSettingsConfirmPreferenceController.KEY); Preference bypassPref = - findPreference(FaceSettingsLockscreenBypassPreferenceController.KEY); + findPreference(mLockscreenController.getPreferenceKey()); mTogglePreferences = new ArrayList<>( Arrays.asList(keyguardPref, appPref, attentionPref, confirmPref, bypassPref)); @@ -138,12 +139,10 @@ public class FaceSettings extends DashboardFragment { // There is no better way to do this :/ for (AbstractPreferenceController controller : mControllers) { - if (controller instanceof FaceSettingsPreferenceController) { + if (controller instanceof FaceSettingsPreferenceController) { ((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); @@ -151,7 +150,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); + removePreference(mLockscreenController.getPreferenceKey()); } if (savedInstanceState != null) { @@ -159,6 +158,14 @@ 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(); @@ -263,7 +270,6 @@ public class FaceSettings extends DashboardFragment { final List 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)); diff --git a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java index 44165b8211a..cef174d5243 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java @@ -30,16 +30,10 @@ import com.android.internal.annotations.VisibleForTesting; public class FaceSettingsLockscreenBypassPreferenceController extends FaceSettingsPreferenceController { - static final String KEY = "security_lockscreen_bypass"; - @VisibleForTesting 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)) {