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
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 90b9346..bbeaf2a 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -71,7 +71,6 @@
import com.android.settings.biometrics.BiometricsSplitScreenDialog;
import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.flags.Flags;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.display.DisplayDensityUtils;
@@ -252,12 +251,6 @@
setContentView(layout);
setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
-
- if (Flags.udfpsEnrollCalibration()) {
- mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
- .getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
- getIntent());
- }
} else if (mCanAssumeSfps) {
mSfpsEnrollmentFeature = FeatureFactory.getFeatureFactory()
.getFingerprintFeatureProvider().getSfpsEnrollmentFeature();
@@ -342,6 +335,15 @@
final Configuration config = getApplicationContext().getResources().getConfiguration();
maybeHideSfpsText(config);
+
+ if (!mIsSetupWizard) {
+ mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
+ .getUdfpsEnrollCalibrator(getApplicationContext(), null, getIntent());
+ if (mCalibrator != null) {
+ mCalibrator.onWaitingPage(getLifecycle(),
+ getSupportFragmentManager(), null);
+ }
+ }
}
private void setHelpAnimation() {
@@ -371,11 +373,6 @@
super.onSaveInstanceState(outState);
outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
outState.putInt(KEY_STATE_PREVIOUS_ROTATION, mPreviousRotation);
- if (Flags.udfpsEnrollCalibration()) {
- if (mCalibrator != null) {
- mCalibrator.onSaveInstanceState(outState);
- }
- }
}
private void restoreSavedState(Bundle savedInstanceState) {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index 6b7538a..aeb0dac 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -167,7 +167,7 @@
.getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
getIntent());
if (mCalibrator != null) {
- mCalibrator.onFindSensorPage(
+ mCalibrator.onWaitingPage(
getLifecycle(),
getSupportFragmentManager(),
this::enableUdfpsLottieAndNextButton
@@ -296,7 +296,7 @@
getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
- ret.putExtras(mCalibrator.getExtrasForNextIntent(true));
+ ret.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
return ret;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index f92cfbf..59e4035 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -384,7 +384,7 @@
}
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
- intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
+ intent.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 2aacbe4..9dac46d 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -88,6 +88,7 @@
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 @@
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 @@
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 @@
}
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;
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
index 6590530..3037c2a 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -51,7 +51,7 @@
SetupWizardUtils.copySetupExtras(getIntent(), intent);
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
- intent.putExtras(mCalibrator.getExtrasForNextIntent(true));
+ intent.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
return intent;
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
index 0ee9ad3..c263b2e 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -49,7 +49,7 @@
SetupWizardUtils.copySetupExtras(getIntent(), intent);
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
- intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
+ intent.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
return intent;
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt
index c54c6b5..22a69ba 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt
@@ -6,13 +6,14 @@
interface UdfpsEnrollCalibrator {
- fun getExtrasForNextIntent(isEnrolling: Boolean): Bundle
+ fun getExtrasForNextIntent(): Bundle
fun onSaveInstanceState(outState: Bundle)
- fun onFindSensorPage(
+ fun onWaitingPage(
lifecycle: Lifecycle,
fragmentManager: FragmentManager,
- enableEnrollingRunnable: Runnable
+ enableEnrollingRunnable: Runnable?
)
+
}
\ No newline at end of file