From e18902ec6764e138cd4bb5a452a9c25736764252 Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Wed, 20 Sep 2017 22:20:22 -0700 Subject: [PATCH] Update Robolectric to 3.4.2 Bug: 66693279 Test: m RunSettingsRoboTests m RunSettingsRoboTests-jacoco Change-Id: I9df619c3d68f0af2ee2ae944a15998275129f7c2 --- tests/robotests/Android.mk | 8 +-- .../settings/SettingsActivityTest.java | 4 -- .../settings/SettingsLicenseActivityTest.java | 2 +- .../settings/SetupChooseLockPatternTest.java | 8 +-- .../ShortcutServicePickerFragmentTest.java | 15 +++--- .../AccountDetailDashboardFragmentTest.java | 1 - ...AccountHeaderPreferenceControllerTest.java | 2 + .../UserAndAccountDashboardFragmentTest.java | 2 - .../AppStorageSizesControllerTest.java | 24 ++++----- .../applications/InstalledAppDetailsTest.java | 4 +- .../MusicViewHolderControllerTest.java | 4 +- .../PhotosViewHolderControllerTest.java | 4 +- .../assist/DefaultAssistPickerTest.java | 21 +++++--- .../DefaultAutofillPickerTest.java | 7 ++- .../InstantAppButtonsControllerTest.java | 16 ++++-- .../backup/BackupSettingsActivityTest.java | 15 +++--- .../bluetooth/BluetoothEnablerTest.java | 19 ++++--- ...luetoothFilesPreferenceControllerTest.java | 3 -- ...hMasterSwitchPreferenceControllerTest.java | 1 - .../ForgetDeviceDialogFragmentTest.java | 1 - .../DashboardFeatureProviderImplTest.java | 36 ++++++------- .../suggestions/SuggestionLogHelperTest.java | 6 +++ .../DataPlanSummaryPreferenceTest.java | 26 +++++---- .../datausage/DataPlanUsageSummaryTest.java | 1 - .../datausage/DataUsageSummaryTest.java | 5 +- ...utoTimeFormatPreferenceControllerTest.java | 5 +- .../TimeFormatPreferenceControllerTest.java | 1 - ...raLaserSensorPreferenceControllerTest.java | 1 - ...eSummaryDonutPreferenceControllerTest.java | 12 ++--- ...ightnessLevelPreferenceControllerTest.java | 11 ++-- .../FingerprintEnrollFindSensorTest.java | 3 -- .../FingerprintSuggestionActivityTest.java | 2 +- .../SetupFingerprintEnrollFindSensorTest.java | 3 -- ...etupFingerprintEnrollIntroductionTest.java | 5 +- ...roundActivityPreferenceControllerTest.java | 9 +++- .../settings/fuelgauge/BatteryEntryTest.java | 2 +- .../fuelgauge/BatteryInfoLoaderTest.java | 1 - .../fuelgauge/PowerUsageAdvancedTest.java | 1 - .../fuelgauge/PowerUsageSummaryTest.java | 11 ++-- .../anomaly/AnomalyDialogFragmentTest.java | 1 - ...nomalySummaryPreferenceControllerTest.java | 1 - .../BluetoothScanAnomalyDetectorTest.java | 1 - .../gestures/AssistGestureSettingsTest.java | 1 - ...ickupGesturePreferenceControllerTest.java} | 2 +- ...oNotificationPreferenceControllerTest.java | 9 +--- .../UserDictionaryCursorLoaderTest.java | 2 +- .../inputmethod/UserDictionaryListTest.java | 2 +- .../LocationPreferenceControllerTest.java | 4 -- .../notification/NotificationBackendTest.java | 8 --- .../notification/SuppressorHelperTest.java | 7 +++ .../CursorToSearchResultConverterTest.java | 18 ++++--- .../settings/search/InlinePayloadTest.java | 1 - .../settings/search/SearchFragmentTest.java | 2 +- .../security/ConfigureKeyGuardDialogTest.java | 4 +- .../NewDeviceIntroSuggestionActivityTest.java | 37 +++++++------ .../support/SupportDashboardActivityTest.java | 13 +++-- .../SupportDisclaimerDialogFragmentTest.java | 2 +- .../SettingsRobolectricTestRunner.java | 18 +++---- .../shadow/SettingsShadowResources.java | 31 ++++++----- .../shadow/ShadowFingerprintManager.java | 4 +- .../shadow/ShadowPackageMonitor.java | 7 ++- .../testutils/shadow/ShadowUserManager.java | 4 +- .../WallpaperSuggestionActivityTest.java | 2 +- .../webview/WebViewAppPickerTest.java | 31 ++++++----- .../UseOpenWifiPreferenceControllerTest.java | 53 ++++++++++--------- .../WifiWakeupPreferenceControllerTest.java | 3 -- 66 files changed, 297 insertions(+), 273 deletions(-) rename tests/robotests/src/com/android/settings/gestures/{PIckupGesturePreferenceControllerTest.java => PickupGesturePreferenceControllerTest.java} (98%) diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk index ae0102feaab..97e5e04f875 100644 --- a/tests/robotests/Android.mk +++ b/tests/robotests/Android.mk @@ -9,12 +9,12 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src) # Include the testing libraries (JUnit4 + Robolectric libs). LOCAL_STATIC_JAVA_LIBRARIES := \ mockito-robolectric-prebuilt \ + platform-robolectric-android-all-stubs \ truth-prebuilt LOCAL_JAVA_LIBRARIES := \ junit \ - platform-robolectric-prebuilt \ - sdk_vcurrent \ + platform-robolectric-3.4.2-prebuilt \ telephony-common LOCAL_INSTRUMENTATION_FOR := Settings @@ -40,4 +40,6 @@ LOCAL_TEST_PACKAGE := Settings LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src -include prebuilts/misc/common/robolectric/run_robotests.mk \ No newline at end of file +LOCAL_ROBOTEST_TIMEOUT := 36000 + +include prebuilts/misc/common/robolectric/3.4.2/run_robotests.mk diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java index 3fc46e86609..fac136cc236 100644 --- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java +++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java @@ -26,7 +26,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.app.ActivityManager; import android.app.FragmentManager; import android.app.FragmentTransaction; @@ -35,10 +34,8 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; -import android.view.Menu; import com.android.settings.search.SearchActivity; -import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; @@ -50,7 +47,6 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; -import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) diff --git a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java index dd17d9c1e8e..ecda97edc46 100644 --- a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java +++ b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java @@ -39,8 +39,8 @@ import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; -import org.robolectric.util.ActivityController; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) diff --git a/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java index 69a13517951..206ba953a57 100644 --- a/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java +++ b/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java @@ -37,9 +37,9 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; -import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; -import org.robolectric.res.builder.RobolectricPackageManager.ComponentState; +import org.robolectric.shadows.ShadowPackageManager.ComponentState; @RunWith(SettingsRobolectricTestRunner.class) @Config( @@ -57,7 +57,7 @@ public class SetupChooseLockPatternTest { @Before public void setUp() { - RuntimeEnvironment.getRobolectricPackageManager().setComponentEnabledSetting( + Shadows.shadowOf(application.getPackageManager()).setComponentEnabledSetting( new ComponentName(application, SetupRedactionInterstitial.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); @@ -77,7 +77,7 @@ public class SetupChooseLockPatternTest { findFragment(mActivity).onChosenLockSaveFinished(false, null); ComponentState redactionComponentState = - RuntimeEnvironment.getRobolectricPackageManager().getComponentState( + Shadows.shadowOf(application.getPackageManager()).getComponentState( new ComponentName(application, SetupRedactionInterstitial.class)); assertThat(redactionComponentState.newState).named("Redaction component state") .isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED); diff --git a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java index 785bdbdffaf..66621a000bd 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java @@ -16,14 +16,19 @@ package com.android.settings.accessibility; +import static com.google.common.truth.Truth.assertThat; + +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + import android.app.Activity; import android.content.Context; import android.os.UserManager; -import android.test.mock.MockContentResolver; -import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; @@ -35,11 +40,6 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; -import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.when; - @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class ShortcutServicePickerFragmentTest { @@ -58,7 +58,6 @@ public class ShortcutServicePickerFragmentTest { private PackageManagerWrapper mPackageManager; private ShortcutServicePickerFragment mFragment; - private MockContentResolver mContentResolver; @Before public void setUp() { diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java index 15a3746aa94..cfed83b790a 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java @@ -41,7 +41,6 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; -import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import org.robolectric.util.ReflectionHelpers; diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java index 34ac1839ec6..db1db10fcd0 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java @@ -18,6 +18,7 @@ package com.android.settings.accounts; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; import android.accounts.Account; @@ -76,6 +77,7 @@ public class AccountHeaderPreferenceControllerTest { FakeFeatureFactory.setupForTest(mContext); mHeaderPreference = new LayoutPreference( RuntimeEnvironment.application, R.layout.settings_entity_header); + doReturn(mContext).when(mActivity).getApplicationContext(); } @Test diff --git a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java index 8c13aab993c..8dba2f25371 100644 --- a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java @@ -17,7 +17,6 @@ package com.android.settings.accounts; import android.app.Activity; import android.content.pm.UserInfo; -import android.os.Bundle; import android.os.UserManager; import android.provider.SearchIndexableResource; @@ -25,7 +24,6 @@ import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.dashboard.SummaryLoader; import com.android.settingslib.drawer.CategoryKey; -import com.android.settingslib.drawer.Tile; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java index 8145b40fcb2..027bd33f835 100644 --- a/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/AppStorageSizesControllerTest.java @@ -85,10 +85,10 @@ public class AppStorageSizesControllerTest { mController.setResult(result); mController.updateUi(mContext); - assertThat(mAppPreference.getSummary()).isEqualTo("1.00B"); - assertThat(mCachePreference.getSummary()).isEqualTo("10.00B"); - assertThat(mDataPreference.getSummary()).isEqualTo("90.00B"); - assertThat(mTotalPreference.getSummary()).isEqualTo("101B"); + assertThat(mAppPreference.getSummary()).isEqualTo("1.00 B"); + assertThat(mCachePreference.getSummary()).isEqualTo("10.00 B"); + assertThat(mDataPreference.getSummary()).isEqualTo("90.00 B"); + assertThat(mTotalPreference.getSummary()).isEqualTo("101 B"); } @Test @@ -103,10 +103,10 @@ public class AppStorageSizesControllerTest { mController.setCacheCleared(true); mController.updateUi(mContext); - assertThat(mAppPreference.getSummary()).isEqualTo("1.00B"); - assertThat(mCachePreference.getSummary()).isEqualTo("0.00B"); - assertThat(mDataPreference.getSummary()).isEqualTo("90.00B"); - assertThat(mTotalPreference.getSummary()).isEqualTo("91.00B"); + assertThat(mAppPreference.getSummary()).isEqualTo("1.00 B"); + assertThat(mCachePreference.getSummary()).isEqualTo("0.00 B"); + assertThat(mDataPreference.getSummary()).isEqualTo("90.00 B"); + assertThat(mTotalPreference.getSummary()).isEqualTo("91.00 B"); } @Test @@ -121,9 +121,9 @@ public class AppStorageSizesControllerTest { mController.setDataCleared(true); mController.updateUi(mContext); - assertThat(mAppPreference.getSummary()).isEqualTo("1.00B"); - assertThat(mCachePreference.getSummary()).isEqualTo("0.00B"); - assertThat(mDataPreference.getSummary()).isEqualTo("0.00B"); - assertThat(mTotalPreference.getSummary()).isEqualTo("1.00B"); + assertThat(mAppPreference.getSummary()).isEqualTo("1.00 B"); + assertThat(mCachePreference.getSummary()).isEqualTo("0.00 B"); + assertThat(mDataPreference.getSummary()).isEqualTo("0.00 B"); + assertThat(mTotalPreference.getSummary()).isEqualTo("1.00 B"); } } diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java index 35f961bf362..93f364ba150 100644 --- a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java +++ b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java @@ -192,7 +192,7 @@ public final class InstalledAppDetailsTest { when(stats.getTotalBytes()).thenReturn(1L); assertThat(InstalledAppDetails.getStorageSummary(context, stats, true)) - .isEqualTo("1.00B used in external storage"); + .isEqualTo("1.00 B used in external storage"); } @Test @@ -202,7 +202,7 @@ public final class InstalledAppDetailsTest { when(stats.getTotalBytes()).thenReturn(1L); assertThat(InstalledAppDetails.getStorageSummary(context, stats, false)) - .isEqualTo("1.00B used in internal storage"); + .isEqualTo("1.00 B used in internal storage"); } @Test diff --git a/tests/robotests/src/com/android/settings/applications/MusicViewHolderControllerTest.java b/tests/robotests/src/com/android/settings/applications/MusicViewHolderControllerTest.java index 5df5bed9ed3..3d04c73626f 100644 --- a/tests/robotests/src/com/android/settings/applications/MusicViewHolderControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/MusicViewHolderControllerTest.java @@ -77,7 +77,7 @@ public class MusicViewHolderControllerTest { public void storageShouldBeZeroBytesIfQueriedBeforeStorageQueryFinishes() { mController.setupView(mHolder); - assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00B"); + assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00 B"); } @Test @@ -88,7 +88,7 @@ public class MusicViewHolderControllerTest { mController.queryStats(); mController.setupView(mHolder); - assertThat(mHolder.summary.getText().toString()).isEqualTo("1.00B"); + assertThat(mHolder.summary.getText().toString()).isEqualTo("1.00 B"); } @Test diff --git a/tests/robotests/src/com/android/settings/applications/PhotosViewHolderControllerTest.java b/tests/robotests/src/com/android/settings/applications/PhotosViewHolderControllerTest.java index 7eacba2e285..7bf338d1e52 100644 --- a/tests/robotests/src/com/android/settings/applications/PhotosViewHolderControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/PhotosViewHolderControllerTest.java @@ -59,7 +59,7 @@ public class PhotosViewHolderControllerTest { public void storageShouldBeZeroBytesIfQueriedBeforeStorageQueryFinishes() { mController.setupView(mHolder); - assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00B"); + assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00 B"); } @Test @@ -70,7 +70,7 @@ public class PhotosViewHolderControllerTest { mController.queryStats(); mController.setupView(mHolder); - assertThat(mHolder.summary.getText().toString()).isEqualTo("11.00B"); + assertThat(mHolder.summary.getText().toString()).isEqualTo("11.00 B"); } @Test diff --git a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java index 52916f5bc95..65f0b4667fa 100644 --- a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPickerTest.java @@ -25,6 +25,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; @@ -42,8 +43,12 @@ import static org.mockito.Mockito.spy; @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class DefaultAssistPickerTest { - private static final ComponentName TEST_ASSIST = - new ComponentName("com.android.settings", "assist"); + private static ComponentName sTestAssist; + + @BeforeClass + public static void beforeClass() { + sTestAssist = new ComponentName("com.android.settings", "assist"); + } private Context mContext; private DefaultAssistPicker mPicker; @@ -59,22 +64,22 @@ public class DefaultAssistPickerTest { @Test public void setDefaultAppKey_shouldUpdateDefaultAssist() { final List assistants = new ArrayList<>(); - assistants.add(new DefaultAssistPicker.Info(TEST_ASSIST)); + assistants.add(new DefaultAssistPicker.Info(sTestAssist)); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); - mPicker.setDefaultKey(TEST_ASSIST.flattenToString()); + mPicker.setDefaultKey(sTestAssist.flattenToString()); assertThat(Settings.Secure.getString(mContext.getContentResolver(), Settings.Secure.ASSISTANT)) - .isEqualTo(TEST_ASSIST.flattenToString()); + .isEqualTo(sTestAssist.flattenToString()); assertThat(mPicker.getDefaultKey()) - .isEqualTo(TEST_ASSIST.flattenToString()); + .isEqualTo(sTestAssist.flattenToString()); } @Test public void setDefaultAppKey_noAvaialbleAssit_shouldClearDefaultAssist() { final List assistants = new ArrayList<>(); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); - mPicker.setDefaultKey(TEST_ASSIST.flattenToString()); + mPicker.setDefaultKey(sTestAssist.flattenToString()); assertThat(Settings.Secure.getString(mContext.getContentResolver(), Settings.Secure.ASSISTANT)) @@ -86,7 +91,7 @@ public class DefaultAssistPickerTest { @Test public void setDefaultAppKeyToNull_shouldClearDefaultAssist() { final List assistants = new ArrayList<>(); - assistants.add(new DefaultAssistPicker.Info(TEST_ASSIST)); + assistants.add(new DefaultAssistPicker.Info(sTestAssist)); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); mPicker.setDefaultKey(null); diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java index 9a3ec100c73..06d3b8b13a8 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java @@ -17,19 +17,19 @@ package com.android.settings.applications.defaultapps; import static com.google.common.truth.Truth.assertThat; + import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.app.Activity; -import android.content.ComponentName; import android.content.Context; import android.os.UserManager; -import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; @@ -46,8 +46,7 @@ import org.robolectric.util.ReflectionHelpers; @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class DefaultAutofillPickerTest { - private static final String TEST_APP_KEY = new ComponentName("foo.bar", - "foo.bar.Baz").flattenToString(); + private static final String TEST_APP_KEY = "foo.bar/foo.bar.Baz"; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Activity mActivity; diff --git a/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java b/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java index f56fbbf00e6..c7ca133b3fe 100644 --- a/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java @@ -51,6 +51,7 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; @@ -66,11 +67,16 @@ public class InstantAppButtonsControllerTest { private static final String TEST_INSTALLER_PACKAGE_NAME = "com.installer"; private static final String TEST_INSTALLER_ACTIVITY_NAME = "com.installer.InstallerActivity"; - private static final ComponentName TEST_INSTALLER_COMPONENT = - new ComponentName( - TEST_INSTALLER_PACKAGE_NAME, - TEST_INSTALLER_ACTIVITY_NAME); private static final String TEST_AIA_PACKAGE_NAME = "test.aia.package"; + private static ComponentName sTestInstallerComponent; + + @BeforeClass + public static void beforeClass() { + sTestInstallerComponent = + new ComponentName( + TEST_INSTALLER_PACKAGE_NAME, + TEST_INSTALLER_ACTIVITY_NAME); + } @Mock(answer = Answers.RETURNS_DEEP_STUBS) Context mockContext; @@ -133,7 +139,7 @@ public class InstantAppButtonsControllerTest { receivedListener.onClick(mockInstallButton); assertThat(testFragment.getStartActivityIntent()).isNotNull(); assertThat(testFragment.getStartActivityIntent().getComponent()) - .isEqualTo(TEST_INSTALLER_COMPONENT); + .isEqualTo(sTestInstallerComponent); } @Test diff --git a/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java b/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java index 69c8a0385f2..44c7e101478 100644 --- a/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java +++ b/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java @@ -16,6 +16,8 @@ package com.android.settings.backup; +import static com.google.common.truth.Truth.assertThat; + import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.isA; @@ -32,9 +34,9 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.os.UserHandle; -import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.search.SearchIndexableRaw; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.After; import org.junit.Before; @@ -44,14 +46,13 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import org.robolectric.annotation.Resetter; -import org.robolectric.res.builder.RobolectricPackageManager; -import org.robolectric.util.ActivityController; - -import static com.google.common.truth.Truth.assertThat; +import org.robolectric.shadows.ShadowPackageManager; import java.util.List; @@ -64,7 +65,7 @@ public class BackupSettingsActivityTest { private ActivityController mActivityController; private BackupSettingsActivity mActivity; private Application mApplication; - private RobolectricPackageManager mPackageManager; + private ShadowPackageManager mPackageManager; private static boolean mIsBackupProvidedByOEM; @Mock @@ -84,7 +85,7 @@ public class BackupSettingsActivityTest { mApplication = RuntimeEnvironment.application; mActivityController = Robolectric.buildActivity(BackupSettingsActivity.class); mActivity = mActivityController.get(); - mPackageManager = (RobolectricPackageManager) mApplication.getPackageManager(); + mPackageManager = Shadows.shadowOf(mApplication.getPackageManager()); doReturn(mComponent).when(mIntent).getComponent(); } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java index 8fa8f06a7ef..b973edb674d 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java @@ -38,6 +38,7 @@ import com.android.settingslib.bluetooth.LocalBluetoothAdapter; import com.android.settingslib.bluetooth.LocalBluetoothManager; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -62,8 +63,12 @@ import static org.mockito.Mockito.when; }) public class BluetoothEnablerTest { - private static final EnforcedAdmin FAKE_ENFORCED_ADMIN = - new EnforcedAdmin(new ComponentName("test.package", "test.Class"), 10); + private static EnforcedAdmin sFakeEnforcedAdmin; + + @BeforeClass + public static void beforeClass() { + sFakeEnforcedAdmin = new EnforcedAdmin(new ComponentName("test.package", "test.Class"), 10); + } @Mock private MetricsFeatureProvider mMetricsFeatureProvider; @@ -130,7 +135,7 @@ public class BluetoothEnablerTest { public void maybeEnforceRestrictions_disallowBluetoothRestrictionSet() { // GIVEN Bluetooth has been disallowed... when(mRestrictionUtils.checkIfRestrictionEnforced( - mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(FAKE_ENFORCED_ADMIN); + mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(sFakeEnforcedAdmin); when(mRestrictionUtils.checkIfRestrictionEnforced( mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(null); @@ -139,7 +144,7 @@ public class BluetoothEnablerTest { assertThat(mBluetoothEnabler.maybeEnforceRestrictions()).isTrue(); // THEN the expected EnfoceAdmin is set. - verify(mMasterSwitchController).setDisabledByAdmin(FAKE_ENFORCED_ADMIN); + verify(mMasterSwitchController).setDisabledByAdmin(sFakeEnforcedAdmin); // THEN the switch is unchecked. verify(mMasterSwitchController).setChecked(false); @@ -151,14 +156,14 @@ public class BluetoothEnablerTest { when(mRestrictionUtils.checkIfRestrictionEnforced( mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(null); when(mRestrictionUtils.checkIfRestrictionEnforced( - mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(FAKE_ENFORCED_ADMIN); + mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(sFakeEnforcedAdmin); // WHEN the maybeEnforceRestrictions is called... // THEN true is returned to indicate there was a restriction to enforce. assertThat(mBluetoothEnabler.maybeEnforceRestrictions()).isTrue(); // THEN the expected EnfoceAdmin is set. - verify(mMasterSwitchController).setDisabledByAdmin(FAKE_ENFORCED_ADMIN); + verify(mMasterSwitchController).setDisabledByAdmin(sFakeEnforcedAdmin); // THEN the switch is unchecked. verify(mMasterSwitchController).setChecked(false); @@ -168,7 +173,7 @@ public class BluetoothEnablerTest { public void maybeEnforceRestrictions_disallowBluetoothNotOverriden() { // GIVEN Bluetooth has been disallowed... when(mRestrictionUtils.checkIfRestrictionEnforced( - mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(FAKE_ENFORCED_ADMIN); + mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(sFakeEnforcedAdmin); when(mRestrictionUtils.checkIfRestrictionEnforced( mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(null); diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothFilesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothFilesPreferenceControllerTest.java index 7713aaf8fb1..cdaf87637ce 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothFilesPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothFilesPreferenceControllerTest.java @@ -22,7 +22,6 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.preference.Preference; -import android.text.TextUtils; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; @@ -35,8 +34,6 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; -import java.util.List; - @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class BluetoothFilesPreferenceControllerTest { diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceControllerTest.java index 9634661c9be..c9d57461c62 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceControllerTest.java @@ -21,7 +21,6 @@ import android.content.Context; import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.PreferenceScreen; -import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; diff --git a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java index 21bc868ed49..93437212bdb 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java @@ -33,7 +33,6 @@ import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.bluetooth.CachedBluetoothDevice; -import com.android.settingslib.bluetooth.LocalBluetoothManager; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java index 2f4e6d857f1..a9778720df6 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java @@ -23,6 +23,7 @@ import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static org.robolectric.RuntimeEnvironment.application; import static org.robolectric.Shadows.shadowOf; import android.app.Activity; @@ -59,7 +60,6 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; -import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowApplication; @@ -138,7 +138,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.metaData = new Bundle(); tile.userHandle = new ArrayList<>(); @@ -159,7 +159,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.metaData = new Bundle(); tile.userHandle = new ArrayList<>(); @@ -184,19 +184,19 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.metaData = new Bundle(); tile.userHandle = new ArrayList<>(); tile.userHandle.add(mock(UserHandle.class)); tile.intent = new Intent(); tile.intent.setComponent( - new ComponentName(RuntimeEnvironment.application.getPackageName(), "class")); + new ComponentName(application.getPackageName(), "class")); when(mActivity.getSystemService(Context.USER_SERVICE)) .thenReturn(mUserManager); when(mActivity.getApplicationContext().getPackageName()) - .thenReturn(RuntimeEnvironment.application.getPackageName()); + .thenReturn(application.getPackageName()); mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER); @@ -211,7 +211,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.intent = new Intent(); tile.intent.setComponent(new ComponentName("pkg", "class")); @@ -224,7 +224,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_noSummary_shouldSetSummaryToPlaceholder() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.intent = new Intent(); tile.intent.setComponent(new ComponentName("pkg", "class")); @@ -232,12 +232,12 @@ public class DashboardFeatureProviderImplTest { preference, tile, null /*key */, Preference.DEFAULT_ORDER); assertThat(preference.getSummary()) - .isEqualTo(RuntimeEnvironment.application.getString(R.string.summary_placeholder)); + .isEqualTo(application.getString(R.string.summary_placeholder)); } @Test public void bindPreference_hasSummary_shouldSetSummary() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.summary = "test"; tile.intent = new Intent(); @@ -254,7 +254,7 @@ public class DashboardFeatureProviderImplTest { ShadowThreadUtils.class }) public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.intent = new Intent(); tile.intent.setComponent(new ComponentName("pkg", "class")); @@ -270,7 +270,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_withNullKeyTileKey_shouldUseTileKey() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.key = "key"; tile.intent = new Intent(); @@ -287,12 +287,12 @@ public class DashboardFeatureProviderImplTest { ShadowThreadUtils.class }) public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.key = "key"; tile.intent = new Intent(); tile.intent.setComponent( - new ComponentName(RuntimeEnvironment.application.getPackageName(), "class")); + new ComponentName(application.getPackageName(), "class")); tile.metaData = new Bundle(); tile.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI, "content://com.android.settings/tile_icon"); @@ -304,7 +304,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_withBaseOrder_shouldOffsetPriority() { final int baseOrder = 100; - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.metaData = new Bundle(); tile.priority = 10; @@ -316,7 +316,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final int testOrder = -30; final Tile tile = new Tile(); tile.metaData = new Bundle(); @@ -330,7 +330,7 @@ public class DashboardFeatureProviderImplTest { @Test public void bindPreference_invalidOrderMetadata_shouldIgnore() { - final Preference preference = new Preference(RuntimeEnvironment.application); + final Preference preference = new Preference(application); final Tile tile = new Tile(); tile.metaData = new Bundle(); tile.metaData.putString(mImpl.META_DATA_KEY_ORDER, "hello"); @@ -368,7 +368,7 @@ public class DashboardFeatureProviderImplTest { @Test public void clickPreference_withUnresolvableIntent_shouldNotLaunchAnything() { ReflectionHelpers.setField( - mImpl, "mPackageManager", RuntimeEnvironment.getPackageManager()); + mImpl, "mPackageManager", application.getPackageManager()); Activity activity = Robolectric.buildActivity(Activity.class).get(); final ShadowApplication application = ShadowApplication.getInstance(); final Preference preference = new Preference(application.getApplicationContext()); diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionLogHelperTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionLogHelperTest.java index 8eb4273fc54..01d253f7fb3 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionLogHelperTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionLogHelperTest.java @@ -21,9 +21,15 @@ import static com.google.common.truth.Truth.assertThat; import android.util.Pair; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import com.android.settings.TestConfig; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.annotation.Config; +@RunWith(SettingsRobolectricTestRunner.class) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class SuggestionLogHelperTest { @Test diff --git a/tests/robotests/src/com/android/settings/datausage/DataPlanSummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/DataPlanSummaryPreferenceTest.java index a5dbf785771..9ddce537032 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataPlanSummaryPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataPlanSummaryPreferenceTest.java @@ -31,6 +31,7 @@ import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.widget.DonutView; import org.junit.After; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; @@ -48,9 +49,16 @@ public final class DataPlanSummaryPreferenceTest { private static final String TEST_PLAN_USAGE = "Test plan usage"; private static final String TEST_PLAN_NAME = "Test plan name"; private static final String TEST_PLAN_DESCRIPTION = "Test plan description"; - private static final int PLAN_USAGE_TEXT_COLOR = Color.parseColor("#FF5C94F1"); - private static final int METER_BACKGROUND_COLOR = Color.parseColor("#FFDBDCDC"); - private static final int METER_CONSUMED_COLOR = Color.parseColor("#FF5C94F1"); + private static int sPlanUsageTextColor; + private static int sMeterBackgroundColor; + private static int sMeterConsumedColor; + + @BeforeClass + public static void beforeClass() { + sPlanUsageTextColor = Color.parseColor("#FF5C94F1"); + sMeterBackgroundColor = Color.parseColor("#FFDBDCDC"); + sMeterConsumedColor = Color.parseColor("#FF5C94F1"); + } private DataPlanSummaryPreference mPreference; private PreferenceViewHolder mHolder; @@ -87,18 +95,18 @@ public final class DataPlanSummaryPreferenceTest { @Test public void shouldRender_withData() { mPreference.setTitle(TEST_PLAN_USAGE); - mPreference.setUsageTextColor(PLAN_USAGE_TEXT_COLOR); + mPreference.setUsageTextColor(sPlanUsageTextColor); mPreference.setName(TEST_PLAN_NAME); mPreference.setDescription(TEST_PLAN_DESCRIPTION); mPreference.setPercentageUsage(0.25D); - mPreference.setMeterBackgroundColor(METER_BACKGROUND_COLOR); - mPreference.setMeterConsumedColor(METER_CONSUMED_COLOR); + mPreference.setMeterBackgroundColor(sMeterBackgroundColor); + mPreference.setMeterConsumedColor(sMeterConsumedColor); mPreference.onBindViewHolder(mHolder); TextView planUsageTextView = (TextView) mHolder.findViewById(android.R.id.title); assertThat(planUsageTextView.getTextColors().getDefaultColor()) - .isEqualTo(PLAN_USAGE_TEXT_COLOR); + .isEqualTo(sPlanUsageTextColor); assertThat(planUsageTextView.getText()).isEqualTo(TEST_PLAN_USAGE); TextView planNameTextView = (TextView) mHolder.findViewById(android.R.id.text1); @@ -108,7 +116,7 @@ public final class DataPlanSummaryPreferenceTest { assertThat(planDescriptionTextView.getText()).isEqualTo(TEST_PLAN_DESCRIPTION); DonutView donutView = (DonutView) mHolder.findViewById(R.id.donut); - assertThat(donutView.getMeterBackgroundColor()).isEqualTo(METER_BACKGROUND_COLOR); - assertThat(donutView.getMeterConsumedColor()).isEqualTo(METER_CONSUMED_COLOR); + assertThat(donutView.getMeterBackgroundColor()).isEqualTo(sMeterBackgroundColor); + assertThat(donutView.getMeterConsumedColor()).isEqualTo(sMeterConsumedColor); } } diff --git a/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java index 30c77365e53..72e0b10e935 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java @@ -34,7 +34,6 @@ import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.XmlTestUtils; -import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settings.testutils.shadow.ShadowDataUsageUtils; import com.android.settingslib.NetworkPolicyEditor; import java.util.ArrayList; diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java index 431796acd45..750f785af6b 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java @@ -31,17 +31,14 @@ import android.net.wifi.WifiManager; import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.testutils.XmlTestUtils; -import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settingslib.NetworkPolicyEditor; import java.util.ArrayList; -import java.util.List; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import org.robolectric.util.ReflectionHelpers; diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java index 82d3dd90337..06969bb92b4 100644 --- a/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java @@ -30,16 +30,13 @@ import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; import java.util.List; import java.util.Locale; -import org.junit.After; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; -import org.robolectric.annotation.Implementation; -import org.robolectric.annotation.Implements; -import org.robolectric.annotation.Resetter; import org.robolectric.shadows.ShadowApplication; @RunWith(SettingsRobolectricTestRunner.class) diff --git a/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java index 31b6841dc2e..cd135130b18 100644 --- a/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java @@ -39,7 +39,6 @@ import org.robolectric.shadows.ShadowApplication; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Answers.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) diff --git a/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java index 7aab99d7c87..e0c050e306c 100644 --- a/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java @@ -34,7 +34,6 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; -import org.robolectric.RuntimeEnvironment; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java index bd40240a636..8ebfb89f82e 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java @@ -97,8 +97,8 @@ public class StorageSummaryDonutPreferenceControllerTest { mController.updateBytes(0, 32 * GIGABYTE); mController.updateState(mPreference); - assertThat(mPreference.getTitle().toString()).isEqualTo("0.00B"); - assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 32GB"); + assertThat(mPreference.getTitle().toString()).isEqualTo("0.00 B"); + assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 32 GB"); } @Test @@ -106,8 +106,8 @@ public class StorageSummaryDonutPreferenceControllerTest { mController.updateBytes(KILOBYTE, KILOBYTE * 10); mController.updateState(mPreference); - assertThat(mPreference.getTitle().toString()).isEqualTo("1.00KB"); - assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10KB"); + assertThat(mPreference.getTitle().toString()).isEqualTo("1.00 KB"); + assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10 KB"); } @Test @@ -123,8 +123,8 @@ public class StorageSummaryDonutPreferenceControllerTest { mController.updateSizes(svp, volume); mController.updateState(mPreference); - assertThat(mPreference.getTitle().toString()).isEqualTo("9.00KB"); - assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10KB"); + assertThat(mPreference.getTitle().toString()).isEqualTo("9.00 KB"); + assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10 KB"); } @Test diff --git a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java index 66bdba1decb..0b1fdde1a43 100644 --- a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java @@ -17,6 +17,7 @@ package com.android.settings.display; import static com.google.common.truth.Truth.assertThat; + import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.reset; @@ -30,8 +31,8 @@ import android.provider.Settings.System; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; -import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.wrapper.PowerManagerWrapper; import org.junit.Before; @@ -41,7 +42,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; -import org.robolectric.internal.ShadowExtractor; +import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowContentResolver; @RunWith(SettingsRobolectricTestRunner.class) @@ -84,8 +85,7 @@ public class BrightnessLevelPreferenceControllerTest { Context context = RuntimeEnvironment.application; BrightnessLevelPreferenceController controller = new BrightnessLevelPreferenceController(context, null, mPowerManager); - ShadowContentResolver shadowContentResolver = - (ShadowContentResolver) ShadowExtractor.extract(context.getContentResolver()); + ShadowContentResolver shadowContentResolver = Shadow.extract(context.getContentResolver()); controller.onResume(); @@ -104,8 +104,7 @@ public class BrightnessLevelPreferenceControllerTest { Context context = RuntimeEnvironment.application; BrightnessLevelPreferenceController controller = new BrightnessLevelPreferenceController(context, null, mPowerManager); - ShadowContentResolver shadowContentResolver = - (ShadowContentResolver) ShadowExtractor.extract(context.getContentResolver()); + ShadowContentResolver shadowContentResolver = Shadow.extract(context.getContentResolver()); controller.displayPreference(mScreen); controller.onResume(); diff --git a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java index 6e58b13278e..d495b74e903 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java @@ -47,7 +47,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; -import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; @@ -75,8 +74,6 @@ public class FingerprintEnrollFindSensorTest { MockitoAnnotations.initMocks(this); ShadowUtils.setFingerprintManager(mFingerprintManager); - RuntimeEnvironment.getAppResourceLoader().getResourceIndex(); - mActivity = Robolectric.buildActivity( FingerprintEnrollFindSensor.class, new Intent() diff --git a/tests/robotests/src/com/android/settings/fingerprint/FingerprintSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/fingerprint/FingerprintSuggestionActivityTest.java index bf2dfaedfff..0254bcb997b 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/FingerprintSuggestionActivityTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/FingerprintSuggestionActivityTest.java @@ -42,10 +42,10 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.Shadows; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowKeyguardManager; -import org.robolectric.util.ActivityController; @RunWith(SettingsRobolectricTestRunner.class) @Config( diff --git a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java index b2ef65b58d2..c3899e9b01d 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java @@ -40,7 +40,6 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; -import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; @@ -66,8 +65,6 @@ public class SetupFingerprintEnrollFindSensorTest { public void setUp() { MockitoAnnotations.initMocks(this); ShadowUtils.setFingerprintManager(mFingerprintManager); - RuntimeEnvironment.getAppResourceLoader().getResourceIndex(); - } private void createActivity(Intent intent) { diff --git a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroductionTest.java index f5859acf52d..2d98bf44511 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroductionTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroductionTest.java @@ -48,15 +48,14 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; -import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowActivity.IntentForResult; import org.robolectric.shadows.ShadowKeyguardManager; -import org.robolectric.util.ActivityController; @RunWith(SettingsRobolectricTestRunner.class) @Config( @@ -80,7 +79,7 @@ public class SetupFingerprintEnrollIntroductionTest { public void setUp() { MockitoAnnotations.initMocks(this); - RuntimeEnvironment.getRobolectricPackageManager() + Shadows.shadowOf(application.getPackageManager()) .setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true); ShadowFingerprintManager.addToServiceMap(); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java index 4353b54a8c7..e010cf3681e 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java @@ -38,6 +38,7 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.TestConfig; +import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.wrapper.DevicePolicyManagerWrapper; import org.junit.Before; @@ -54,7 +55,13 @@ import org.robolectric.shadows.ShadowDialog; import org.robolectric.util.FragmentTestUtil; @RunWith(RobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +@Config( + manifest = TestConfig.MANIFEST_PATH, + sdk = TestConfig.SDK_VERSION, + shadows = { + SettingsShadowResources.class, + SettingsShadowResources.SettingsShadowTheme.class + }) public class BackgroundActivityPreferenceControllerTest { private static final int UID_LOW_SDK = 1234; private static final int UID_HIGH_SDK = 3456; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java index a461f466331..a57b6ca56ab 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java @@ -147,7 +147,7 @@ public class BatteryEntryTest { } @Test - public void extractPackageFromSipper_normalSipper_returnDefaultPakcage() { + public void extractPackageFromSipper_normalSipper_returnDefaultPackage() { BatteryEntry entry = createBatteryEntryForApp(); assertThat(entry.extractPackagesFromSipper(entry.sipper)).isEqualTo(entry.sipper.mPackages); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java index 796e63c745d..b87089aff85 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java @@ -26,7 +26,6 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.content.Intent; -import android.os.BatteryManager; import android.os.BatteryStats; import com.android.internal.os.BatteryStatsHelper; import com.android.settings.TestConfig; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java index 6bde8390aec..aaf2fa5c90f 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageAdvancedTest.java @@ -37,7 +37,6 @@ import android.support.v7.preference.PreferenceCategory; import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceManager; -import android.view.View; import com.android.internal.os.BatterySipper; import com.android.internal.os.BatterySipper.DrainType; import com.android.internal.os.BatteryStatsHelper; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java index 5971711f488..4385409c9e3 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java @@ -66,6 +66,7 @@ import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settingslib.core.AbstractPreferenceController; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; @@ -107,10 +108,14 @@ public class PowerUsageSummaryTest { private static final double BATTERY_OVERCOUNTED_USAGE = 500; private static final double PRECISION = 0.001; private static final double POWER_USAGE_PERCENTAGE = 50; - private static final Intent ADDITIONAL_BATTERY_INFO_INTENT = - new Intent("com.example.app.ADDITIONAL_BATTERY_INFO"); public static final String NEW_ML_EST_SUFFIX = "(New ML est)"; public static final String OLD_EST_SUFFIX = "(Old est)"; + private static Intent sAdditionalBatteryInfoIntent; + + @BeforeClass + public static void beforeClass() { + sAdditionalBatteryInfoIntent =new Intent("com.example.app.ADDITIONAL_BATTERY_INFO"); + } @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; @@ -188,7 +193,7 @@ public class PowerUsageSummaryTest { when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS); when(mHighPowerMenu.getItemId()).thenReturn(MENU_HIGH_POWER_APPS); when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) - .thenReturn(ADDITIONAL_BATTERY_INFO_INTENT); + .thenReturn(sAdditionalBatteryInfoIntent); when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER); when(mBatteryHelper.getStats().computeBatteryRealtime(anyLong(), anyInt())).thenReturn( TIME_SINCE_LAST_FULL_CHARGE_US); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java index 1111804dd8d..8431fde4da6 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java @@ -19,7 +19,6 @@ package com.android.settings.fuelgauge.anomaly; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java index 8297e810b60..3f48d0adc6b 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java @@ -32,7 +32,6 @@ import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import com.android.settings.SettingsActivity; -import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/checker/BluetoothScanAnomalyDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/checker/BluetoothScanAnomalyDetectorTest.java index f8d02ffc802..edf026abb13 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/checker/BluetoothScanAnomalyDetectorTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/checker/BluetoothScanAnomalyDetectorTest.java @@ -26,7 +26,6 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.content.Context; -import android.content.pm.ApplicationInfo; import android.os.BatteryStats; import android.text.format.DateUtils; diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java index 7ea42b8d07b..041b7e082b7 100644 --- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java @@ -27,7 +27,6 @@ import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settingslib.core.AbstractPreferenceController; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java similarity index 98% rename from tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java rename to tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java index 833f016ab4a..a2a6923e463 100644 --- a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java @@ -43,7 +43,7 @@ import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) -public class PIckupGesturePreferenceControllerTest { +public class PickupGesturePreferenceControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java index d4fc014afb9..063d7eb8bbb 100644 --- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java @@ -16,33 +16,26 @@ package com.android.settings.gestures; -import android.content.ContentResolver; import android.content.Context; import android.content.pm.PackageManager; -import android.content.res.Resources; import android.hardware.fingerprint.FingerprintManager; import android.provider.Settings; -import com.android.settings.search.InlinePayload; -import com.android.settings.search.InlineSwitchPayload; -import com.android.settings.search.ResultPayload; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.testutils.shadow.ShadowSecureSettings; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.anyInt; + import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; diff --git a/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryCursorLoaderTest.java b/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryCursorLoaderTest.java index a76aebc6271..7b149f3c67b 100644 --- a/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryCursorLoaderTest.java +++ b/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryCursorLoaderTest.java @@ -49,7 +49,7 @@ public class UserDictionaryCursorLoaderTest { MockitoAnnotations.initMocks(this); mContentProvider = new FakeProvider(); mLoader = new UserDictionaryCursorLoader(RuntimeEnvironment.application, "" /* locale */); - ShadowContentResolver.registerProvider(UserDictionary.AUTHORITY, mContentProvider); + ShadowContentResolver.registerProviderInternal(UserDictionary.AUTHORITY, mContentProvider); } @Test diff --git a/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryListTest.java b/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryListTest.java index c6793cb859b..91fcaae2e83 100644 --- a/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryListTest.java +++ b/tests/robotests/src/com/android/settings/inputmethod/UserDictionaryListTest.java @@ -47,7 +47,7 @@ public class UserDictionaryListTest { public void setUp() { MockitoAnnotations.initMocks(this); mContentProvider = new FakeProvider(); - ShadowContentResolver.registerProvider(UserDictionary.AUTHORITY, mContentProvider); + ShadowContentResolver.registerProviderInternal(UserDictionary.AUTHORITY, mContentProvider); } @Test diff --git a/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java index c7e0e0a4433..87691a584d2 100644 --- a/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java @@ -15,7 +15,6 @@ */ package com.android.settings.location; -import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.nullable; @@ -35,10 +34,8 @@ import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; import com.android.settings.R; -import com.android.settings.display.AutoBrightnessPreferenceController; import com.android.settings.search.InlineListPayload; import com.android.settings.search.InlinePayload; -import com.android.settings.search.InlineSwitchPayload; import com.android.settings.search.ResultPayload; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; @@ -53,7 +50,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; -import org.robolectric.shadows.ShadowApplication; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) diff --git a/tests/robotests/src/com/android/settings/notification/NotificationBackendTest.java b/tests/robotests/src/com/android/settings/notification/NotificationBackendTest.java index 97c0d94d445..089e330303e 100644 --- a/tests/robotests/src/com/android/settings/notification/NotificationBackendTest.java +++ b/tests/robotests/src/com/android/settings/notification/NotificationBackendTest.java @@ -16,21 +16,13 @@ package com.android.settings.notification; -import android.app.NotificationManager; -import android.app.NotificationManager.Policy; -import android.content.Context; -import android.support.v7.preference.Preference; - -import com.android.settings.R; import com.android.settings.notification.NotificationBackend.AppRow; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import org.robolectric.annotation.Config; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertTrue; diff --git a/tests/robotests/src/com/android/settings/notification/SuppressorHelperTest.java b/tests/robotests/src/com/android/settings/notification/SuppressorHelperTest.java index 86f3d818a5f..74c41f35932 100644 --- a/tests/robotests/src/com/android/settings/notification/SuppressorHelperTest.java +++ b/tests/robotests/src/com/android/settings/notification/SuppressorHelperTest.java @@ -21,12 +21,19 @@ import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.robolectric.annotation.Config; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; +import com.android.settings.TestConfig; +import com.android.settings.testutils.SettingsRobolectricTestRunner; + +@RunWith(SettingsRobolectricTestRunner.class) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class SuppressorHelperTest { private static final String SUPPRESSOR_NAME = "wear"; diff --git a/tests/robotests/src/com/android/settings/search/CursorToSearchResultConverterTest.java b/tests/robotests/src/com/android/settings/search/CursorToSearchResultConverterTest.java index 47d52873607..cd62c15340f 100644 --- a/tests/robotests/src/com/android/settings/search/CursorToSearchResultConverterTest.java +++ b/tests/robotests/src/com/android/settings/search/CursorToSearchResultConverterTest.java @@ -37,6 +37,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.wifi.WifiSettings; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; @@ -59,9 +60,14 @@ public class CursorToSearchResultConverterTest { private static final String TARGET_PACKAGE = "a.b.c"; private static final String TARGET_CLASS = "a.b.c.class"; private static final String KEY = "key"; - private static final Intent INTENT = new Intent("com.android.settings"); private static final int ICON = R.drawable.ic_search_24dp; private static final int BASE_RANK = 1; + private static Intent sIntent; + + @BeforeClass + public static void beforeClass() { + sIntent = new Intent("com.android.settings"); + } @Mock(answer = Answers.RETURNS_DEEP_STUBS) private SiteMapManager mSiteMapManager; @@ -120,7 +126,7 @@ public class CursorToSearchResultConverterTest { @Test public void testParseCursor_MatchesIcon() { final MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS); - final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(INTENT)); + final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(sIntent)); final String BLANK = ""; cursor.addRow(new Object[]{ KEY.hashCode(), // Doc ID @@ -171,7 +177,7 @@ public class CursorToSearchResultConverterTest { @Test public void testLongTitle_PenalizedInRank() { final MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS); - final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(INTENT)); + final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(sIntent)); final String BLANK = ""; cursor.addRow(new Object[]{ KEY.hashCode(), // Doc ID @@ -203,7 +209,7 @@ public class CursorToSearchResultConverterTest { for (SearchResult result : results) { payload = result.payload; Intent intent = payload.getIntent(); - assertThat(intent.getAction()).isEqualTo(INTENT.getAction()); + assertThat(intent.getAction()).isEqualTo(sIntent.getAction()); } } @@ -375,7 +381,7 @@ public class CursorToSearchResultConverterTest { private MatrixCursor getDummyCursor(String[] keys, String className) { MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS); final String BLANK = ""; - final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(INTENT)); + final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(sIntent)); for (int i = 0; i < keys.length; i++) { ArrayList item = new ArrayList<>(DatabaseResultLoader.SELECT_COLUMNS.length); @@ -386,7 +392,7 @@ public class CursorToSearchResultConverterTest { item.add(className); // classname item.add(BLANK); // screen title item.add(null); // Icon - item.add(INTENT.getAction()); // Intent action + item.add(sIntent.getAction()); // Intent action item.add(TARGET_PACKAGE); // target package item.add(TARGET_CLASS); // target class item.add(keys[i]); // Key diff --git a/tests/robotests/src/com/android/settings/search/InlinePayloadTest.java b/tests/robotests/src/com/android/settings/search/InlinePayloadTest.java index 1747cca5bba..8bb558f69bf 100644 --- a/tests/robotests/src/com/android/settings/search/InlinePayloadTest.java +++ b/tests/robotests/src/com/android/settings/search/InlinePayloadTest.java @@ -3,7 +3,6 @@ package com.android.settings.search; import android.content.Context; import android.content.ContentResolver; import android.content.Intent; -import android.os.Parcel; import android.provider.Settings; import com.android.settings.TestConfig; import com.android.settings.search.ResultPayload.SettingsSource; diff --git a/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java b/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java index d78a8184f52..4976c6a01ef 100644 --- a/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java +++ b/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java @@ -60,8 +60,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; -import org.robolectric.util.ActivityController; import org.robolectric.util.ReflectionHelpers; import java.util.Set; diff --git a/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java b/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java index 1809e880d09..38a6b422f20 100644 --- a/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java +++ b/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java @@ -26,8 +26,8 @@ import com.android.settings.testutils.shadow.ShadowEventLogWriter; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; +import org.robolectric.android.controller.FragmentController; import org.robolectric.annotation.Config; -import org.robolectric.util.FragmentController; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.spy; @@ -47,7 +47,7 @@ public class ConfigureKeyGuardDialogTest { Robolectric.buildFragment(ConfigureKeyGuardDialog.class); final ConfigureKeyGuardDialog fragment = spy(fragmentController.get()); doNothing().when(fragment).startPasswordSetup(); - fragmentController.attach().create().start().resume(); + fragmentController.create().start().resume(); fragment.onClick(null /* dialog */, DialogInterface.BUTTON_POSITIVE); fragment.onDismiss(null /* dialog */); diff --git a/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java index 75551e54ab4..5ad8500a7e7 100644 --- a/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java +++ b/tests/robotests/src/com/android/settings/support/NewDeviceIntroSuggestionActivityTest.java @@ -17,6 +17,20 @@ package com.android.settings.support; +import static com.android.settings.support.NewDeviceIntroSuggestionActivity + .PERMANENT_DISMISS_THRESHOLD; +import static com.android.settings.support.NewDeviceIntroSuggestionActivity + .PREF_KEY_SUGGGESTION_COMPLETE; +import static com.android.settings.support.NewDeviceIntroSuggestionActivity + .PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME; +import static com.android.settings.support.NewDeviceIntroSuggestionActivity.isSuggestionComplete; + +import static com.google.common.truth.Truth.assertThat; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; +import static org.robolectric.RuntimeEnvironment.application; + import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -33,20 +47,9 @@ import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; -import org.robolectric.res.builder.RobolectricPackageManager; - -import static com.android.settings.support.NewDeviceIntroSuggestionActivity - .PERMANENT_DISMISS_THRESHOLD; -import static com.android.settings.support.NewDeviceIntroSuggestionActivity - .PREF_KEY_SUGGGESTION_COMPLETE; -import static com.android.settings.support.NewDeviceIntroSuggestionActivity - .PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME; -import static com.android.settings.support.NewDeviceIntroSuggestionActivity.isSuggestionComplete; -import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.when; +import org.robolectric.shadows.ShadowPackageManager; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @@ -57,14 +60,14 @@ public class NewDeviceIntroSuggestionActivityTest { private FakeFeatureFactory mFeatureFactory; private Context mContext; - private RobolectricPackageManager mRobolectricPackageManager; + private ShadowPackageManager mShadowPackageManager; @Before public void setUp() { MockitoAnnotations.initMocks(this); mFeatureFactory = FakeFeatureFactory.setupForTest(mMockContext); - mContext = RuntimeEnvironment.application; - mRobolectricPackageManager = RuntimeEnvironment.getRobolectricPackageManager(); + mContext = application; + mShadowPackageManager = Shadows.shadowOf(application.getPackageManager()); when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class))) .thenReturn(getSharedPreferences()); @@ -115,7 +118,7 @@ public class NewDeviceIntroSuggestionActivityTest { .thenReturn("https://com.android.settings"); final Intent intent = NewDeviceIntroSuggestionActivity.getLaunchIntent(mContext); - mRobolectricPackageManager.addResolveInfoForIntent(intent, new ResolveInfo()); + mShadowPackageManager.addResolveInfoForIntent(intent, new ResolveInfo()); assertThat(isSuggestionComplete(mContext)).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java index 2c59ba79376..178e4ec7e5f 100644 --- a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java +++ b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java @@ -19,20 +19,22 @@ package com.android.settings.support; import static com.google.common.truth.Truth.assertThat; +import static org.robolectric.RuntimeEnvironment.application; + import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import com.android.settings.R; -import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.search.SearchIndexableRaw; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import java.util.List; @@ -45,7 +47,7 @@ public class SupportDashboardActivityTest { @Before public void setUp() { - mContext = RuntimeEnvironment.application; + mContext = application; } @Test @@ -67,10 +69,11 @@ public class SupportDashboardActivityTest { @Test public void shouldHandleIntentAction() { - RuntimeEnvironment.getRobolectricPackageManager().setQueryIntentImplicitly(true); + PackageManager packageManager = application.getPackageManager(); + Shadows.shadowOf(packageManager).setQueryIntentImplicitly(true); // Intent action used by setup wizard to start support settings Intent intent = new Intent("com.android.settings.action.SUPPORT_SETTINGS"); - ResolveInfo resolveInfo = RuntimeEnvironment.getPackageManager().resolveActivity( + ResolveInfo resolveInfo = packageManager.resolveActivity( intent, PackageManager.MATCH_DEFAULT_ONLY); assertThat(resolveInfo).isNotNull(); diff --git a/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java b/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java index 8cc05e07a91..31c654c6f48 100644 --- a/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java @@ -37,7 +37,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.robolectric.internal.Shadow.directlyOn; +import static org.robolectric.shadow.api.Shadow.directlyOn; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, diff --git a/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java b/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java index 91bfff28c7b..2e8bac0f36c 100644 --- a/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java +++ b/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java @@ -20,11 +20,11 @@ import android.content.Intent; import org.junit.runners.model.InitializationError; import org.robolectric.RobolectricTestRunner; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.manifest.AndroidManifest; import org.robolectric.res.Fs; import org.robolectric.res.ResourcePath; -import org.robolectric.util.ActivityController; import org.robolectric.util.ReflectionHelpers; import java.util.List; @@ -79,35 +79,35 @@ public class SettingsRobolectricTestRunner extends RobolectricTestRunner { public static void getIncludedResourcePaths(String packageName, List paths) { paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./packages/apps/Settings/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/base/packages/SettingsLib/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/base/core/res/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/opt/setupwizard/library/main/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/opt/setupwizard/library/gingerbread/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/opt/setupwizard/library/recyclerview/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/support/v7/appcompat/res"), null)); paths.add(new ResourcePath( - packageName, + null, Fs.fileFromPath("./frameworks/support/v7/cardview/res"), null)); } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java index c56438fcedf..39fd028b653 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java @@ -4,7 +4,7 @@ import static android.util.TypedValue.TYPE_REFERENCE; import static org.robolectric.RuntimeEnvironment.application; import static org.robolectric.Shadows.shadowOf; -import static org.robolectric.internal.Shadow.directlyOn; +import static org.robolectric.shadow.api.Shadow.directlyOn; import android.annotation.DimenRes; import android.content.res.ColorStateList; @@ -25,13 +25,13 @@ import android.util.TypedValue; import com.android.settings.R; import org.robolectric.RuntimeEnvironment; +import org.robolectric.android.XmlResourceParserImpl; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import org.robolectric.annotation.RealObject; -import org.robolectric.internal.Shadow; import org.robolectric.res.StyleData; import org.robolectric.res.StyleResolver; -import org.robolectric.res.builder.XmlResourceParserImpl; +import org.robolectric.res.ThemeStyleSet; import org.robolectric.shadows.ShadowAssetManager; import org.robolectric.shadows.ShadowResources; import org.robolectric.util.ReflectionHelpers; @@ -133,7 +133,7 @@ public class SettingsShadowResources extends ShadowResources { if (override instanceof String) { return (String) override; } - return Shadow.directlyOn( + return directlyOn( realResources, Resources.class, "getString", ClassParameter.from(int.class, id)); } @@ -143,7 +143,7 @@ public class SettingsShadowResources extends ShadowResources { if (override instanceof Integer) { return (Integer) override; } - return Shadow.directlyOn( + return directlyOn( realResources, Resources.class, "getInteger", ClassParameter.from(int.class, id)); } @@ -153,7 +153,7 @@ public class SettingsShadowResources extends ShadowResources { if (override instanceof Boolean) { return (boolean) override; } - return Shadow.directlyOn(realResources, Resources.class, "getBoolean", + return directlyOn(realResources, Resources.class, "getBoolean", ClassParameter.from(int.class, id)); } @@ -184,13 +184,16 @@ public class SettingsShadowResources extends ShadowResources { // Track down all styles and remove all inheritance from private styles. ShadowAssetManager assetManager = shadowOf(RuntimeEnvironment.application.getAssets()); - // The Object's below are actually ShadowAssetManager.OverlayedStyle. We can't use it - // here because it's package private. - Map> appliedStylesList = - ReflectionHelpers.getField(assetManager, "appliedStyles"); + Map appliedStylesList = + ReflectionHelpers.getField(assetManager, "nativeThemes"); for (Long idx : appliedStylesList.keySet()) { - List appliedStyles = appliedStylesList.get(idx); - for (Object appliedStyle : appliedStyles) { + ThemeStyleSet appliedStyles = ReflectionHelpers.getField( + appliedStylesList.get(idx), "themeStyleSet"); + // The Object's below are actually ShadowAssetManager.OverlayedStyle. We can't use + // it here because it's private. + List overlayedStyles = + ReflectionHelpers.getField(appliedStyles, "styles"); + for (Object appliedStyle : overlayedStyles) { StyleResolver styleResolver = ReflectionHelpers.getField(appliedStyle, "style"); List styleDatas = ReflectionHelpers.getField(styleResolver, "styles"); @@ -223,5 +226,9 @@ public class SettingsShadowResources extends ShadowResources { return directlyOn(realTheme, Theme.class) .resolveAttribute(resid, outValue, resolveRefs); } + + private Resources getResources() { + return ReflectionHelpers.callInstanceMethod(ShadowTheme.class, this, "getResources"); + } } } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFingerprintManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFingerprintManager.java index b84cf42ed14..d79e7aaf903 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFingerprintManager.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFingerprintManager.java @@ -25,7 +25,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import org.robolectric.annotation.Resetter; -import org.robolectric.internal.ShadowExtractor; +import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowContextImpl; import org.robolectric.util.ReflectionHelpers; @@ -96,7 +96,7 @@ public class ShadowFingerprintManager { } public static ShadowFingerprintManager get() { - return (ShadowFingerprintManager) ShadowExtractor.extract( + return (ShadowFingerprintManager) Shadow.extract( RuntimeEnvironment.application.getSystemService(FingerprintManager.class)); } } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPackageMonitor.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPackageMonitor.java index b93b035ccf3..5a5f076ca04 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPackageMonitor.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPackageMonitor.java @@ -28,8 +28,7 @@ import com.android.internal.os.BackgroundThread; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import org.robolectric.annotation.RealObject; -import org.robolectric.internal.Shadow; -import org.robolectric.internal.ShadowExtractor; +import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowMessageQueue; @@ -56,8 +55,8 @@ public class ShadowPackageMonitor { } private static void setupBackgroundThreadScheduler() { - ShadowMessageQueue shadowMessageQueue = ((ShadowMessageQueue) ShadowExtractor.extract( - BackgroundThread.getHandler().getLooper().getQueue())); + ShadowMessageQueue shadowMessageQueue = Shadow.extract( + BackgroundThread.getHandler().getLooper().getQueue()); shadowMessageQueue.setScheduler( ShadowApplication.getInstance().getBackgroundThreadScheduler()); } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java index 860ee112a39..4d4fd6256c4 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java @@ -25,7 +25,7 @@ import android.util.SparseArray; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; -import org.robolectric.internal.ShadowExtractor; +import org.robolectric.shadow.api.Shadow; import java.util.Collections; import java.util.List; @@ -63,7 +63,7 @@ public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager } public static ShadowUserManager getShadow() { - return (ShadowUserManager) ShadowExtractor.extract( + return (ShadowUserManager) Shadow.extract( RuntimeEnvironment.application.getSystemService(UserManager.class)); } } diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java index dd93938debd..d8c08610403 100644 --- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java +++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java @@ -30,9 +30,9 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; +import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; -import org.robolectric.util.ActivityController; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java index 2a53ab6cd72..73d001acb2d 100644 --- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java +++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java @@ -36,6 +36,7 @@ import com.android.settings.wrapper.UserPackageWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Answers; @@ -66,11 +67,17 @@ import static org.mockito.Mockito.when; public class WebViewAppPickerTest { private Context mContext = RuntimeEnvironment.application; - private final static UserInfo FIRST_USER = new UserInfo(0, "FIRST_USER", 0); - private final static UserInfo SECOND_USER = new UserInfo(0, "SECOND_USER", 0); + private static UserInfo sFirstUser; + private static UserInfo sSecondUser; private final static String DEFAULT_PACKAGE_NAME = "DEFAULT_PACKAGE_NAME"; + @BeforeClass + public static void beforeClass() { + sFirstUser = new UserInfo(0, "FIRST_USER", 0); + sSecondUser = new UserInfo(0, "SECOND_USER", 0); + } + @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Activity mActivity; @Mock @@ -261,14 +268,14 @@ public class WebViewAppPickerTest { UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(true); - when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); + when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) .thenReturn(Arrays.asList(packageForFirstUser)); final String EXPECTED_DISABLED_REASON = String.format( - "(disabled for user %s)", FIRST_USER.name); + "(disabled for user %s)", sFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); } @@ -278,14 +285,14 @@ public class WebViewAppPickerTest { UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(true); when(packageForFirstUser.isInstalledPackage()).thenReturn(false); - when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); + when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) .thenReturn(Arrays.asList(packageForFirstUser)); final String EXPECTED_DISABLED_REASON = String.format( - "(uninstalled for user %s)", FIRST_USER.name); + "(uninstalled for user %s)", sFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); } @@ -295,19 +302,19 @@ public class WebViewAppPickerTest { UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(true); - when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); + when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser); UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isInstalledPackage()).thenReturn(false); - when(packageForSecondUser.getUserInfo()).thenReturn(SECOND_USER); + when(packageForSecondUser.getUserInfo()).thenReturn(sSecondUser); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser)); final String EXPECTED_DISABLED_REASON = String.format( - "(disabled for user %s)", FIRST_USER.name); + "(disabled for user %s)", sFirstUser.name); assertThat(mPicker.getDisabledReason( wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); } @@ -321,19 +328,19 @@ public class WebViewAppPickerTest { UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(false); - when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); + when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser); UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isInstalledPackage()).thenReturn(true); - when(packageForSecondUser.getUserInfo()).thenReturn(SECOND_USER); + when(packageForSecondUser.getUserInfo()).thenReturn(sSecondUser); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser)); final String EXPECTED_DISABLED_REASON = String.format( - "(uninstalled for user %s)", FIRST_USER.name); + "(uninstalled for user %s)", sFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); } diff --git a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java index 297054d6769..16d883a2371 100644 --- a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java @@ -44,6 +44,7 @@ import com.android.settingslib.core.lifecycle.Lifecycle; import com.google.common.collect.Lists; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -59,12 +60,16 @@ import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class UseOpenWifiPreferenceControllerTest { - private static ComponentName ENABLE_ACTIVITY_COMPONENT = - new ComponentName("package", "activityClass"); - private static NetworkScorerAppData APP_DATA = - new NetworkScorerAppData(0, null, null, ENABLE_ACTIVITY_COMPONENT, null); - private static NetworkScorerAppData APP_DATA_NO_ACTIVITY = - new NetworkScorerAppData(0, null, null, null, null); + private static ComponentName sEnableActivityComponent; + private static NetworkScorerAppData sAppData; + private static NetworkScorerAppData sAppDataNoActivity; + + @BeforeClass + public static void beforeClass() { + sEnableActivityComponent = new ComponentName("package", "activityClass"); + sAppData = new NetworkScorerAppData(0, null, null, sEnableActivityComponent, null); + sAppDataNoActivity = new NetworkScorerAppData(0, null, null, null, null); + } @Mock private Lifecycle mLifecycle; @Mock private Fragment mFragment; @@ -92,7 +97,7 @@ public class UseOpenWifiPreferenceControllerTest { */ private void setupScorers(@NonNull List scorers) { when(mNetworkScoreManagerWrapper.getActiveScorerPackage()).thenReturn( - ENABLE_ACTIVITY_COMPONENT.getPackageName()); + sEnableActivityComponent.getPackageName()); when(mNetworkScoreManagerWrapper.getAllValidScorers()).thenReturn(scorers); when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(scorers.get(0)); } @@ -106,7 +111,7 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void testIsAvailable_returnsFalseWhenScorersNotSupported() { - setupScorers(Lists.newArrayList(APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppDataNoActivity)); createController(); assertThat(mController.isAvailable()).isFalse(); @@ -114,7 +119,7 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void testIsAvailable_returnsTrueIfActiveScorerSupported() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); createController(); assertThat(mController.isAvailable()).isTrue(); @@ -122,8 +127,8 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void testIsAvailable_returnsTrueIfNonActiveScorerSupported() { - setupScorers(Lists.newArrayList(APP_DATA_NO_ACTIVITY, APP_DATA)); - when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(APP_DATA_NO_ACTIVITY); + setupScorers(Lists.newArrayList(sAppDataNoActivity, sAppData)); + when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(sAppDataNoActivity); createController(); assertThat(mController.isAvailable()).isTrue(); @@ -150,7 +155,7 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void onPreferenceChange_matchingKeyAndAvailable_enableShouldStartEnableActivity() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); createController(); final SwitchPreference pref = new SwitchPreference(mContext); @@ -160,15 +165,15 @@ public class UseOpenWifiPreferenceControllerTest { verify(mFragment).startActivityForResult(mIntentCaptor.capture(), eq(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY)); Intent activityIntent = mIntentCaptor.getValue(); - assertThat(activityIntent.getComponent()).isEqualTo(ENABLE_ACTIVITY_COMPONENT); + assertThat(activityIntent.getComponent()).isEqualTo(sEnableActivityComponent); assertThat(activityIntent.getAction()).isEqualTo(NetworkScoreManager.ACTION_CUSTOM_ENABLE); } @Test public void onPreferenceChange_matchingKeyAndAvailable_disableShouldUpdateSetting() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, - ENABLE_ACTIVITY_COMPONENT.getPackageName()); + sEnableActivityComponent.getPackageName()); createController(); @@ -182,7 +187,7 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void onActivityResult_nonmatchingRequestCode_shouldDoNothing() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); createController(); assertThat(mController.onActivityResult(234 /* requestCode */ , Activity.RESULT_OK)) @@ -193,7 +198,7 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void onActivityResult_matchingRequestCode_nonOkResult_shouldDoNothing() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); createController(); assertThat(mController @@ -205,24 +210,24 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void onActivityResult_matchingRequestCode_okResult_updatesSetting() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); createController(); assertThat(mController .onActivityResult(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY, Activity.RESULT_OK)) .isEqualTo(true); assertThat(Settings.Global.getString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE)) - .isEqualTo(ENABLE_ACTIVITY_COMPONENT.getPackageName()); + .isEqualTo(sEnableActivityComponent.getPackageName()); } @Test public void updateState_noEnableActivity_preferenceDisabled_summaryChanged() { - setupScorers(Lists.newArrayList(APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppDataNoActivity)); createController(); final SwitchPreference preference = mock(SwitchPreference.class); Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, - ENABLE_ACTIVITY_COMPONENT.getPackageName()); + sEnableActivityComponent.getPackageName()); mController.updateState(preference); @@ -238,7 +243,7 @@ public class UseOpenWifiPreferenceControllerTest { final SwitchPreference preference = mock(SwitchPreference.class); Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, - ENABLE_ACTIVITY_COMPONENT.getPackageName()); + sEnableActivityComponent.getPackageName()); mController.updateState(preference); @@ -249,12 +254,12 @@ public class UseOpenWifiPreferenceControllerTest { @Test public void updateState_enableActivityExists_preferenceEnabled() { - setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); + setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity)); createController(); final SwitchPreference preference = mock(SwitchPreference.class); Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, - ENABLE_ACTIVITY_COMPONENT.getPackageName()); + sEnableActivityComponent.getPackageName()); mController.updateState(preference); diff --git a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java index 0435b7eaef5..29df5397bde 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java @@ -23,7 +23,6 @@ import static android.provider.Settings.Global.WIFI_WAKEUP_ENABLED; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import android.content.Context; import android.provider.Settings; @@ -34,14 +33,12 @@ import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.shadow.SettingsShadowResources; -import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.lifecycle.Lifecycle; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config;