From 34a181aceb3e49397584c1f768a75593b15c55ed Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Tue, 20 Jun 2017 20:00:54 -0700 Subject: [PATCH] Create add more fingerprint suggestion for setup Create FingerprintSuggestionActivity which is a suggestion shown in setup to allow the user to add more fingerprints for unlocking the device. Test: cd tests/robotests && mma Bug: 62638180 Change-Id: Icfab9bd2523fdeadc4cc6f0ad4f45606260c4755 --- AndroidManifest.xml | 42 ++++---- src/com/android/settings/Settings.java | 1 - .../suggestions/SuggestionsChecks.java | 2 +- .../FingerprintSuggestionActivity.java | 39 ++++++++ .../FingerprintSuggestionActivityTest.java | 96 +++++++++++++++++++ .../suggestions/SettingsSuggestionsTest.java | 4 +- 6 files changed, 163 insertions(+), 21 deletions(-) create mode 100644 src/com/android/settings/fingerprint/FingerprintSuggestionActivity.java create mode 100644 tests/robotests/src/com/android/settings/fingerprint/FingerprintSuggestionActivityTest.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index cbf1eae63d7..33d9e196a11 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1583,24 +1583,6 @@ android:windowSoftInputMode="stateHidden|adjustResize" android:theme="@style/GlifTheme.Light"/> - - - - - - - - - - - @@ -1620,6 +1602,30 @@ + + + + + + + + + + + + + + + + mController; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + + final Intent intent = new Intent(); + mController = Robolectric.buildActivity(FingerprintSuggestionActivity.class, intent); + + ShadowUserManager.getShadow().setUserInfo(0, mUserInfo); + } + + @Test + public void testKeyguardSecure_shouldFinishWithFingerprintResultSkip() { + getShadowKeyguardManager().setIsKeyguardSecure(true); + + mController.create().resume(); + + final Button cancelButton = mController.get().findViewById(R.id.fingerprint_cancel_button); + assertThat(cancelButton.getText().toString()).isEqualTo("Cancel"); + assertThat(cancelButton.getVisibility()).named("Cancel visible").isEqualTo(View.VISIBLE); + cancelButton.performClick(); + + ShadowActivity shadowActivity = Shadows.shadowOf(mController.get()); + assertThat(mController.get().isFinishing()).named("Is finishing").isTrue(); + assertThat(shadowActivity.getResultCode()).named("Result code") + .isEqualTo(Activity.RESULT_CANCELED); + } + + private ShadowKeyguardManager getShadowKeyguardManager() { + return Shadows.shadowOf(application.getSystemService(KeyguardManager.class)); + } +} diff --git a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java index 574894ea168..4a4c9c41f7d 100644 --- a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java +++ b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java @@ -20,6 +20,7 @@ import android.annotation.StringRes; import android.content.Context; import com.android.settings.R; +import com.android.settings.fingerprint.FingerprintSuggestionActivity; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; @@ -66,7 +67,8 @@ public class SettingsSuggestionsTest { @Test public void fingerprintSuggestion_isValid() { - assertSuggestionEquals("com.android.settings.Settings$FingerprintSuggestionActivity", + assertSuggestionEquals( + FingerprintSuggestionActivity.class.getName(), CATEGORY_FIRST_IMPRESSION, R.string.suggestion_additional_fingerprints, R.string.suggestion_additional_fingerprints_summary);