From 8d2dc16d7f02f851a4b5b73c0990548ca0eedc39 Mon Sep 17 00:00:00 2001 From: pastychang Date: Fri, 21 Dec 2018 14:01:18 +0800 Subject: [PATCH 1/2] Change layout prefix of setupdesign from suw to sud Bug: 120805516 Test: RunSettingsRoboTests Change-Id: Icd24f0336191c4575838cb1b9d131c885304b527 --- res/layout-land/choose_lock_pattern.xml | 2 +- res/layout-land/confirm_lock_pattern_normal.xml | 2 +- res/layout-land/fingerprint_enroll_enrolling.xml | 2 +- res/layout-land/fingerprint_enroll_find_sensor.xml | 2 +- res/layout-land/fingerprint_enroll_finish.xml | 2 +- res/layout/choose_lock_pattern_common.xml | 2 +- res/layout/confirm_lock_pattern_normal_base.xml | 2 +- tests/robotests/src/com/android/settings/MasterClearTest.java | 4 +--- 8 files changed, 8 insertions(+), 10 deletions(-) diff --git a/res/layout-land/choose_lock_pattern.xml b/res/layout-land/choose_lock_pattern.xml index 25230cbc714..d2d436f11a3 100644 --- a/res/layout-land/choose_lock_pattern.xml +++ b/res/layout-land/choose_lock_pattern.xml @@ -21,7 +21,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:icon="@drawable/ic_lock" - android:layout="@layout/suw_glif_blank_template" + android:layout="@layout/sud_glif_blank_template" settings:suwHeaderText="@string/lock_settings_picker_title"> + android:layout="@layout/sud_glif_blank_template"> diff --git a/res/layout/confirm_lock_pattern_normal_base.xml b/res/layout/confirm_lock_pattern_normal_base.xml index 14798dfbfd5..acb2bbe0fb1 100644 --- a/res/layout/confirm_lock_pattern_normal_base.xml +++ b/res/layout/confirm_lock_pattern_normal_base.xml @@ -19,7 +19,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:icon="@drawable/ic_lock" - android:layout="@layout/suw_glif_blank_template"> + android:layout="@layout/sud_glif_blank_template"> Date: Thu, 20 Dec 2018 15:41:33 +0800 Subject: [PATCH 2/2] Cleans up DefaultAppShortcutPreferenceControllerBaseTest.java - Checks the next started activity in robolectric with: ShadowActivity.getNextStartedActivity(); instead of spying Activity - Uses ShadowUserManager instead of spying UserManager Change-Id: I3de9637f77401ca0dfab1b061a2846e7443170ad Fixes: 117990359 Test: Robo test --- ...pShortcutPreferenceControllerBaseTest.java | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java index dd7cde2a46e..529c0ee0bd1 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java @@ -18,13 +18,13 @@ package com.android.settings.applications.appinfo; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.robolectric.Shadows.shadowOf; import android.app.Activity; import android.content.Context; +import android.content.Intent; import android.os.UserManager; import androidx.preference.Preference; @@ -40,12 +40,15 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; +import org.robolectric.annotation.Config; +import org.robolectric.shadows.ShadowActivity; +import org.robolectric.shadows.ShadowUserManager; @RunWith(RobolectricTestRunner.class) +@Config(shadows = ShadowUserManager.class) public class DefaultAppShortcutPreferenceControllerBaseTest { - @Mock - private UserManager mUserManager; + private ShadowUserManager mShadowUserManager; @Mock private AppInfoDashboardFragment mFragment; @Mock @@ -57,8 +60,8 @@ public class DefaultAppShortcutPreferenceControllerBaseTest { @Before public void setUp() { MockitoAnnotations.initMocks(this); - mActivity = spy(Robolectric.setupActivity(Activity.class)); - when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager); + mActivity = Robolectric.setupActivity(Activity.class); + mShadowUserManager = shadowOf(mActivity.getSystemService(UserManager.class)); mController = new TestPreferenceController(mActivity, mFragment); final String key = mController.getPreferenceKey(); when(mPreference.getKey()).thenReturn(key); @@ -66,28 +69,28 @@ public class DefaultAppShortcutPreferenceControllerBaseTest { @Test public void getAvailabilityStatus_managedProfile_shouldReturnDisabled() { - when(mUserManager.isManagedProfile()).thenReturn(true); + mShadowUserManager.setManagedProfile(true); assertThat(mController.getAvailabilityStatus()) - .isEqualTo(DefaultAppShortcutPreferenceControllerBase.DISABLED_FOR_USER); + .isEqualTo(DefaultAppShortcutPreferenceControllerBase.DISABLED_FOR_USER); } @Test public void getAvailabilityStatus_hasAppCapability_shouldReturnAvailable() { mController.capable = true; - when(mUserManager.isManagedProfile()).thenReturn(false); + mShadowUserManager.setManagedProfile(false); assertThat(mController.getAvailabilityStatus()) - .isEqualTo(DefaultAppShortcutPreferenceControllerBase.AVAILABLE); + .isEqualTo(DefaultAppShortcutPreferenceControllerBase.AVAILABLE); } @Test public void getAvailabilityStatus_noAppCapability_shouldReturnDisabled() { mController.capable = false; - when(mUserManager.isManagedProfile()).thenReturn(false); + mShadowUserManager.setManagedProfile(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( - DefaultAppShortcutPreferenceControllerBase.UNSUPPORTED_ON_DEVICE); + DefaultAppShortcutPreferenceControllerBase.UNSUPPORTED_ON_DEVICE); } @Test @@ -111,13 +114,17 @@ public class DefaultAppShortcutPreferenceControllerBaseTest { @Test public void handlePreferenceTreeClick_shouldStartDefaultAppSettings() { + final ShadowActivity shadowActivity = shadowOf(mActivity); + mController.handlePreferenceTreeClick(mPreference); - verify(mActivity).startActivity(argThat(intent -> intent != null - && intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT).equals( - DefaultAppSettings.class.getName()) - && intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS) - .getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY).equals("TestKey"))); + final Intent nextIntent = shadowActivity.getNextStartedActivity(); + assertThat(nextIntent).isNotNull(); + assertThat(nextIntent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo( + DefaultAppSettings.class.getName()); + assertThat( + nextIntent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS).getString( + SettingsActivity.EXTRA_FRAGMENT_ARG_KEY)).isEqualTo("TestKey"); } private class TestPreferenceController extends DefaultAppShortcutPreferenceControllerBase {