Replace PackageManagerWrapper with PackageManager

Replace all SettingsLib/PackageManagerWrapper in Settings,
by PackageManager,
Remove ShadowPackageManagerWrapper.

Bug: 62067063
Test: make RunSettingsRoboTests
Change-Id: I6d1af55c13d80c1907b98b21e0207cc903cd9b1f
This commit is contained in:
HJ ChangLiao
2018-04-24 15:12:31 +08:00
parent bb2c8a3147
commit 5693be2863
68 changed files with 181 additions and 276 deletions

View File

@@ -38,7 +38,6 @@ import android.os.UserHandle;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -79,7 +78,7 @@ public final class AppWithAdminGrantedPermissionsCounterTest {
@Mock
private Context mContext;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private IPackageManager mPackageManagerService;
@Mock

View File

@@ -35,7 +35,6 @@ import android.os.UserHandle;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -76,7 +75,7 @@ public final class AppWithAdminGrantedPermissionsListerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private IPackageManager mPackageManagerService;
@Mock

View File

@@ -34,7 +34,6 @@ import android.os.UserManager;
import com.android.settings.testutils.ApplicationTestUtils;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -70,7 +69,7 @@ public final class ApplicationFeatureProviderImplTest {
@Mock
private Context mContext;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private IPackageManager mPackageManagerService;
@Mock

View File

@@ -37,7 +37,6 @@ import android.os.UserHandle;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -74,7 +73,7 @@ public final class InstalledAppCounterTest {
@Mock
private Context mContext;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private int mInstalledAppCount = -1;
private ApplicationInfo mApp1;

View File

@@ -35,7 +35,6 @@ import android.os.UserHandle;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -71,7 +70,7 @@ public final class InstalledAppListerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private List<UserAppInfo> mInstalledAppList = Collections.emptyList();

View File

@@ -50,7 +50,6 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -289,12 +288,12 @@ public class InstantAppButtonsPreferenceControllerTest {
@Test
public void onClick_shouldDeleteApp() {
PackageManagerWrapper packageManagerWrapper = mock(PackageManagerWrapper.class);
ReflectionHelpers.setField(mController, "mPackageManagerWrapper", packageManagerWrapper);
PackageManager packageManager = mock(PackageManager.class);
ReflectionHelpers.setField(mController, "mPackageManager", packageManager);
mController.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_POSITIVE);
verify(packageManagerWrapper)
verify(packageManager)
.deletePackageAsUser(eq(TEST_AIA_PACKAGE_NAME), any(), anyInt(),anyInt());
}
}

View File

@@ -24,13 +24,13 @@ import static org.mockito.Mockito.when;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.os.UserManager;
import android.util.Pair;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import com.google.common.collect.ImmutableList;
@@ -51,7 +51,7 @@ public class PictureInPictureSettingsTest {
private PictureInPictureSettings mFragment;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private UserManager mUserManager;
private ArrayList<PackageInfo> mPrimaryUserPackages;

View File

@@ -24,12 +24,12 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -50,7 +50,7 @@ public class DefaultAutofillPickerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private DefaultAutofillPicker mPicker;
@Before

View File

@@ -23,6 +23,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import android.provider.Settings;
import androidx.preference.Preference;
@@ -30,7 +31,6 @@ import android.view.autofill.AutofillManager;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -49,7 +49,7 @@ public class DefaultAutofillPreferenceControllerTest {
@Mock
private UserManager mUserManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private AutofillManager mAutofillManager;

View File

@@ -23,10 +23,10 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -46,7 +46,7 @@ public class DefaultBrowserPickerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private DefaultBrowserPicker mPicker;

View File

@@ -25,13 +25,13 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.UserManager;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -51,7 +51,7 @@ public class DefaultBrowserPreferenceControllerTest {
@Mock
private UserManager mUserManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private DefaultBrowserPreferenceController mController;

View File

@@ -23,11 +23,11 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import android.provider.Settings;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -48,7 +48,7 @@ public class DefaultEmergencyPickerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private DefaultEmergencyPicker mPicker;

View File

@@ -43,7 +43,6 @@ import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -67,8 +66,6 @@ public class DefaultHomePickerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManagerWrapper;
@Mock
private PackageManager mPackageManager;
private Context mContext;
@@ -78,12 +75,11 @@ public class DefaultHomePickerTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
when(mPackageManagerWrapper.getPackageManager()).thenReturn(mPackageManager);
mPicker = spy(new DefaultHomePicker());
mPicker.onAttach((Context) mActivity);
ReflectionHelpers.setField(mPicker, "mPm", mPackageManagerWrapper);
ReflectionHelpers.setField(mPicker, "mPm", mPackageManager);
mContext = spy(RuntimeEnvironment.application);
doReturn(mContext).when(mPicker).getContext();
}
@@ -92,7 +88,7 @@ public class DefaultHomePickerTest {
public void setDefaultAppKey_shouldUpdateDefault() {
assertThat(mPicker.setDefaultKey(TEST_APP_KEY)).isTrue();
verify(mPackageManagerWrapper).replacePreferredActivity(any(IntentFilter.class),
verify(mPackageManager).replacePreferredActivity(any(IntentFilter.class),
anyInt(), any(ComponentName[].class), any(ComponentName.class));
verify(mContext).startActivity(any());
}
@@ -100,7 +96,7 @@ public class DefaultHomePickerTest {
@Test
public void getDefaultAppKey_shouldReturnDefault() {
final ComponentName cn = mock(ComponentName.class);
when(mPackageManagerWrapper.getHomeActivities(anyList())).thenReturn(cn);
when(mPackageManager.getHomeActivities(anyList())).thenReturn(cn);
mPicker.getDefaultKey();
verify(cn).flattenToString();
}
@@ -158,6 +154,6 @@ public class DefaultHomePickerTest {
"package.2", "PreLollipopLauncher", Build.VERSION_CODES.KITKAT));
return null;
})
.when(mPackageManagerWrapper).getHomeActivities(anyList());
.when(mPackageManager).getHomeActivities(anyList());
}
}

View File

@@ -29,12 +29,12 @@ import static org.mockito.Mockito.when;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.UserManager;
import androidx.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -55,7 +55,7 @@ public class DefaultHomePreferenceControllerTest {
@Mock
private UserManager mUserManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private Context mContext;
private DefaultHomePreferenceController mController;

View File

@@ -26,10 +26,10 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -52,7 +52,7 @@ public class DefaultPhonePickerTest {
@Mock
private DefaultPhonePicker.DefaultKeyUpdater mDefaultKeyUpdater;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private DefaultPhonePicker mPicker;

View File

@@ -25,10 +25,10 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -51,7 +51,7 @@ public class DefaultSmsPickerTest {
@Mock
private DefaultSmsPicker.DefaultKeyUpdater mDefaultKeyUpdater;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private DefaultSmsPicker mPicker;

View File

@@ -44,7 +44,6 @@ import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.AppItem;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.After;
import org.junit.Before;
@@ -64,7 +63,7 @@ public class AppDataUsageTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private EntityHeaderController mHeaderController;
@Mock
private PackageManagerWrapper mPackageManagerWrapper;
private PackageManager mPackageManager;
private AppDataUsage mFragment;
@@ -107,11 +106,11 @@ public class AppDataUsageTest {
packages.add("pkg");
final AppItem appItem = new AppItem(123456789);
ReflectionHelpers.setField(mFragment, "mPackageManagerWrapper", mPackageManagerWrapper);
ReflectionHelpers.setField(mFragment, "mPackageManager", mPackageManager);
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
ReflectionHelpers.setField(mFragment, "mPackages", packages);
when(mPackageManagerWrapper.getPackageUidAsUser(anyString(), anyInt()))
when(mPackageManager.getPackageUidAsUser(anyString(), anyInt()))
.thenReturn(fakeUserId);
ShadowEntityHeaderController.setUseMock(mHeaderController);

View File

@@ -30,7 +30,6 @@ import androidx.preference.SwitchPreference;
import androidx.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -50,7 +49,7 @@ public class LocalTerminalPreferenceControllerTest {
@Mock
private UserManager mUserManager;
@Mock
private PackageManagerWrapper mPackageManagerWrapper;
private PackageManager mPackageManager;
private LocalTerminalPreferenceController mController;
@@ -61,7 +60,7 @@ public class LocalTerminalPreferenceControllerTest {
when(mUserManager.isAdminUser()).thenReturn(true);
mController = spy(new LocalTerminalPreferenceController(mContext));
doReturn(true).when(mController).isAvailable();
doReturn(mPackageManagerWrapper).when(mController).getPackageManagerWrapper();
doReturn(mPackageManager).when(mController).getPackageManager();
when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
.thenReturn(mPreference);
mController.displayPreference(mPreferenceScreen);
@@ -79,7 +78,7 @@ public class LocalTerminalPreferenceControllerTest {
public void onPreferenceChanged_turnOnTerminal() {
mController.onPreferenceChange(null, true);
verify(mPackageManagerWrapper).setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
verify(mPackageManager).setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);
}
@@ -87,13 +86,13 @@ public class LocalTerminalPreferenceControllerTest {
public void onPreferenceChanged_turnOffTerminal() {
mController.onPreferenceChange(null, false);
verify(mPackageManagerWrapper).setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
verify(mPackageManager).setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
}
@Test
public void updateState_preferenceShouldBeChecked() {
when(mPackageManagerWrapper.getApplicationEnabledSetting(TERMINAL_APP_PACKAGE)).thenReturn(
when(mPackageManager.getApplicationEnabledSetting(TERMINAL_APP_PACKAGE)).thenReturn(
PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
mController.updateState(mPreference);
@@ -102,7 +101,7 @@ public class LocalTerminalPreferenceControllerTest {
@Test
public void updateState_preferenceShouldNotBeChecked() {
when(mPackageManagerWrapper.getApplicationEnabledSetting(TERMINAL_APP_PACKAGE)).thenReturn(
when(mPackageManager.getApplicationEnabledSetting(TERMINAL_APP_PACKAGE)).thenReturn(
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
mController.updateState(mPreference);
@@ -113,7 +112,7 @@ public class LocalTerminalPreferenceControllerTest {
public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() {
mController.onDeveloperOptionsSwitchDisabled();
verify(mPackageManagerWrapper).setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
verify(mPackageManager).setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
verify(mPreference).setChecked(false);
verify(mPreference).setEnabled(false);

View File

@@ -21,7 +21,6 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -41,7 +40,7 @@ public class MockLocationAppPreferenceControllerTest {
@Mock
private AppOpsManager mAppOpsManager;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private Preference mPreference;
@Mock

View File

@@ -27,13 +27,13 @@ import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -53,7 +53,7 @@ public class SelectDebugAppPreferenceControllerTest {
@Mock
private DevelopmentSettingsDashboardFragment mFragment;
@Mock
private PackageManagerWrapper mPackageManagerWrapper;
private PackageManager mPackageManager;
private Context mContext;
private SelectDebugAppPreferenceController mController;
@@ -64,7 +64,7 @@ public class SelectDebugAppPreferenceControllerTest {
mContext = RuntimeEnvironment.application;
mController = spy(new SelectDebugAppPreferenceController(mContext, mFragment));
ReflectionHelpers
.setField(mController, "mPackageManager" /* field name */, mPackageManagerWrapper);
.setField(mController, "mPackageManager" /* field name */, mPackageManager);
when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
.thenReturn(mPreference);
mController.displayPreference(mPreferenceScreen);

View File

@@ -26,6 +26,7 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.provider.Settings;
import android.provider.Settings.Global;
@@ -34,7 +35,6 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -51,7 +51,7 @@ import java.util.List;
public class VerifyAppsOverUsbPreferenceControllerTest {
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private PreferenceScreen mScreen;
@Mock

View File

@@ -21,6 +21,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.pm.PackageManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -28,7 +30,6 @@ import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.webview.WebViewUpdateServiceWrapper;
import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -44,7 +45,7 @@ public class WebViewAppPreferenceControllerTest {
@Mock
private PreferenceScreen mPreferenceScreen;
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private WebViewUpdateServiceWrapper mWebViewUpdateServiceWrapper;
@Mock

View File

@@ -21,6 +21,7 @@ import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.pm.PackageManager;
import android.os.storage.VolumeInfo;
import android.view.Menu;
import android.view.MenuInflater;
@@ -28,7 +29,6 @@ import android.view.MenuItem;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -49,7 +49,7 @@ public class PrivateVolumeOptionMenuControllerTest {
@Mock
private MenuInflater mMenuInflater;
@Mock
private PackageManagerWrapper mPm;
private PackageManager mPm;
@Mock
private VolumeInfo mVolumeInfo;
@Mock

View File

@@ -27,11 +27,11 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.view.View;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -47,7 +47,7 @@ import java.util.Collections;
public class SecurityPatchLevelDialogControllerTest {
@Mock
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
@Mock
private FirmwareVersionDialogFragment mDialog;
@Mock

View File

@@ -37,7 +37,6 @@ import android.text.SpannableStringBuilder;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -69,7 +68,6 @@ public class EnterprisePrivacyFeatureProviderImplTest {
private @Mock Context mContext;
private @Mock DevicePolicyManager mDevicePolicyManager;
private @Mock PackageManagerWrapper mPackageManagerWrapper;
private @Mock PackageManager mPackageManager;
private @Mock UserManager mUserManager;
private @Mock ConnectivityManager mConnectivityManger;
@@ -82,13 +80,13 @@ public class EnterprisePrivacyFeatureProviderImplTest {
MockitoAnnotations.initMocks(this);
when(mContext.getApplicationContext()).thenReturn(mContext);
resetAndInitializePackageManagerWrapper();
resetAndInitializePackageManager();
when(mUserManager.getProfiles(MY_USER_ID)).thenReturn(mProfiles);
mProfiles.add(new UserInfo(MY_USER_ID, "", "", 0 /* flags */));
mResources = RuntimeEnvironment.application.getResources();
mProvider = new EnterprisePrivacyFeatureProviderImpl(mContext, mDevicePolicyManager,
mPackageManagerWrapper, mUserManager, mConnectivityManger, mResources);
mPackageManager, mUserManager, mConnectivityManger, mResources);
}
@Test
@@ -256,7 +254,7 @@ public class EnterprisePrivacyFeatureProviderImplTest {
when(applicationInfo.loadLabel(mPackageManager)).thenReturn(IME_PACKAGE_LABEL);
Settings.Secure.putString(null, Settings.Secure.DEFAULT_INPUT_METHOD, IME_PACKAGE_ID);
when(mPackageManagerWrapper.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
when(mPackageManager.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
.thenReturn(applicationInfo);
// IME not set by Device Owner.
@@ -270,13 +268,13 @@ public class EnterprisePrivacyFeatureProviderImplTest {
// Device Owner set IME to nonexistent package.
Settings.Secure.putString(null, Settings.Secure.DEFAULT_INPUT_METHOD, IME_PACKAGE_ID);
when(mPackageManagerWrapper.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
when(mPackageManager.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
.thenThrow(new PackageManager.NameNotFoundException());
assertThat(mProvider.getImeLabelIfOwnerSet()).isNull();
// Device Owner set IME to existent package.
resetAndInitializePackageManagerWrapper();
when(mPackageManagerWrapper.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
resetAndInitializePackageManager();
when(mPackageManager.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
.thenReturn(applicationInfo);
assertThat(mProvider.getImeLabelIfOwnerSet()).isEqualTo(IME_PACKAGE_LABEL);
}
@@ -356,10 +354,9 @@ public class EnterprisePrivacyFeatureProviderImplTest {
assertThat(mProvider.areBackupsMandatory()).isTrue();
}
private void resetAndInitializePackageManagerWrapper() {
reset(mPackageManagerWrapper);
when(mPackageManagerWrapper.hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN))
private void resetAndInitializePackageManager() {
reset(mPackageManager);
when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN))
.thenReturn(true);
when(mPackageManagerWrapper.getPackageManager()).thenReturn(mPackageManager);
}
}

View File

@@ -1,47 +0,0 @@
/*
* Copyright (C) 2017 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.settings.testutils.shadow;
import android.content.pm.PackageManager.NameNotFoundException;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import java.util.HashMap;
/**
* Shadow for {@link PackageManagerWrapper} to allow stubbing hidden methods.
*/
@Implements(PackageManagerWrapper.class)
public class ShadowPackageManagerWrapper {
private static final HashMap<String, Integer> packageUids = new HashMap<>();
@Implementation
public int getPackageUidAsUser(String packageName, int userId) throws NameNotFoundException {
Integer res = packageUids.get(packageName + userId);
if (res == null) {
throw new NameNotFoundException();
}
return res;
}
public static void setPackageUidAsUser(String packageName, int userId, int uid) {
packageUids.put(packageName + userId, uid);
}
}

View File

@@ -45,7 +45,6 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.widget.RadioButtonPreference;
import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before;
import org.junit.Test;
@@ -74,7 +73,7 @@ public class WebViewAppPickerTest {
@Mock
private UserManager mUserManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager;
private PackageManager mPackageManager;
private WebViewAppPicker mPicker;
private WebViewUpdateServiceWrapper mWvusWrapper;
@@ -336,9 +335,8 @@ public class WebViewAppPickerTest {
PackageInfo packageInfo = new PackageInfo();
packageInfo.versionName = "myVersionName";
PackageManager pm = mock(PackageManager.class);
when(pm.getPackageInfo(eq(DEFAULT_PACKAGE_NAME), anyInt())).thenReturn(packageInfo);
when(mPackageManager.getPackageManager()).thenReturn(pm);
when(mPackageManager.getPackageInfo(eq(DEFAULT_PACKAGE_NAME), anyInt())).thenReturn(
packageInfo);
RadioButtonPreference mockPreference = mock(RadioButtonPreference.class);
mPicker.bindPreference(mockPreference, DEFAULT_PACKAGE_NAME, webviewAppInfo, null);

View File

@@ -34,6 +34,7 @@ import androidx.lifecycle.LifecycleOwner;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager;
@@ -64,7 +65,6 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowBidiFormatter;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.testutils.shadow.ShadowPackageManagerWrapper;
import com.android.settings.widget.ActionButtonPreference;
import com.android.settings.widget.ActionButtonPreferenceTest;
import com.android.settings.widget.EntityHeaderController;
@@ -80,6 +80,7 @@ import org.mockito.Answers;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.InOrder;
import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
@@ -95,7 +96,6 @@ import java.util.stream.Collectors;
@Config(shadows = {
ShadowDevicePolicyManager.class,
ShadowEntityHeaderController.class,
ShadowPackageManagerWrapper.class,
ShadowBidiFormatter.class
})
public class WifiDetailPreferenceControllerTest {
@@ -163,6 +163,8 @@ public class WifiDetailPreferenceControllerTest {
private PreferenceCategory mockIpv6Category;
@Mock
private WifiDetailPreference mockIpv6AddressesPref;
@Mock
private PackageManager mockPackageManager;
@Captor
private ArgumentCaptor<NetworkCallback> mCallbackCaptor;
@@ -235,6 +237,7 @@ public class WifiDetailPreferenceControllerTest {
mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner);
when(mContext.getPackageManager()).thenReturn(mockPackageManager);
when(mockAccessPoint.getConfig()).thenReturn(mockWifiConfig);
when(mockAccessPoint.getLevel()).thenReturn(LEVEL);
when(mockAccessPoint.getSecurityString(false)).thenReturn(SECURITY);
@@ -682,7 +685,12 @@ public class WifiDetailPreferenceControllerTest {
mockWifiConfig.creatorUid = doUid;
ComponentName doComponent = new ComponentName(doPackage, "some.Class");
ShadowPackageManagerWrapper.setPackageUidAsUser(doPackage, doUserId, doUid);
try {
when(mockPackageManager.getPackageUidAsUser(Matchers.anyString(), Matchers.anyInt()))
.thenReturn(doUid);
} catch (PackageManager.NameNotFoundException e) {
//do nothing
}
ShadowDevicePolicyManager.getShadow().setDeviceOwnerComponentOnAnyUser(doComponent);
ShadowDevicePolicyManager.getShadow().setDeviceOwnerUserId(doUserId);