Update settingslib tests to work with tot Robolectric
Bug: 116278591
Test: make RunSettingsLibRoboTests -j40
Change-Id: I3c3e59767c58b57449faa6e13acda356785bb644
diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
index 240a192..a936df2 100644
--- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
+++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
@@ -254,7 +254,8 @@
user.isAdmin() ? mAdminRetrieveFlags : mRetrieveFlags,
user.id);
mApplications.addAll(list.getList());
- } catch (RemoteException e) {
+ } catch (Exception e) {
+ Log.e(TAG, "Error during doResumeIfNeededLocked", e);
}
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java
index 78e807c..8c03918 100644
--- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java
+++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java
@@ -16,18 +16,11 @@
package com.android.settingslib.license;
-import static com.android.settingslib.license.LicenseHtmlLoaderCompat.generateHtmlFile;
-import static com.android.settingslib.license.LicenseHtmlLoaderCompat.getCachedHtmlFile;
-import static com.android.settingslib.license.LicenseHtmlLoaderCompat.getVaildXmlFiles;
-import static com.android.settingslib.license.LicenseHtmlLoaderCompat.isCachedHtmlFileOutdated;
-
import android.content.Context;
-import android.util.Log;
import com.android.settingslib.utils.AsyncLoader;
import java.io.File;
-import java.util.List;
/**
* LicenseHtmlLoader is a loader which loads a license html file from default license xml files.
@@ -44,27 +37,10 @@
@Override
public File loadInBackground() {
- return generateHtmlFromDefaultXmlFiles();
+ return new LicenseHtmlLoaderCompat(mContext).loadInBackground();
}
@Override
protected void onDiscardResult(File f) {
}
-
- private File generateHtmlFromDefaultXmlFiles() {
- final List<File> xmlFiles = getVaildXmlFiles();
- if (xmlFiles.isEmpty()) {
- Log.e(TAG, "No notice file exists.");
- return null;
- }
-
- File cachedHtmlFile = getCachedHtmlFile(mContext);
- if (!isCachedHtmlFileOutdated(xmlFiles, cachedHtmlFile)
- || generateHtmlFile(mContext, xmlFiles, cachedHtmlFile)) {
- return cachedHtmlFile;
- }
-
- return null;
- }
-
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java
index ca62485..0b69963 100644
--- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java
+++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoaderCompat.java
@@ -73,7 +73,7 @@
return null;
}
- static List<File> getVaildXmlFiles() {
+ private List<File> getVaildXmlFiles() {
final List<File> xmlFiles = new ArrayList();
for (final String xmlPath : DEFAULT_LICENSE_XML_PATHS) {
File file = new File(xmlPath);
@@ -84,11 +84,11 @@
return xmlFiles;
}
- static File getCachedHtmlFile(Context context) {
+ private File getCachedHtmlFile(Context context) {
return new File(context.getCacheDir(), NOTICE_HTML_FILE_NAME);
}
- static boolean isCachedHtmlFileOutdated(List<File> xmlFiles, File cachedHtmlFile) {
+ private boolean isCachedHtmlFileOutdated(List<File> xmlFiles, File cachedHtmlFile) {
boolean outdated = true;
if (cachedHtmlFile.exists() && cachedHtmlFile.length() != 0) {
outdated = false;
@@ -102,7 +102,7 @@
return outdated;
}
- static boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
+ private boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
return LicenseHtmlGeneratorFromXml.generateHtml(xmlFiles, htmlFile,
context.getString(R.string.notice_header));
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java
index 19ce4242..b307b47 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java
@@ -86,21 +86,21 @@
@Mock
private StorageStatsManager mStorageStatsManager;
- @Implements(value = IconDrawableFactory.class, inheritImplementationMethods = true)
+ @Implements(value = IconDrawableFactory.class)
public static class ShadowIconDrawableFactory {
@Implementation
- public Drawable getBadgedIcon(ApplicationInfo appInfo) {
+ protected Drawable getBadgedIcon(ApplicationInfo appInfo) {
return new ColorDrawable(0);
}
}
- @Implements(value = ApplicationPackageManager.class, inheritImplementationMethods = true)
+ @Implements(value = ApplicationPackageManager.class)
public static class ShadowPackageManager extends
org.robolectric.shadows.ShadowApplicationPackageManager {
@Implementation
- public ComponentName getHomeActivities(List<ResolveInfo> outActivities) {
+ protected ComponentName getHomeActivities(List<ResolveInfo> outActivities) {
ResolveInfo resolveInfo = new ResolveInfo();
resolveInfo.activityInfo = new ActivityInfo();
resolveInfo.activityInfo.packageName = HOME_PACKAGE_NAME;
@@ -139,6 +139,7 @@
when(mStorageStatsManager.queryStatsForPackage(ArgumentMatchers.any(UUID.class),
anyString(), ArgumentMatchers.any(UserHandle.class))).thenReturn(storageStats);
+ ApplicationsState.sInstance = null;
mApplicationsState = ApplicationsState.getInstance(RuntimeEnvironment.application);
mApplicationsState.clearEntries();
}
@@ -189,8 +190,8 @@
Session session = mApplicationsState.newSession(mCallbacks);
session.onResume();
- addApp(HOME_PACKAGE_NAME,1);
- addApp(LAUNCHABLE_PACKAGE_NAME,2);
+ addApp(HOME_PACKAGE_NAME, 1);
+ addApp(LAUNCHABLE_PACKAGE_NAME, 2);
session.rebuild(ApplicationsState.FILTER_EVERYTHING, ApplicationsState.SIZE_COMPARATOR);
processAllMessages();
verify(mCallbacks).onRebuildComplete(mAppEntriesCaptor.capture());
@@ -219,7 +220,7 @@
session.setSessionFlags(ApplicationsState.FLAG_SESSION_REQUEST_ICONS);
session.onResume();
- addApp(LAUNCHABLE_PACKAGE_NAME,1);
+ addApp(LAUNCHABLE_PACKAGE_NAME, 1);
session.rebuild(ApplicationsState.FILTER_EVERYTHING, ApplicationsState.SIZE_COMPARATOR);
processAllMessages();
verify(mCallbacks).onRebuildComplete(mAppEntriesCaptor.capture());
@@ -240,7 +241,7 @@
session.setSessionFlags(ApplicationsState.FLAG_SESSION_REQUEST_SIZES);
session.onResume();
- addApp(LAUNCHABLE_PACKAGE_NAME,1);
+ addApp(LAUNCHABLE_PACKAGE_NAME, 1);
session.rebuild(ApplicationsState.FILTER_EVERYTHING, ApplicationsState.SIZE_COMPARATOR);
processAllMessages();
verify(mCallbacks).onRebuildComplete(mAppEntriesCaptor.capture());
@@ -261,7 +262,7 @@
session.setSessionFlags(ApplicationsState.FLAG_SESSION_REQUEST_HOME_APP);
session.onResume();
- addApp(HOME_PACKAGE_NAME,1);
+ addApp(HOME_PACKAGE_NAME, 1);
session.rebuild(ApplicationsState.FILTER_EVERYTHING, ApplicationsState.SIZE_COMPARATOR);
processAllMessages();
verify(mCallbacks).onRebuildComplete(mAppEntriesCaptor.capture());
@@ -283,7 +284,7 @@
session.setSessionFlags(ApplicationsState.FLAG_SESSION_REQUEST_LEANBACK_LAUNCHER);
session.onResume();
- addApp(LAUNCHABLE_PACKAGE_NAME,1);
+ addApp(LAUNCHABLE_PACKAGE_NAME, 1);
session.rebuild(ApplicationsState.FILTER_EVERYTHING, ApplicationsState.SIZE_COMPARATOR);
processAllMessages();
verify(mCallbacks).onRebuildComplete(mAppEntriesCaptor.capture());
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java
index a15f5fc..a0fa6b5 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DevelopmentSettingsEnablerTest.java
@@ -18,11 +18,14 @@
import static com.google.common.truth.Truth.assertThat;
+import android.os.UserManager;
import android.content.Context;
import android.provider.Settings;
import com.android.settingslib.SettingsLibRobolectricTestRunner;
-import com.android.settingslib.testutils.shadow.ShadowUserManager;
+
+import org.robolectric.shadows.ShadowUserManager;
+import org.robolectric.shadow.api.Shadow;
import org.junit.After;
import org.junit.Before;
@@ -32,20 +35,16 @@
import org.robolectric.annotation.Config;
@RunWith(SettingsLibRobolectricTestRunner.class)
-@Config(shadows = ShadowUserManager.class)
public class DevelopmentSettingsEnablerTest {
private Context mContext;
+ private ShadowUserManager mUserManager;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
- ShadowUserManager.getShadow().setIsAdminUser(true);
- }
-
- @After
- public void tearDown() {
- ShadowUserManager.getShadow().reset();
+ mUserManager = Shadow.extract(mContext.getSystemService(UserManager.class));
+ mUserManager.setIsAdminUser(true);
}
@Test
@@ -76,7 +75,7 @@
public void isEnabled_settingsOn_noRestriction_notAdmin_shouldReturnFalse() {
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
- ShadowUserManager.getShadow().setIsAdminUser(false);
+ mUserManager.setIsAdminUser(false);
assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java
index 2a608399..d7b23b0 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java
@@ -39,6 +39,7 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowApplication;
@RunWith(SettingsLibRobolectricTestRunner.class)
@@ -59,7 +60,7 @@
MockitoAnnotations.initMocks(this);
ShadowApplication shadowContext = ShadowApplication.getInstance();
shadowContext.setSystemService(Context.USER_SERVICE, mUserManager);
- mContext = spy(shadowContext.getApplicationContext());
+ mContext = spy(RuntimeEnvironment.application);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
mController = new ConcreteEnableAdbPreferenceController(mContext);
mPreference = new SwitchPreference(mContext);
@@ -85,7 +86,6 @@
assertThat(mPreference.isVisible()).isTrue();
}
-
@Test
public void resetPreference_shouldUncheck() {
when(mUserManager.isAdminUser()).thenReturn(true);
@@ -100,14 +100,14 @@
@Test
public void handlePreferenceTreeClick_shouldUpdateSettings() {
when(mUserManager.isAdminUser()).thenReturn(true);
- Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.ADB_ENABLED, 1);
mPreference.setChecked(true);
mController.displayPreference(mScreen);
mController.handlePreferenceTreeClick(mPreference);
- assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+ assertThat(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.ADB_ENABLED, 0)).isEqualTo(0);
}
@@ -126,7 +126,7 @@
@Test
public void updateState_settingsOn_shouldCheck() {
when(mUserManager.isAdminUser()).thenReturn(true);
- Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.ADB_ENABLED, 1);
mPreference.setChecked(false);
mController.displayPreference(mScreen);
@@ -139,7 +139,7 @@
@Test
public void updateState_settingsOff_shouldUncheck() {
when(mUserManager.isAdminUser()).thenReturn(true);
- Settings.Secure.putInt(mContext.getContentResolver(),
+ Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.ADB_ENABLED, 0);
mPreference.setChecked(true);
mController.displayPreference(mScreen);
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java
index de96af4..d0b6dab 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java
@@ -158,16 +158,16 @@
@Test
public void testEnsureAutoBatterysaver_setNewPositiveValue_doNotOverwrite() throws Exception {
- Global.putString(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, "null");
+ Global.putInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
BatterySaverUtils.ensureAutoBatterySaver(mMockContext, BATTERY_SAVER_THRESHOLD_1);
- assertThat(Secure.getInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1))
+ assertThat(Global.getInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1))
.isEqualTo(BATTERY_SAVER_THRESHOLD_1);
// Once a positive number is set, ensureAutoBatterySaver() won't overwrite it.
BatterySaverUtils.ensureAutoBatterySaver(mMockContext, BATTERY_SAVER_THRESHOLD_2);
- assertThat(Secure.getInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1))
+ assertThat(Global.getInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1))
.isEqualTo(BATTERY_SAVER_THRESHOLD_1);
}
@@ -182,8 +182,8 @@
assertThat(Secure.getInt(mMockResolver, Secure.SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION, -1))
.isEqualTo(-1); // not set.
- BatterySaverUtils.setAutoBatterySaverTriggerLevel(mMockContext, BATTERY_SAVER_THRESHOLD_1 );
- assertThat( Global.getInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1))
+ BatterySaverUtils.setAutoBatterySaverTriggerLevel(mMockContext, BATTERY_SAVER_THRESHOLD_1);
+ assertThat(Global.getInt(mMockResolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1))
.isEqualTo(BATTERY_SAVER_THRESHOLD_1);
assertThat(Secure.getInt(mMockResolver, Secure.SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION, -1))
.isEqualTo(1);
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawableTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawableTest.java
index 37d4d1d..5dbb5ca 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawableTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawableTest.java
@@ -89,10 +89,9 @@
BluetoothDeviceLayerDrawable twinDrawable =
(BluetoothDeviceLayerDrawable) drawable.getConstantState().newDrawable();
- assertThat(twinDrawable.getDrawable(0)).isEqualTo(drawable.getDrawable(0));
- assertThat(twinDrawable.getDrawable(1)).isEqualTo(drawable.getDrawable(1));
- assertThat(twinDrawable.getLayerInsetTop(1)).isEqualTo(
- drawable.getLayerInsetTop(1));
+ assertThat(twinDrawable.getDrawable(0)).isNotNull();
+ assertThat(twinDrawable.getDrawable(1)).isNotNull();
+ assertThat(twinDrawable.getLayerInsetTop(1)).isEqualTo(drawable.getLayerInsetTop(1));
}
@Test
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java
index c32cc99..c90de5f 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlLoaderCompatTest.java
@@ -112,7 +112,6 @@
@Implements(LicenseHtmlLoaderCompat.class)
public static class ShadowLicenseHtmlLoaderCompat {
-
public static List<File> sValidXmlFiles;
public static File sCachedHtmlFile;
public static boolean sIsCachedHtmlFileOutdated;
@@ -127,22 +126,24 @@
}
@Implementation
- static List<File> getVaildXmlFiles() {
+ protected List<File> getVaildXmlFiles() {
return sValidXmlFiles;
}
@Implementation
- static File getCachedHtmlFile(Context context) {
+ protected File getCachedHtmlFile(Context context) {
return sCachedHtmlFile;
}
@Implementation
- static boolean isCachedHtmlFileOutdated(List<File> xmlFiles, File cachedHtmlFile) {
+ protected boolean isCachedHtmlFileOutdated(List<File> xmlFiles,
+ File cachedHtmlFile) {
return sIsCachedHtmlFileOutdated;
}
@Implementation
- static boolean generateHtmlFile(Context context, List<File> xmlFiles, File htmlFile) {
+ protected boolean generateHtmlFile(Context context, List<File> xmlFiles,
+ File htmlFile) {
return sGenerateHtmlFileSucceeded;
}
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/DrawableTestHelper.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/DrawableTestHelper.java
new file mode 100644
index 0000000..ad8de77
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/DrawableTestHelper.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settingslib.testutils;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.graphics.drawable.Drawable;
+
+import org.robolectric.Shadows;
+import org.robolectric.shadows.ShadowDrawable;
+
+public class DrawableTestHelper {
+ public static void assertDrawableResId(Drawable drawable, int resId) {
+ final ShadowDrawable shadow = Shadows.shadowOf(drawable);
+ assertThat(shadow.getCreatedFromResId()).isEqualTo(resId);
+ }
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowBluetoothAdapter.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowBluetoothAdapter.java
index 9b8c230..cae74c8 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowBluetoothAdapter.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowBluetoothAdapter.java
@@ -25,7 +25,7 @@
import java.util.List;
-@Implements(value = BluetoothAdapter.class, inheritImplementationMethods = true)
+@Implements(value = BluetoothAdapter.class)
public class ShadowBluetoothAdapter extends org.robolectric.shadows.ShadowBluetoothAdapter {
private List<Integer> mSupportedProfiles;
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java
index bbd3a53..a81e395 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java
@@ -16,6 +16,7 @@
package com.android.settingslib.testutils.shadow;
+import android.annotation.UserIdInt;
import android.content.Context;
import android.content.pm.UserInfo;
import android.os.UserManager;
@@ -29,37 +30,21 @@
import java.util.ArrayList;
import java.util.List;
-@Implements(value = UserManager.class, inheritImplementationMethods = true)
+@Implements(value = UserManager.class)
public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager {
- private boolean mAdminUser;
-
- public void setIsAdminUser(boolean isAdminUser) {
- mAdminUser = isAdminUser;
- }
-
- @Resetter
- public void reset() {
- mAdminUser = false;
- }
-
@Implementation
- public boolean isAdminUser() {
- return mAdminUser;
- }
-
- @Implementation
- public static UserManager get(Context context) {
+ protected static UserManager get(Context context) {
return (UserManager) context.getSystemService(Context.USER_SERVICE);
}
@Implementation
- public int[] getProfileIdsWithDisabled(int userId) {
- return new int[] { 0 };
+ protected int[] getProfileIdsWithDisabled(int userId) {
+ return new int[]{0};
}
@Implementation
- public List<UserInfo> getProfiles() {
+ protected List<UserInfo> getProfiles() {
UserInfo userInfo = new UserInfo();
userInfo.id = 0;
List<UserInfo> userInfos = new ArrayList<>();
@@ -67,8 +52,9 @@
return userInfos;
}
- public static ShadowUserManager getShadow() {
- return (ShadowUserManager) Shadow.extract(
- RuntimeEnvironment.application.getSystemService(UserManager.class));
+ @Implementation
+ protected List<UserInfo> getProfiles(@UserIdInt int userHandle) {
+ return getProfiles();
}
-}
\ No newline at end of file
+
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinCompatTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinCompatTest.java
index f56c111..e030005 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinCompatTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinCompatTest.java
@@ -37,7 +37,7 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsLibRobolectricTestRunner.class)
public class FooterPreferenceMixinCompatTest {
@@ -58,7 +58,7 @@
mLifecycle = new Lifecycle(mLifecycleOwner);
when(mFragment.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
when(mFragment.getPreferenceManager().getContext())
- .thenReturn(ShadowApplication.getInstance().getApplicationContext());
+ .thenReturn(RuntimeEnvironment.application);
mMixin = new FooterPreferenceMixinCompat(mFragment, mLifecycle);
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java
index 366b720..8817ff7 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java
@@ -37,6 +37,7 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowApplication;
@RunWith(SettingsLibRobolectricTestRunner.class)
@@ -58,7 +59,7 @@
mLifecycle = new Lifecycle(mLifecycleOwner);
when(mFragment.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
when(mFragment.getPreferenceManager().getContext())
- .thenReturn(ShadowApplication.getInstance().getApplicationContext());
+ .thenReturn(RuntimeEnvironment.application);
mMixin = new FooterPreferenceMixin(mFragment, mLifecycle);
}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java
index 84a043e..e0eceb4 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java
@@ -31,7 +31,7 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsLibRobolectricTestRunner.class)
public class FooterPreferenceTest {
@@ -40,7 +40,7 @@
@Before
public void setUp() {
- mContext = ShadowApplication.getInstance().getApplicationContext();
+ mContext = RuntimeEnvironment.application;
}
@Test