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

Commit 36e41dc9 authored by Diya Bera's avatar Diya Bera Committed by Android (Google) Code Review
Browse files

Merge "Removed subtext from side fps enrollment flow" into udc-dev

parents a441922b 7fa342fa
Loading
Loading
Loading
Loading
+22 −31
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings.biometrics.fingerprint;

import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_USER_CANCELED;
import static android.text.Layout.HYPHENATION_FREQUENCY_NONE;

import android.animation.Animator;
import android.animation.ObjectAnimator;
@@ -341,7 +342,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
            setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
        } else if (mCanAssumeSfps) {
            setContentView(R.layout.sfps_enroll_enrolling);
            setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message);
            setHelpAnimation();
        } else {
            setContentView(R.layout.fingerprint_enroll_enrolling);
@@ -614,7 +614,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                    mIllustrationLottie.setContentDescription(
                            getString(R.string.security_settings_sfps_enroll_finger_center_title)
                    );
                    configureEnrollmentStage("", R.raw.udfps_center_hint_lottie);
                    configureEnrollmentStage(R.raw.udfps_center_hint_lottie);
                }
                break;

@@ -628,7 +628,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                            getString(R.string.security_settings_fingerprint_enroll_repeat_message)
                    );
                    // TODO(b/228100413) Could customize guided lottie animation
                    configureEnrollmentStage("", R.raw.udfps_center_hint_lottie);
                    configureEnrollmentStage(R.raw.udfps_center_hint_lottie);
                }
                break;
            case STAGE_FINGERTIP:
@@ -638,7 +638,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                    mIllustrationLottie.setContentDescription(
                            getString(R.string.security_settings_udfps_tip_fingerprint_help)
                    );
                    configureEnrollmentStage("", R.raw.udfps_tip_hint_lottie);
                    configureEnrollmentStage(R.raw.udfps_tip_hint_lottie);
                }
                break;
            case STAGE_LEFT_EDGE:
