Merge "Show calibtation result in FingerprintSettings & EnrollEnrolling if results are available" into 24D1-dev

This commit is contained in:
Vincent Wang
2024-03-19 05:37:39 +00:00
committed by Android (Google) Code Review
7 changed files with 34 additions and 20 deletions

View File

@@ -71,7 +71,6 @@ import com.android.settings.biometrics.BiometricsEnrollEnrolling;
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 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
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 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
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 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
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) {

View File

@@ -167,7 +167,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
.getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
getIntent());
if (mCalibrator != null) {
mCalibrator.onFindSensorPage(
mCalibrator.onWaitingPage(
getLifecycle(),
getSupportFragmentManager(),
this::enableUdfpsLottieAndNextButton
@@ -296,7 +296,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements
getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
ret.putExtras(mCalibrator.getExtrasForNextIntent(true));
ret.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
return ret;

View File

@@ -384,7 +384,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
}
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
intent.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,

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;

View File

@@ -51,7 +51,7 @@ public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSenso
SetupWizardUtils.copySetupExtras(getIntent(), intent);
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
intent.putExtras(mCalibrator.getExtrasForNextIntent(true));
intent.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
return intent;

View File

@@ -49,7 +49,7 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
SetupWizardUtils.copySetupExtras(getIntent(), intent);
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
intent.putExtras(mCalibrator.getExtrasForNextIntent());
}
}
return intent;

View File

@@ -6,13 +6,14 @@ import androidx.lifecycle.Lifecycle
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?
)
}