Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88e2f1e0 authored by Joshua McCloskey's avatar Joshua McCloskey
Browse files

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
parent 57cb7642
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -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