diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9bbcf2341a4..86cb3f2c5da 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -935,6 +935,24 @@
android:value="true" />
+
+
+
+
+
+
+
+
+
+
+
+
+
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)) {
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 384f262a718..fd036976e50 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -74,6 +74,7 @@ import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment;
import com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings;
import com.android.settings.deviceinfo.legal.ModuleLicensesDashboard;
import com.android.settings.display.NightDisplaySettings;
+import com.android.settings.display.darkmode.DarkModeSettingsFragment;
import com.android.settings.dream.DreamSettings;
import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
@@ -281,7 +282,8 @@ public class SettingsGateway {
PreviouslyConnectedDeviceDashboardFragment.class.getName(),
BatterySaverScheduleSettings.class.getName(),
MobileNetworkListFragment.class.getName(),
- GlobalActionsPanelSettings.class.getName()
+ GlobalActionsPanelSettings.class.getName(),
+ DarkModeSettingsFragment.class.getName()
};
public static final String[] SETTINGS_FOR_RESTRICTED = {