Fixed crash in FaceSettings

Add null check

Bug: 402314712
Test: Enter Face unlock setting page
Flag: EXEMPT bug fix
Change-Id: I07761c251d7544a6ff40d165712dc0f566e684bf
This commit is contained in:
Shawn Lin
2025-03-20 03:26:58 +00:00
parent 65a0e43a43
commit 5d48e5d944

View File

@@ -222,13 +222,22 @@ public class FaceSettings extends DashboardFragment {
Preference confirmPref = findPreference(FaceSettingsConfirmPreferenceController.KEY); Preference confirmPref = findPreference(FaceSettingsConfirmPreferenceController.KEY);
Preference bypassPref = Preference bypassPref =
findPreference(mLockscreenController.getPreferenceKey()); findPreference(mLockscreenController.getPreferenceKey());
mTogglePreferences = new ArrayList<>(
Arrays.asList(keyguardPref, appPref, attentionPref, confirmPref, bypassPref));
if (Flags.biometricsOnboardingEducation()) {
if (use(FaceSettingsKeyguardUnlockPreferenceController.class) != null) {
Preference unlockKeyguard = findPreference( Preference unlockKeyguard = findPreference(
use(FaceSettingsKeyguardUnlockPreferenceController.class).getPreferenceKey()); use(FaceSettingsKeyguardUnlockPreferenceController.class)
.getPreferenceKey());
mTogglePreferences.add(unlockKeyguard);
}
if (use(FaceSettingsAppsPreferenceController.class) != null) {
Preference appsPref = findPreference( Preference appsPref = findPreference(
use(FaceSettingsAppsPreferenceController.class).getPreferenceKey()); use(FaceSettingsAppsPreferenceController.class).getPreferenceKey());
mTogglePreferences = new ArrayList<>( mTogglePreferences.add(appsPref);
Arrays.asList(keyguardPref, appPref, attentionPref, confirmPref, bypassPref, }
unlockKeyguard, appsPref)); }
if (RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled( if (RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
getContext(), DevicePolicyManager.KEYGUARD_DISABLE_FACE, mUserId) != null) { getContext(), DevicePolicyManager.KEYGUARD_DISABLE_FACE, mUserId) != null) {
@@ -241,6 +250,7 @@ public class FaceSettings extends DashboardFragment {
mRemoveButton = findPreference(FaceSettingsRemoveButtonPreferenceController.KEY); mRemoveButton = findPreference(FaceSettingsRemoveButtonPreferenceController.KEY);
mEnrollButton = findPreference(FaceSettingsEnrollButtonPreferenceController.KEY); mEnrollButton = findPreference(FaceSettingsEnrollButtonPreferenceController.KEY);
if (Flags.biometricsOnboardingEducation()) {
mFaceEnrolledCategory = findPreference(PREF_KEY_FACE_ENROLLED_CATEGORY); mFaceEnrolledCategory = findPreference(PREF_KEY_FACE_ENROLLED_CATEGORY);
mFaceRemoveButton = findPreference(PREF_KEY_FACE_REMOVE); mFaceRemoveButton = findPreference(PREF_KEY_FACE_REMOVE);
mFaceRemoveButton.setIcon(R.drawable.ic_face); mFaceRemoveButton.setIcon(R.drawable.ic_face);
@@ -250,6 +260,7 @@ public class FaceSettings extends DashboardFragment {
mFaceEnrollButton.setIcon(R.drawable.ic_add_24dp); mFaceEnrollButton.setIcon(R.drawable.ic_add_24dp);
mFaceEnrollButton.setOnPreferenceClickListener( mFaceEnrollButton.setOnPreferenceClickListener(
use(FaceSettingsEnrollButtonPreferenceController.class)); use(FaceSettingsEnrollButtonPreferenceController.class));
}
final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId); final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
updateFaceAddAndRemovePreference(hasEnrolled); updateFaceAddAndRemovePreference(hasEnrolled);