Show calibtation result in FingerprintSettings & EnrollEnrolling

if results are available

Bug: b/326155807
Test: Enroll multiple fingerprints and check if
        calibration isn't triggered.

Change-Id: I006db64f001fb70d2bb294a15a2d3efc77e2da25
Merged-In: I006db64f001fb70d2bb294a15a2d3efc77e2da25
This commit is contained in:
Vincent Wang
2024-03-06 09:11:34 +00:00
parent e80fe88947
commit 118abc5568
7 changed files with 34 additions and 20 deletions

View File

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