Merge "Update buttons in FP find sensor" into oc-dr1-dev

This commit is contained in:
Maurice Lam
2017-06-27 01:10:09 +00:00
committed by Android (Google) Code Review
6 changed files with 92 additions and 19 deletions

View File

@@ -25,15 +25,16 @@ import static org.robolectric.RuntimeEnvironment.application;
import android.content.ComponentName;
import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback;
import android.os.CancellationSignal;
import android.widget.Button;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.IFingerprintManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
import com.android.settings.testutils.shadow.ShadowEventLogWriter;
@@ -92,13 +93,26 @@ public class FingerprintEnrollFindSensorTest {
}
@Test
public void clickNextAndFingerprint_shouldNotCrash() {
public void enrollFingerprint_shouldProceed() {
EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
Button nextButton = mActivity.findViewById(R.id.next_button);
nextButton.performClick();
enrollmentCallback.onEnrollmentProgress(123);
nextButton.performClick();
enrollmentCallback.onEnrollmentError(FingerprintManager.FINGERPRINT_ERROR_CANCELED, "test");
ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
IntentForResult startedActivity =
shadowActivity.getNextStartedActivityForResult();
assertThat(startedActivity).named("Next activity 1").isNotNull();
assertThat(startedActivity.intent.getComponent())
.isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
}
@Test
public void enrollFingerprintTwice_shouldStartOneEnrolling() {
EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
enrollmentCallback.onEnrollmentProgress(123);
enrollmentCallback.onEnrollmentProgress(123); // A second enroll should be a no-op
ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
IntentForResult startedActivity =
@@ -120,9 +134,7 @@ public class FingerprintEnrollFindSensorTest {
public void layoutWithoutAnimation_shouldNotCrash() {
EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
enrollmentCallback.onEnrollmentProgress(123);
Button nextButton = mActivity.findViewById(R.id.next_button);
nextButton.performClick();
enrollmentCallback.onEnrollmentError(FingerprintManager.FINGERPRINT_ERROR_CANCELED, "test");
ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
IntentForResult startedActivity =
@@ -132,6 +144,16 @@ public class FingerprintEnrollFindSensorTest {
.isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
}
@Test
public void clickSkip_shouldReturnResultSkip() {
Button skipButton = mActivity.findViewById(R.id.skip_button);
skipButton.performClick();
ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
assertThat(shadowActivity.getResultCode()).named("result code")
.isEqualTo(FingerprintEnrollBase.RESULT_SKIP);
}
private EnrollmentCallback verifyAndCaptureEnrollmentCallback() {
ArgumentCaptor<EnrollmentCallback> callbackCaptor =
ArgumentCaptor.forClass(EnrollmentCallback.class);