From 88e2f1e0e02565519fd985edb1e060b64ad78e43 Mon Sep 17 00:00:00 2001 From: Joshua McCloskey Date: Wed, 16 Nov 2022 01:20:04 +0000 Subject: [PATCH] Ensure text doesnt jump during enrollment Test: Verified via fingerprint enrollment that dynamic text no longer shifts the fingerprint icon view. Fixes: 251235423 Change-Id: Ia70bb251af9df581e5c1e2b7dfcd9290dcc66b26 --- .../FingerprintEnrollEnrolling.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java index 9598019f93d..373243a678b 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java @@ -77,6 +77,8 @@ import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupdesign.GlifLayout; +import com.google.android.setupdesign.template.DescriptionMixin; +import com.google.android.setupdesign.template.HeaderMixin; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -341,6 +343,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { return true; }); } + + final Configuration config = getApplicationContext().getResources().getConfiguration(); + maybeHideSfpsText(config); } @Override @@ -1040,6 +1045,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { @Override public void onConfigurationChanged(@NonNull Configuration newConfig) { + maybeHideSfpsText(newConfig); switch(newConfig.orientation) { case Configuration.ORIENTATION_LANDSCAPE: { updateOrientation(Configuration.ORIENTATION_LANDSCAPE); @@ -1055,6 +1061,27 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { } } + private void maybeHideSfpsText(@NonNull Configuration newConfig) { + final HeaderMixin headerMixin = getLayout().getMixin(HeaderMixin.class); + final DescriptionMixin descriptionMixin = getLayout().getMixin(DescriptionMixin.class); + final boolean isLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE; + + if (mCanAssumeSfps) { + if (isLandscape) { + headerMixin.setAutoTextSizeEnabled(true); + headerMixin.getTextView().setMinLines(0); + headerMixin.getTextView().setMaxLines(10); + descriptionMixin.getTextView().setMinLines(0); + descriptionMixin.getTextView().setMaxLines(10); + } else { + headerMixin.setAutoTextSizeEnabled(false); + headerMixin.getTextView().setLines(4); + // hide the description + descriptionMixin.getTextView().setLines(0); + } + } + } + public static class IconTouchDialog extends InstrumentedDialogFragment { @Override