Merge "Removed subtext from side fps enrollment flow" into udc-dev
This commit is contained in:
@@ -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;
|
||||||
@@ -341,7 +342,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);
|
||||||
@@ -614,7 +614,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
|||||||
mIllustrationLottie.setContentDescription(
|
mIllustrationLottie.setContentDescription(
|
||||||
getString(R.string.security_settings_sfps_enroll_finger_center_title)
|
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;
|
break;
|
||||||
|
|
||||||
@@ -628,7 +628,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
|||||||
getString(R.string.security_settings_fingerprint_enroll_repeat_message)
|
getString(R.string.security_settings_fingerprint_enroll_repeat_message)
|
||||||
);
|
);
|
||||||
// TODO(b/228100413) Could customize guided lottie animation
|
// TODO(b/228100413) Could customize guided lottie animation
|
||||||
configureEnrollmentStage("", R.raw.udfps_center_hint_lottie);
|
configureEnrollmentStage(R.raw.udfps_center_hint_lottie);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case STAGE_FINGERTIP:
|
case STAGE_FINGERTIP:
|
||||||
@@ -638,7 +638,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;
|
||||||
case STAGE_LEFT_EDGE:
|
case STAGE_LEFT_EDGE:
|
||||||
@@ -648,7 +648,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(
|
||||||
@@ -665,7 +665,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()) {
|
||||||
@@ -717,10 +717,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;
|
||||||
|
|
||||||
@@ -728,10 +725,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;
|
||||||
|
|
||||||
@@ -739,7 +733,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;
|
||||||
|
|
||||||
@@ -747,7 +741,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;
|
||||||
|
|
||||||
@@ -755,7 +749,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;
|
||||||
|
|
||||||
@@ -766,7 +760,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);
|
||||||
@@ -776,8 +769,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);
|
||||||
@@ -995,16 +987,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) {
|
||||||
@@ -1228,17 +1220,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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -55,6 +55,7 @@ import android.os.Vibrator;
|
|||||||
import android.util.FeatureFlagUtils;
|
import android.util.FeatureFlagUtils;
|
||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
import android.view.Surface;
|
import android.view.Surface;
|
||||||
|
import android.view.View;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
@@ -433,6 +434,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 initializeActivityWithoutCreate(int sensorType) {
|
private void initializeActivityWithoutCreate(int sensorType) {
|
||||||
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
|
final List<ComponentInfoInternal> componentInfo = new ArrayList<>();
|
||||||
final FingerprintSensorPropertiesInternal prop =
|
final FingerprintSensorPropertiesInternal prop =
|
||||||
@@ -465,6 +488,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sensorType == TYPE_UDFPS_OPTICAL) {
|
if (sensorType == TYPE_UDFPS_OPTICAL) {
|
||||||
|
Reference in New Issue
Block a user