Fix Settings crash when clicks Notifications am: 2790889921
am: be513533f3
Change-Id: Ie237c391bf2feeb85d10715f85286d1b8e672bc0
This commit is contained in:
@@ -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));
|
||||
|
@@ -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)) {
|
||||
|
Reference in New Issue
Block a user