Fix Settings crash when clicks Notifications am: 2790889921 am: be513533f3

Change-Id: Ie237c391bf2feeb85d10715f85286d1b8e672bc0
This commit is contained in:
Automerger Merge Worker
2019-12-12 10:19:48 +00:00
2 changed files with 12 additions and 12 deletions

View File

@@ -62,6 +62,7 @@ public class FaceSettings extends DashboardFragment {
private FaceSettingsAttentionPreferenceController mAttentionController;
private FaceSettingsRemoveButtonPreferenceController mRemoveController;
private FaceSettingsEnrollButtonPreferenceController mEnrollController;
private FaceSettingsLockscreenBypassPreferenceController mLockscreenController;
private List<AbstractPreferenceController> mControllers;
private List<Preference> mTogglePreferences;
@@ -136,7 +137,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));
@@ -145,12 +146,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);
@@ -158,7 +157,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) {
@@ -166,6 +165,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();
@@ -269,7 +276,6 @@ public class FaceSettings extends DashboardFragment {
Lifecycle lifecycle) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
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));