diff --git a/res/layout-land/fingerprint_enroll_enrolling.xml b/res/layout-land/fingerprint_enroll_enrolling.xml
deleted file mode 100644
index 184c9c60460..00000000000
--- a/res/layout-land/fingerprint_enroll_enrolling.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout-land/fingerprint_enroll_finish.xml b/res/layout-land/fingerprint_enroll_finish.xml
deleted file mode 100644
index 41595168805..00000000000
--- a/res/layout-land/fingerprint_enroll_finish.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/fingerprint_enroll_enrolling_base.xml b/res/layout/fingerprint_enroll_enrolling_base.xml
index e1a97076821..a0805baebee 100644
--- a/res/layout/fingerprint_enroll_enrolling_base.xml
+++ b/res/layout/fingerprint_enroll_enrolling_base.xml
@@ -30,31 +30,6 @@
android:clipToPadding="false"
android:clipChildren="false">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Touch the sensor
Put your finger on the sensor and lift after you feel a vibration
+
+ Each time you touch, keep your finger on the icon until you feel a vibration
Lift, then touch again
+
+ One more time
+
+ Touch the fingerprint icon as it moves
Keep lifting your finger to add the different parts of your fingerprint
+
+ This helps capture your full fingerprint
Fingerprint added
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 1b2a6a5f071..b403e420189 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -52,7 +52,6 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton;
-import com.google.android.setupdesign.util.DescriptionStyler;
import java.util.List;
@@ -66,6 +65,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
private static final int PROGRESS_BAR_MAX = 10000;
private static final int FINISH_DELAY = 250;
+ /**
+ * Enroll with two center touches before going to guided enrollment.
+ */
+ private static final int NUM_CENTER_TOUCHES = 2;
/**
* If we don't see progress during this time, we show an error message to remind the users that
@@ -95,8 +98,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
private boolean mCanAssumeUdfps;
@Nullable private ProgressBar mProgressBar;
private ObjectAnimator mProgressAnim;
- private TextView mStartMessage;
- private TextView mRepeatMessage;
private TextView mErrorText;
private Interpolator mFastOutSlowInInterpolator;
private Interpolator mLinearOutSlowInInterpolator;
@@ -145,23 +146,18 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
if (mCanAssumeUdfps) {
setContentView(R.layout.udfps_enroll_enrolling);
+ setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
} else {
setContentView(R.layout.fingerprint_enroll_enrolling);
+ setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message);
}
setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title);
- mStartMessage = findViewById(R.id.sud_layout_description);
- mRepeatMessage = findViewById(R.id.repeat_message);
mErrorText = findViewById(R.id.error_text);
mProgressBar = findViewById(R.id.fingerprint_progress_bar);
mVibrator = getSystemService(Vibrator.class);
- if (getLayout().shouldApplyPartnerHeavyThemeResource()) {
- DescriptionStyler.applyPartnerCustomizationHeavyStyle(mRepeatMessage);
- } else if (getLayout().shouldApplyPartnerResource()) {
- DescriptionStyler.applyPartnerCustomizationLightStyle(mRepeatMessage);
- }
mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
mFooterBarMixin.setSecondaryButton(
new FooterButton.Builder(this)
@@ -229,7 +225,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
protected void onStart() {
super.onStart();
updateProgress(false /* animate */);
- updateDescription();
+ updateTitleAndDescription();
if (mRestoring) {
startIconAnimation();
}
@@ -297,16 +293,34 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
return new Intent(this, FingerprintEnrollFinish.class);
}
- private void updateDescription() {
+ private void updateTitleAndDescription() {
if (mSidecar == null || mSidecar.getEnrollmentSteps() == -1) {
- mStartMessage.setVisibility(View.VISIBLE);
- mRepeatMessage.setVisibility(View.INVISIBLE);
+ if (mCanAssumeUdfps) {
+ setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
+ } else {
+ setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message);
+ }
+ } else if (mCanAssumeUdfps && !isCenterEnrollmentComplete()) {
+ setHeaderText(R.string.security_settings_udfps_enroll_title_one_more_time);
+ setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
} else {
- mStartMessage.setVisibility(View.INVISIBLE);
- mRepeatMessage.setVisibility(View.VISIBLE);
+ if (mCanAssumeUdfps) {
+ setHeaderText(R.string.security_settings_udfps_enroll_repeat_title_touch_icon);
+ setDescriptionText(R.string.security_settings_udfps_enroll_repeat_message);
+ } else {
+ setDescriptionText(R.string.security_settings_fingerprint_enroll_repeat_message);
+ }
}
}
+ private boolean isCenterEnrollmentComplete() {
+ if (mSidecar == null || mSidecar.getEnrollmentSteps() == -1) {
+ return false;
+ }
+ final int stepsEnrolled = mSidecar.getEnrollmentSteps() - mSidecar.getEnrollmentRemaining();
+ return stepsEnrolled >= NUM_CENTER_TOUCHES;
+ }
+
@Override
public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
if (!TextUtils.isEmpty(helpString)) {
@@ -337,7 +351,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
@Override
public void onEnrollmentProgressChange(int steps, int remaining) {
updateProgress(true /* animate */);
- updateDescription();
+ updateTitleAndDescription();
clearError();
animateFlash();
mErrorText.removeCallbacks(mTouchAgainRunnable);
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
index 3adbd0d25d5..481da1ba071 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
@@ -55,6 +55,7 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
super.onCreate(savedInstanceState);
setContentView(R.layout.fingerprint_enroll_finish);
setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
+ setDescriptionText(R.string.security_settings_fingerprint_enroll_finish_message);
mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
mFooterBarMixin.setSecondaryButton(