Use title area for enrollment error messages

This CL is trying to put the enrollment error messages into the title
area for UDFPS, and left the red text for the older devices with a rear
fingerprint.

Fixes: 178432748
Test: visual verified
Change-Id: Ib3a81531219dc963723ad0de99f079a230c580f5
This commit is contained in:
Mill Chen
2021-03-10 19:46:13 +08:00
parent f760ea0639
commit a01f882e61
2 changed files with 40 additions and 20 deletions

View File

@@ -173,10 +173,18 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity {
setHeaderText(resId, false /* force */); setHeaderText(resId, false /* force */);
} }
protected void setHeaderText(CharSequence title) {
getLayout().setHeaderText(title);
}
protected void setDescriptionText(int resId) { protected void setDescriptionText(int resId) {
getLayout().setDescriptionText(resId); getLayout().setDescriptionText(resId);
} }
protected void setDescriptionText(CharSequence descriptionText) {
getLayout().setDescriptionText(descriptionText);
}
protected FooterButton getNextButton() { protected FooterButton getNextButton() {
if (mFooterBarMixin != null) { if (mFooterBarMixin != null) {
return mFooterBarMixin.getPrimaryButton(); return mFooterBarMixin.getPrimaryButton();

View File

@@ -324,7 +324,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
@Override @Override
public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) { public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
if (!TextUtils.isEmpty(helpString)) { if (!TextUtils.isEmpty(helpString)) {
mErrorText.removeCallbacks(mTouchAgainRunnable); if (!mCanAssumeUdfps) {
mErrorText.removeCallbacks(mTouchAgainRunnable);
}
showError(helpString); showError(helpString);
} }
} }
@@ -345,7 +347,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
} }
showErrorDialog(getText(msgId), errMsgId); showErrorDialog(getText(msgId), errMsgId);
stopIconAnimation(); stopIconAnimation();
mErrorText.removeCallbacks(mTouchAgainRunnable); if (!mCanAssumeUdfps) {
mErrorText.removeCallbacks(mTouchAgainRunnable);
}
} }
@Override @Override
@@ -354,8 +358,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
updateTitleAndDescription(); updateTitleAndDescription();
clearError(); clearError();
animateFlash(); animateFlash();
mErrorText.removeCallbacks(mTouchAgainRunnable); if (!mCanAssumeUdfps) {
mErrorText.postDelayed(mTouchAgainRunnable, HINT_TIMEOUT_DURATION); mErrorText.removeCallbacks(mTouchAgainRunnable);
mErrorText.postDelayed(mTouchAgainRunnable, HINT_TIMEOUT_DURATION);
}
} }
private void updateProgress(boolean animate) { private void updateProgress(boolean animate) {
@@ -397,22 +403,28 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
} }
private void showError(CharSequence error) { private void showError(CharSequence error) {
mErrorText.setText(error); if (mCanAssumeUdfps) {
if (mErrorText.getVisibility() == View.INVISIBLE) { setHeaderText(error);
mErrorText.setVisibility(View.VISIBLE); // Show nothing for subtitle when getting an error message.
mErrorText.setTranslationY(getResources().getDimensionPixelSize( setDescriptionText("");
R.dimen.fingerprint_error_text_appear_distance));
mErrorText.setAlpha(0f);
mErrorText.animate()
.alpha(1f)
.translationY(0f)
.setDuration(200)
.setInterpolator(mLinearOutSlowInInterpolator)
.start();
} else { } else {
mErrorText.animate().cancel(); mErrorText.setText(error);
mErrorText.setAlpha(1f); if (mErrorText.getVisibility() == View.INVISIBLE) {
mErrorText.setTranslationY(0f); mErrorText.setVisibility(View.VISIBLE);
mErrorText.setTranslationY(getResources().getDimensionPixelSize(
R.dimen.fingerprint_error_text_appear_distance));
mErrorText.setAlpha(0f);
mErrorText.animate()
.alpha(1f)
.translationY(0f)
.setDuration(200)
.setInterpolator(mLinearOutSlowInInterpolator)
.start();
} else {
mErrorText.animate().cancel();
mErrorText.setAlpha(1f);
mErrorText.setTranslationY(0f);
}
} }
if (isResumed()) { if (isResumed()) {
mVibrator.vibrate(VIBRATE_EFFECT_ERROR, FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES); mVibrator.vibrate(VIBRATE_EFFECT_ERROR, FINGERPRINT_ENROLLING_SONFICATION_ATTRIBUTES);
@@ -420,7 +432,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
} }
private void clearError() { private void clearError() {
if (mErrorText.getVisibility() == View.VISIBLE) { if (!mCanAssumeUdfps && mErrorText.getVisibility() == View.VISIBLE) {
mErrorText.animate() mErrorText.animate()
.alpha(0f) .alpha(0f)
.translationY(getResources().getDimensionPixelSize( .translationY(getResources().getDimensionPixelSize(