Merge "Removed subtext from side fps enrollment flow" into tm-qpr-dev am: 97f99f5d30

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21613842

Change-Id: Ia2a62797dd783366a5d2df4494a25d748fac7995
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Diya Bera
2023-03-03 01:24:11 +00:00
committed by Automerger Merge Worker
2 changed files with 47 additions and 29 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.biometrics.fingerprint; package com.android.settings.biometrics.fingerprint;
import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_USER_CANCELED; 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.Animator;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
@@ -278,7 +279,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
setDescriptionText(R.string.security_settings_udfps_enroll_start_message); setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
} else if (mCanAssumeSfps) { } else if (mCanAssumeSfps) {
setContentView(R.layout.sfps_enroll_enrolling); setContentView(R.layout.sfps_enroll_enrolling);
setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message);
setHelpAnimation(); setHelpAnimation();
} else { } else {
setContentView(R.layout.fingerprint_enroll_enrolling); setContentView(R.layout.fingerprint_enroll_enrolling);
@@ -544,7 +544,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
mIllustrationLottie.setContentDescription( mIllustrationLottie.setContentDescription(
getString(R.string.security_settings_udfps_tip_fingerprint_help) getString(R.string.security_settings_udfps_tip_fingerprint_help)
); );
configureEnrollmentStage("", R.raw.udfps_tip_hint_lottie); configureEnrollmentStage(R.raw.udfps_tip_hint_lottie);
} }
break; break;
@@ -555,7 +555,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
mIllustrationLottie.setContentDescription( mIllustrationLottie.setContentDescription(
getString(R.string.security_settings_udfps_side_fingerprint_help) 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) { } else if (mIllustrationLottie == null) {
if (isStageHalfCompleted()) { if (isStageHalfCompleted()) {
setDescriptionText( setDescriptionText(
@@ -572,7 +572,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
mIllustrationLottie.setContentDescription( mIllustrationLottie.setContentDescription(
getString(R.string.security_settings_udfps_side_fingerprint_help) 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) { } else if (mIllustrationLottie == null) {
if (isStageHalfCompleted()) { if (isStageHalfCompleted()) {
@@ -624,10 +624,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
0 0
) )
); );
configureEnrollmentStage( configureEnrollmentStage(R.raw.sfps_lottie_no_animation);
getString(R.string.security_settings_sfps_enroll_start_message),
R.raw.sfps_lottie_no_animation
);
} }
break; break;
@@ -635,10 +632,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
setHeaderText(R.string.security_settings_sfps_enroll_finger_center_title); setHeaderText(R.string.security_settings_sfps_enroll_finger_center_title);
if (!mHaveShownSfpsCenterLottie && mIllustrationLottie != null) { if (!mHaveShownSfpsCenterLottie && mIllustrationLottie != null) {
mHaveShownSfpsCenterLottie = true; mHaveShownSfpsCenterLottie = true;
configureEnrollmentStage( configureEnrollmentStage(R.raw.sfps_lottie_pad_center);
getString(R.string.security_settings_sfps_enroll_start_message),
R.raw.sfps_lottie_pad_center
);
} }
break; break;
@@ -646,7 +640,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
setHeaderText(R.string.security_settings_sfps_enroll_fingertip_title); setHeaderText(R.string.security_settings_sfps_enroll_fingertip_title);
if (!mHaveShownSfpsTipLottie && mIllustrationLottie != null) { if (!mHaveShownSfpsTipLottie && mIllustrationLottie != null) {
mHaveShownSfpsTipLottie = true; mHaveShownSfpsTipLottie = true;
configureEnrollmentStage("", R.raw.sfps_lottie_tip); configureEnrollmentStage(R.raw.sfps_lottie_tip);
} }
break; break;
@@ -654,7 +648,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
setHeaderText(R.string.security_settings_sfps_enroll_left_edge_title); setHeaderText(R.string.security_settings_sfps_enroll_left_edge_title);
if (!mHaveShownSfpsLeftEdgeLottie && mIllustrationLottie != null) { if (!mHaveShownSfpsLeftEdgeLottie && mIllustrationLottie != null) {
mHaveShownSfpsLeftEdgeLottie = true; mHaveShownSfpsLeftEdgeLottie = true;
configureEnrollmentStage("", R.raw.sfps_lottie_left_edge); configureEnrollmentStage(R.raw.sfps_lottie_left_edge);
} }
break; break;
@@ -662,7 +656,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
setHeaderText(R.string.security_settings_sfps_enroll_right_edge_title); setHeaderText(R.string.security_settings_sfps_enroll_right_edge_title);
if (!mHaveShownSfpsRightEdgeLottie && mIllustrationLottie != null) { if (!mHaveShownSfpsRightEdgeLottie && mIllustrationLottie != null) {
mHaveShownSfpsRightEdgeLottie = true; mHaveShownSfpsRightEdgeLottie = true;
configureEnrollmentStage("", R.raw.sfps_lottie_right_edge); configureEnrollmentStage(R.raw.sfps_lottie_right_edge);
} }
break; break;
@@ -673,7 +667,6 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
// announce a different string for a11y upon entering the page. // announce a different string for a11y upon entering the page.
getLayout().setHeaderText( getLayout().setHeaderText(
R.string.security_settings_sfps_enroll_find_sensor_title); R.string.security_settings_sfps_enroll_find_sensor_title);
setDescriptionText(R.string.security_settings_sfps_enroll_start_message);
final CharSequence description = getString( final CharSequence description = getString(
R.string.security_settings_sfps_enroll_find_sensor_message); R.string.security_settings_sfps_enroll_find_sensor_message);
getLayout().getHeaderTextView().setContentDescription(description); getLayout().getHeaderTextView().setContentDescription(description);
@@ -683,8 +676,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
} }
} }
private void configureEnrollmentStage(CharSequence description, @RawRes int lottie) { private void configureEnrollmentStage(@RawRes int lottie) {
setDescriptionText(description);
LottieCompositionFactory.fromRawRes(this, lottie) LottieCompositionFactory.fromRawRes(this, lottie)
.addListener((c) -> { .addListener((c) -> {
mIllustrationLottie.setComposition(c); mIllustrationLottie.setComposition(c);
@@ -858,16 +850,16 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
} }
private void showError(CharSequence error) { private void showError(CharSequence error) {
if (mCanAssumeUdfps || mCanAssumeSfps) { if (mCanAssumeSfps) {
setHeaderText(error);
if (!mHelpAnimation.isRunning()) {
mHelpAnimation.start();
}
applySfpsErrorDynamicColors(getApplicationContext(), true);
} else if (mCanAssumeUdfps) {
setHeaderText(error); setHeaderText(error);
// Show nothing for subtitle when getting an error message. // Show nothing for subtitle when getting an error message.
setDescriptionText(""); setDescriptionText("");
if (mCanAssumeSfps) {
if (!mHelpAnimation.isRunning()) {
mHelpAnimation.start();
}
applySfpsErrorDynamicColors(getApplicationContext(), true);
}
} else { } else {
mErrorText.setText(error); mErrorText.setText(error);
if (mErrorText.getVisibility() == View.INVISIBLE) { if (mErrorText.getVisibility() == View.INVISIBLE) {
@@ -1091,17 +1083,16 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
final boolean isLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE; final boolean isLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE;
if (mCanAssumeSfps) { if (mCanAssumeSfps) {
// hide the description
descriptionMixin.getTextView().setVisibility(View.GONE);
headerMixin.getTextView().setHyphenationFrequency(HYPHENATION_FREQUENCY_NONE);
if (isLandscape) { if (isLandscape) {
headerMixin.setAutoTextSizeEnabled(true); headerMixin.setAutoTextSizeEnabled(true);
headerMixin.getTextView().setMinLines(0); headerMixin.getTextView().setMinLines(0);
headerMixin.getTextView().setMaxLines(10); headerMixin.getTextView().setMaxLines(10);
descriptionMixin.getTextView().setMinLines(0);
descriptionMixin.getTextView().setMaxLines(10);
} else { } else {
headerMixin.setAutoTextSizeEnabled(false); headerMixin.setAutoTextSizeEnabled(false);
headerMixin.getTextView().setLines(4); headerMixin.getTextView().setLines(4);
// hide the description
descriptionMixin.getTextView().setLines(0);
} }
} }
} }

View File

@@ -51,12 +51,14 @@ import android.os.CancellationSignal;
import android.os.Vibrator; import android.os.Vibrator;
import android.view.Display; import android.view.Display;
import android.view.Surface; import android.view.Surface;
import android.view.View;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.widget.RingProgressBar; import com.android.settings.widget.RingProgressBar;
import com.airbnb.lottie.LottieAnimationView; import com.airbnb.lottie.LottieAnimationView;
import com.google.android.setupdesign.GlifLayout;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -263,6 +265,28 @@ public class FingerprintEnrollEnrollingTest {
assertThat(appliedThemes.contains("SetupWizardPartnerResource")).isTrue(); 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 initializeActivityFor(int sensorType) { private void initializeActivityFor(int sensorType) {
final List<ComponentInfoInternal> componentInfo = new ArrayList<>(); final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
final FingerprintSensorPropertiesInternal prop = final FingerprintSensorPropertiesInternal prop =
@@ -297,6 +321,9 @@ public class FingerprintEnrollEnrollingTest {
doReturn(mSfpsStageThresholds[stage]).when(mActivity).getStageThresholdSteps(stage); doReturn(mSfpsStageThresholds[stage]).when(mActivity).getStageThresholdSteps(stage);
} }
doReturn(true).when(mSidecar).isEnrolling(); doReturn(true).when(mSidecar).isEnrolling();
ReflectionHelpers.setField(mActivity, "mCanAssumeSfps", true);
} else if (sensorType == TYPE_UDFPS_OPTICAL) {
ReflectionHelpers.setField(mActivity, "mCanAssumeUdfps", true);
} }
ActivityController.of(mActivity).create(savedInstanceState); ActivityController.of(mActivity).create(savedInstanceState);