Merge "[BiometricsV2] fix enrolling rotate failed" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2a0d6ead1a
@@ -219,7 +219,13 @@ public class FingerprintEnrollEnrollingSfpsFragment extends Fragment {
|
||||
super.onStart();
|
||||
startEnrollment();
|
||||
updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
|
||||
updateTitleAndDescription();
|
||||
final EnrollmentStatusMessage msg = mProgressViewModel.getHelpMessageLiveData().getValue();
|
||||
if (msg != null) {
|
||||
onEnrollmentHelp(msg);
|
||||
} else {
|
||||
clearError();
|
||||
updateTitleAndDescription();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -373,7 +379,7 @@ public class FingerprintEnrollEnrollingSfpsFragment extends Fragment {
|
||||
mView.setHeaderText(error);
|
||||
mView.getHeaderTextView().setContentDescription(error);
|
||||
new GlifLayoutHelper(getActivity(), mView).setDescriptionText("");
|
||||
if (!mHelpAnimation.isRunning()) {
|
||||
if (isResumed() && !mHelpAnimation.isRunning()) {
|
||||
mHelpAnimation.start();
|
||||
}
|
||||
applySfpsErrorDynamicColors(true);
|
||||
|
@@ -105,7 +105,7 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
|
||||
};
|
||||
private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
|
||||
if (helpMessage != null) {
|
||||
onEnrollmentHelp(helpMessage.getStr());
|
||||
onEnrollmentHelp(helpMessage);
|
||||
}
|
||||
};
|
||||
private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
|
||||
@@ -198,7 +198,12 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
|
||||
super.onStart();
|
||||
startEnrollment();
|
||||
updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
|
||||
updateTitleAndDescription();
|
||||
final EnrollmentStatusMessage msg = mProgressViewModel.getHelpMessageLiveData().getValue();
|
||||
if (msg != null) {
|
||||
onEnrollmentHelp(msg);
|
||||
} else {
|
||||
updateTitleAndDescription();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -484,13 +489,13 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
|
||||
|
||||
}
|
||||
|
||||
private void onEnrollmentHelp(CharSequence helpString) {
|
||||
if (!TextUtils.isEmpty(helpString)) {
|
||||
showError(helpString);
|
||||
private void onEnrollmentHelp(@NonNull EnrollmentStatusMessage helpMessage) {
|
||||
final CharSequence helpStr = helpMessage.getStr();
|
||||
if (!TextUtils.isEmpty(helpStr)) {
|
||||
showError(helpStr);
|
||||
mUdfpsEnrollView.onEnrollmentHelp();
|
||||
}
|
||||
}
|
||||
|
||||
private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
|
||||
removeEnrollmentObservers();
|
||||
|
||||
|
@@ -77,6 +77,7 @@ public class FingerprintEnrollProgressViewModel extends AndroidViewModel {
|
||||
Log.d(TAG, "onEnrollmentProgress(" + remaining + "), steps: " + currentSteps
|
||||
+ ", post progress as " + progress);
|
||||
}
|
||||
mHelpMessageLiveData.setValue(null);
|
||||
mProgressLiveData.postValue(progress);
|
||||
}
|
||||
|
||||
|
@@ -224,6 +224,44 @@ public class FingerprintEnrollProgressViewModelTest {
|
||||
assertThat(progress.getRemaining()).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProgressUpdateClearHelpMessage() {
|
||||
// Start enrollment
|
||||
mViewModel.setToken(new byte[] { 1, 2, 3 });
|
||||
final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
|
||||
assertThat(ret).isTrue();
|
||||
assertThat(mCallbackWrapper.mValue).isNotNull();
|
||||
final LiveData<EnrollmentProgress> progressLiveData = mViewModel.getProgressLiveData();
|
||||
final LiveData<EnrollmentStatusMessage> helpMsgLiveData =
|
||||
mViewModel.getHelpMessageLiveData();
|
||||
|
||||
// Update first progress
|
||||
mCallbackWrapper.mValue.onEnrollmentProgress(25);
|
||||
EnrollmentProgress progress = progressLiveData.getValue();
|
||||
assertThat(progress).isNotNull();
|
||||
assertThat(progress.getSteps()).isEqualTo(25);
|
||||
assertThat(progress.getRemaining()).isEqualTo(25);
|
||||
|
||||
// Update help message
|
||||
final int testHelpMsgId = 3;
|
||||
final String testHelpString = "Test Help String";
|
||||
mCallbackWrapper.mValue.onEnrollmentHelp(testHelpMsgId, testHelpString);
|
||||
final EnrollmentStatusMessage helpMsg = helpMsgLiveData.getValue();
|
||||
assertThat(helpMsg).isNotNull();
|
||||
assertThat(helpMsg.getMsgId()).isEqualTo(testHelpMsgId);
|
||||
assertThat(helpMsg.getStr().toString()).isEqualTo(testHelpString);
|
||||
|
||||
// Update second progress
|
||||
mCallbackWrapper.mValue.onEnrollmentProgress(20);
|
||||
progress = progressLiveData.getValue();
|
||||
assertThat(progress).isNotNull();
|
||||
assertThat(progress.getSteps()).isEqualTo(25);
|
||||
assertThat(progress.getRemaining()).isEqualTo(20);
|
||||
|
||||
// Help message shall be set to null
|
||||
assertThat(helpMsgLiveData.getValue()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProgressUpdateWithMessageDisplayController() {
|
||||
// Enable MessageDisplayController and mock handler for it
|
||||
|
Reference in New Issue
Block a user