Merge "[BiometricsV2] fix enrolling rotate failed" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2a0d6ead1a
@@ -219,8 +219,14 @@ public class FingerprintEnrollEnrollingSfpsFragment extends Fragment {
|
|||||||
super.onStart();
|
super.onStart();
|
||||||
startEnrollment();
|
startEnrollment();
|
||||||
updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
|
updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
|
||||||
|
final EnrollmentStatusMessage msg = mProgressViewModel.getHelpMessageLiveData().getValue();
|
||||||
|
if (msg != null) {
|
||||||
|
onEnrollmentHelp(msg);
|
||||||
|
} else {
|
||||||
|
clearError();
|
||||||
updateTitleAndDescription();
|
updateTitleAndDescription();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
@@ -373,7 +379,7 @@ public class FingerprintEnrollEnrollingSfpsFragment extends Fragment {
|
|||||||
mView.setHeaderText(error);
|
mView.setHeaderText(error);
|
||||||
mView.getHeaderTextView().setContentDescription(error);
|
mView.getHeaderTextView().setContentDescription(error);
|
||||||
new GlifLayoutHelper(getActivity(), mView).setDescriptionText("");
|
new GlifLayoutHelper(getActivity(), mView).setDescriptionText("");
|
||||||
if (!mHelpAnimation.isRunning()) {
|
if (isResumed() && !mHelpAnimation.isRunning()) {
|
||||||
mHelpAnimation.start();
|
mHelpAnimation.start();
|
||||||
}
|
}
|
||||||
applySfpsErrorDynamicColors(true);
|
applySfpsErrorDynamicColors(true);
|
||||||
|
@@ -105,7 +105,7 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
|
|||||||
};
|
};
|
||||||
private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
|
private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
|
||||||
if (helpMessage != null) {
|
if (helpMessage != null) {
|
||||||
onEnrollmentHelp(helpMessage.getStr());
|
onEnrollmentHelp(helpMessage);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
|
private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
|
||||||
@@ -198,8 +198,13 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
|
|||||||
super.onStart();
|
super.onStart();
|
||||||
startEnrollment();
|
startEnrollment();
|
||||||
updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
|
updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
|
||||||
|
final EnrollmentStatusMessage msg = mProgressViewModel.getHelpMessageLiveData().getValue();
|
||||||
|
if (msg != null) {
|
||||||
|
onEnrollmentHelp(msg);
|
||||||
|
} else {
|
||||||
updateTitleAndDescription();
|
updateTitleAndDescription();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
@@ -484,13 +489,13 @@ public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onEnrollmentHelp(CharSequence helpString) {
|
private void onEnrollmentHelp(@NonNull EnrollmentStatusMessage helpMessage) {
|
||||||
if (!TextUtils.isEmpty(helpString)) {
|
final CharSequence helpStr = helpMessage.getStr();
|
||||||
showError(helpString);
|
if (!TextUtils.isEmpty(helpStr)) {
|
||||||
|
showError(helpStr);
|
||||||
mUdfpsEnrollView.onEnrollmentHelp();
|
mUdfpsEnrollView.onEnrollmentHelp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
|
private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
|
||||||
removeEnrollmentObservers();
|
removeEnrollmentObservers();
|
||||||
|
|
||||||
|
@@ -77,6 +77,7 @@ public class FingerprintEnrollProgressViewModel extends AndroidViewModel {
|
|||||||
Log.d(TAG, "onEnrollmentProgress(" + remaining + "), steps: " + currentSteps
|
Log.d(TAG, "onEnrollmentProgress(" + remaining + "), steps: " + currentSteps
|
||||||
+ ", post progress as " + progress);
|
+ ", post progress as " + progress);
|
||||||
}
|
}
|
||||||
|
mHelpMessageLiveData.setValue(null);
|
||||||
mProgressLiveData.postValue(progress);
|
mProgressLiveData.postValue(progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -224,6 +224,44 @@ public class FingerprintEnrollProgressViewModelTest {
|
|||||||
assertThat(progress.getRemaining()).isEqualTo(0);
|
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
|
@Test
|
||||||
public void testProgressUpdateWithMessageDisplayController() {
|
public void testProgressUpdateWithMessageDisplayController() {
|
||||||
// Enable MessageDisplayController and mock handler for it
|
// Enable MessageDisplayController and mock handler for it
|
||||||
|
Reference in New Issue
Block a user