Merge "Fix Settings crash after clicking "Add Fingerprint"" into 24D1-dev

This commit is contained in:
Vincent Wang
2024-03-26 06:05:32 +00:00
committed by Android (Google) Code Review

View File

@@ -88,7 +88,6 @@ import com.android.settingslib.transition.SettingsTransitionHelper;
import com.android.settingslib.widget.FooterPreference; import com.android.settingslib.widget.FooterPreference;
import com.android.settingslib.widget.TwoTargetPreference; import com.android.settingslib.widget.TwoTargetPreference;
import com.google.android.setupcompat.util.WizardManagerHelper;
import com.google.android.setupdesign.util.DeviceHelper; import com.google.android.setupdesign.util.DeviceHelper;
import java.util.ArrayList; import java.util.ArrayList;
@@ -112,9 +111,6 @@ public class FingerprintSettings extends SubSettings {
private static final int RESULT_SKIP = BiometricEnrollBase.RESULT_SKIP; private static final int RESULT_SKIP = BiometricEnrollBase.RESULT_SKIP;
private static final int RESULT_TIMEOUT = BiometricEnrollBase.RESULT_TIMEOUT; private static final int RESULT_TIMEOUT = BiometricEnrollBase.RESULT_TIMEOUT;
@Nullable
private UdfpsEnrollCalibrator mCalibrator;
@Override @Override
public Intent getIntent() { public Intent getIntent() {
Intent modIntent = new Intent(super.getIntent()); Intent modIntent = new Intent(super.getIntent());
@@ -135,13 +131,6 @@ public class FingerprintSettings extends SubSettings {
setTitle(msg); setTitle(msg);
} }
@Override
public void onResume() {
super.onResume();
mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
.getUdfpsEnrollCalibrator(getApplicationContext(), null, null);
}
/** /**
* @param context * @param context
* @return true if the Fingerprint hardware is detected. * @return true if the Fingerprint hardware is detected.
@@ -272,6 +261,9 @@ public class FingerprintSettings extends SubSettings {
private FingerprintRemoveSidecar mRemovalSidecar; private FingerprintRemoveSidecar mRemovalSidecar;
private HashMap<Integer, String> mFingerprintsRenaming; private HashMap<Integer, String> mFingerprintsRenaming;
@Nullable
private UdfpsEnrollCalibrator mCalibrator;
FingerprintAuthenticateSidecar.Listener mAuthenticateListener = FingerprintAuthenticateSidecar.Listener mAuthenticateListener =
new FingerprintAuthenticateSidecar.Listener() { new FingerprintAuthenticateSidecar.Listener() {
@Override @Override
@@ -745,6 +737,9 @@ public class FingerprintSettings extends SubSettings {
if (mRemovalSidecar != null) { if (mRemovalSidecar != null) {
mRemovalSidecar.setListener(mRemovalListener); mRemovalSidecar.setListener(mRemovalListener);
} }
mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
.getUdfpsEnrollCalibrator(getActivity().getApplicationContext(), null, null);
} }
private void updatePreferences() { private void updatePreferences() {
@@ -811,10 +806,8 @@ public class FingerprintSettings extends SubSettings {
} }
intent.putExtra(Intent.EXTRA_USER_ID, mUserId); intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
if (((FingerprintSettings) getActivity()).mCalibrator != null) { if (mCalibrator != null) {
intent.putExtras( intent.putExtras(mCalibrator.getExtrasForNextIntent());
(((FingerprintSettings) getActivity()).mCalibrator)
.getExtrasForNextIntent());
} }
startActivityForResult(intent, ADD_FINGERPRINT_REQUEST); startActivityForResult(intent, ADD_FINGERPRINT_REQUEST);
} else if (pref instanceof FingerprintPreference) { } else if (pref instanceof FingerprintPreference) {