Add Null check FingerprintSettings#updateAddPreference()
When fingerprint finish enrollment, user click Done
The flow would be:
-> wm_finish_activity
-> relaunch_resume_activity
-> wm_on_destroy_called
-> wm_on_create_called
-> wm_on_start_called
-> wm_on_activity_result_called
In U, we need to add NPE check when updateAddPreference()
earlier then addFingerprintItemPreferences()
-> wm_on_resume_called
Bug: 275519315
Test: manual enroll SFPS, in FingerprintEnrollEnrolling,
rotate device, then complete the enrollment
verify the flow never crash and user can see enrolled
fingerprint in FingerprintSettings
Change-Id: Ia262741aeceeb36eefd159ad2ca1c9fa0e061d54
This commit is contained in:
@@ -593,10 +593,16 @@ public class FingerprintSettings extends SubSettings {
|
||||
}
|
||||
|
||||
private void updateAddPreference() {
|
||||
if (getActivity() == null) return; // Activity went away
|
||||
if (getActivity() == null) {
|
||||
return; // Activity went away
|
||||
}
|
||||
|
||||
final Preference addPreference = findPreference(KEY_FINGERPRINT_ADD);
|
||||
|
||||
if (addPreference == null) {
|
||||
return; // b/275519315 Skip if updateAddPreference() invoke before addPreference()
|
||||
}
|
||||
|
||||
/* Disable preference if too many fingerprints added */
|
||||
final int max = getContext().getResources().getInteger(
|
||||
com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
|
||||
|
||||
Reference in New Issue
Block a user