@@ -648,7 +648,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                    mIllustrationLottie.setContentDescription(
                            getString(R.string.security_settings_udfps_side_fingerprint_help)
                    );
                    configureEnrollmentStage("", R.raw.udfps_left_edge_hint_lottie);
                    configureEnrollmentStage(R.raw.udfps_left_edge_hint_lottie);
                } else if (mIllustrationLottie == null) {
                    if (isStageHalfCompleted()) {
                        setDescriptionText(
@@ -665,7 +665,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                    mIllustrationLottie.setContentDescription(
                            getString(R.string.security_settings_udfps_side_fingerprint_help)
                    );
                    configureEnrollmentStage("", R.raw.udfps_right_edge_hint_lottie);
                    configureEnrollmentStage(R.raw.udfps_right_edge_hint_lottie);

                } else if (mIllustrationLottie == null) {
                    if (isStageHalfCompleted()) {
@@ -717,10 +717,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                                    0
                            )
                    );
                    configureEnrollmentStage(
                            getString(R.string.security_settings_sfps_enroll_start_message),
                            R.raw.sfps_lottie_no_animation
                    );
                    configureEnrollmentStage(R.raw.sfps_lottie_no_animation);
                }
                break;

@@ -728,10 +725,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                setHeaderText(R.string.security_settings_sfps_enroll_finger_center_title);
                if (!mHaveShownSfpsCenterLottie && mIllustrationLottie != null) {
                    mHaveShownSfpsCenterLottie = true;
                    configureEnrollmentStage(
                            getString(R.string.security_settings_sfps_enroll_start_message),
                            R.raw.sfps_lottie_pad_center
                    );
                    configureEnrollmentStage(R.raw.sfps_lottie_pad_center);
                }
                break;

@@ -739,7 +733,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                setHeaderText(R.string.security_settings_sfps_enroll_fingertip_title);
                if (!mHaveShownSfpsTipLottie && mIllustrationLottie != null) {
                    mHaveShownSfpsTipLottie = true;
                    configureEnrollmentStage("", R.raw.sfps_lottie_tip);
                    configureEnrollmentStage(R.raw.sfps_lottie_tip);
                }
                break;

@@ -747,7 +741,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                setHeaderText(R.string.security_settings_sfps_enroll_left_edge_title);
                if (!mHaveShownSfpsLeftEdgeLottie && mIllustrationLottie != null) {
                    mHaveShownSfpsLeftEdgeLottie = true;
                    configureEnrollmentStage("", R.raw.sfps_lottie_left_edge);
                    configureEnrollmentStage(R.raw.sfps_lottie_left_edge);
                }
                break;

@@ -755,7 +749,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                setHeaderText(R.string.security_settings_sfps_enroll_right_edge_title);
                if (!mHaveShownSfpsRightEdgeLottie && mIllustrationLottie != null) {
                    mHaveShownSfpsRightEdgeLottie = true;
                    configureEnrollmentStage("", R.raw.sfps_lottie_right_edge);
                    configureEnrollmentStage(R.raw.sfps_lottie_right_edge);
                }
                break;

@@ -766,7 +760,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
                // announce a different string for a11y upon entering the page.
                getLayout().setHeaderText(
                        R.string.security_settings_sfps_enroll_find_sensor_title);
                setDescriptionText(R.string.security_settings_sfps_enroll_start_message);
                final CharSequence description = getString(
                        R.string.security_settings_sfps_enroll_find_sensor_message);
                getLayout().getHeaderTextView().setContentDescription(description);
@@ -776,8 +769,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        }
    }

    private void configureEnrollmentStage(CharSequence description, @RawRes int lottie) {
        setDescriptionText(description);
    private void configureEnrollmentStage(@RawRes int lottie) {
        LottieCompositionFactory.fromRawRes(this, lottie)
                .addListener((c) -> {
                    mIllustrationLottie.setComposition(c);
@@ -995,16 +987,16 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
    }

    private void showError(CharSequence error) {
        if (mCanAssumeUdfps || mCanAssumeSfps) {
            setHeaderText(error);
            // Show nothing for subtitle when getting an error message.
            setDescriptionText("");
        if (mCanAssumeSfps) {
            setHeaderText(error);
            if (!mHelpAnimation.isRunning()) {
                mHelpAnimation.start();
            }
            applySfpsErrorDynamicColors(getApplicationContext(), true);
            }
        } else if (mCanAssumeUdfps) {
            setHeaderText(error);
            // Show nothing for subtitle when getting an error message.
            setDescriptionText("");
        } else {
            mErrorText.setText(error);
            if (mErrorText.getVisibility() == View.INVISIBLE) {
@@ -1228,17 +1220,16 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
        final boolean isLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE;

        if (mCanAssumeSfps) {
            // hide the description
            descriptionMixin.getTextView().setVisibility(View.GONE);
            headerMixin.getTextView().setHyphenationFrequency(HYPHENATION_FREQUENCY_NONE);
            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);
            }
        }
    }
+26 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import android.os.Vibrator;
import android.util.FeatureFlagUtils;
import android.view.Display;
import android.view.Surface;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;

@@ -433,6 +434,28 @@ public class FingerprintEnrollEnrollingTest {
        assertThat(appliedThemes.contains("SetupWizardPartnerResource")).isTrue();
    }

    @Test
    public void fingerprintSfpsEnroll_descriptionTextVisibility() {
        initializeActivityFor(TYPE_POWER_BUTTON);

        mActivity.onEnrollmentProgressChange(1 /* steps */, 1 /* remaining */);

        assertThat(getLayout().getDescriptionTextView().getVisibility()).isEqualTo(View.GONE);
    }

    @Test
    public void fingerprintUdfpsEnroll_descriptionTextVisibility() {
        initializeActivityFor(TYPE_UDFPS_OPTICAL);

        mActivity.onEnrollmentProgressChange(1 /* steps */, 1 /* remaining */);

        assertThat(getLayout().getDescriptionTextView().getVisibility()).isEqualTo(View.VISIBLE);
    }

    private GlifLayout getLayout() {
        return (GlifLayout) mActivity.findViewById(R.id.setup_wizard_layout);
    }

    private void initializeActivityWithoutCreate(int sensorType) {
        final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
        final FingerprintSensorPropertiesInternal prop =
@@ -465,6 +488,9 @@ public class FingerprintEnrollEnrollingTest {
                doReturn(mSfpsStageThresholds[stage]).when(mActivity).getStageThresholdSteps(stage);
            }
            doReturn(true).when(mSidecar).isEnrolling();
            ReflectionHelpers.setField(mActivity, "mCanAssumeSfps", true);
        } else if (sensorType == TYPE_UDFPS_OPTICAL) {
            ReflectionHelpers.setField(mActivity, "mCanAssumeUdfps", true);
        }

        if (sensorType == TYPE_UDFPS_OPTICAL) {