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.BiometricsSplitScreenDialog;
import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature; import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.flags.Flags;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.display.DisplayDensityUtils; import com.android.settingslib.display.DisplayDensityUtils;
@@ -252,12 +251,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
setContentView(layout); setContentView(layout);
setDescriptionText(R.string.security_settings_udfps_enroll_start_message); setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
if (Flags.udfpsEnrollCalibration()) {
mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
.getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
getIntent());
}
} else if (mCanAssumeSfps) { } else if (mCanAssumeSfps) {
mSfpsEnrollmentFeature = FeatureFactory.getFeatureFactory() mSfpsEnrollmentFeature = FeatureFactory.getFeatureFactory()
.getFingerprintFeatureProvider().getSfpsEnrollmentFeature(); .getFingerprintFeatureProvider().getSfpsEnrollmentFeature();
@@ -342,6 +335,15 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
final Configuration config = getApplicationContext().getResources().getConfiguration(); final Configuration config = getApplicationContext().getResources().getConfiguration();
maybeHideSfpsText(config); maybeHideSfpsText(config);
if (!mIsSetupWizard) {
mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
.getUdfpsEnrollCalibrator(getApplicationContext(), null, getIntent());
if (mCalibrator != null) {
mCalibrator.onWaitingPage(getLifecycle(),
getSupportFragmentManager(), null);
}
}
} }
private void setHelpAnimation() { private void setHelpAnimation() {
@@ -371,11 +373,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled); outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
outState.putInt(KEY_STATE_PREVIOUS_ROTATION, mPreviousRotation); outState.putInt(KEY_STATE_PREVIOUS_ROTATION, mPreviousRotation);
if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) {
mCalibrator.onSaveInstanceState(outState);
}
}
} }
private void restoreSavedState(Bundle savedInstanceState) { private void restoreSavedState(Bundle savedInstanceState) {

View File

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

View File

@@ -384,7 +384,7 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
} }
if (Flags.udfpsEnrollCalibration()) { if (Flags.udfpsEnrollCalibration()) {
if (mCalibrator != null) { if (mCalibrator != null) {
intent.putExtras(mCalibrator.getExtrasForNextIntent(false)); intent.putExtras(mCalibrator.getExtrasForNextIntent());
} }
} }
intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON, 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.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;
@@ -111,6 +112,9 @@ 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());
@@ -131,6 +135,13 @@ 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.
@@ -800,6 +811,11 @@ 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) {
intent.putExtras(
(((FingerprintSettings) getActivity()).mCalibrator)
.getExtrasForNextIntent());
}
startActivityForResult(intent, ADD_FINGERPRINT_REQUEST); startActivityForResult(intent, ADD_FINGERPRINT_REQUEST);
} else if (pref instanceof FingerprintPreference) { } else if (pref instanceof FingerprintPreference) {
FingerprintPreference fpref = (FingerprintPreference) pref; FingerprintPreference fpref = (FingerprintPreference) pref;

View File

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

View File

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

View File

@@ -6,13 +6,14 @@ import androidx.lifecycle.Lifecycle
interface UdfpsEnrollCalibrator { interface UdfpsEnrollCalibrator {
fun getExtrasForNextIntent(isEnrolling: Boolean): Bundle fun getExtrasForNextIntent(): Bundle
fun onSaveInstanceState(outState: Bundle) fun onSaveInstanceState(outState: Bundle)
fun onFindSensorPage( fun onWaitingPage(
lifecycle: Lifecycle, lifecycle: Lifecycle,
fragmentManager: FragmentManager, fragmentManager: FragmentManager,
enableEnrollingRunnable: Runnable enableEnrollingRunnable: Runnable?
) )
} }