From 7cd08b6aa217585be8594c347b3456946d9aaca3 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Tue, 9 Mar 2021 05:52:58 +0800 Subject: [PATCH] Update fingerprint layouts for landscape - Refine the portrait layout to be reused for landscape - Add strings for UDFPS enrollment - Remove the landcaspe layout since it is no longer used. Fixes: 171294253 Test: visual verified Change-Id: Ibbfa5515437e2c2a348db9b621b4e60ba922a383 --- .../fingerprint_enroll_enrolling.xml | 135 ------------------ res/layout-land/fingerprint_enroll_finish.xml | 92 ------------ .../fingerprint_enroll_enrolling_base.xml | 25 ---- res/layout/fingerprint_enroll_finish_base.xml | 9 -- res/layout/udfps_enroll_enrolling.xml | 22 --- res/values/strings.xml | 8 ++ .../FingerprintEnrollEnrolling.java | 48 ++++--- .../fingerprint/FingerprintEnrollFinish.java | 1 + 8 files changed, 40 insertions(+), 300 deletions(-) delete mode 100644 res/layout-land/fingerprint_enroll_enrolling.xml delete mode 100644 res/layout-land/fingerprint_enroll_finish.xml 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(