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

@@ -47,7 +47,6 @@ import com.android.settings.widget.RadioButtonPickerFragment;
import com.android.settings.widget.RadioButtonPreference; import com.android.settings.widget.RadioButtonPreference;
import com.android.settingslib.accessibility.AccessibilityUtils; import com.android.settingslib.accessibility.AccessibilityUtils;
import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.widget.CandidateInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -229,10 +228,9 @@ public class ShortcutServicePickerFragment extends RadioButtonPickerFragment {
@Override @Override
public CharSequence loadLabel() { public CharSequence loadLabel() {
final PackageManagerWrapper pmw = final PackageManager pmw = getContext().getPackageManager();
new PackageManagerWrapper(getContext().getPackageManager());
final CharSequence label = final CharSequence label =
mServiceInfo.getResolveInfo().serviceInfo.loadLabel(pmw.getPackageManager()); mServiceInfo.getResolveInfo().serviceInfo.loadLabel(pmw);
if (label != null) { if (label != null) {
return label; return label;
} }
@@ -242,7 +240,7 @@ public class ShortcutServicePickerFragment extends RadioButtonPickerFragment {
try { try {
final ApplicationInfo appInfo = pmw.getApplicationInfoAsUser( final ApplicationInfo appInfo = pmw.getApplicationInfoAsUser(
componentName.getPackageName(), 0, UserHandle.myUserId()); componentName.getPackageName(), 0, UserHandle.myUserId());
return appInfo.loadLabel(pmw.getPackageManager()); return appInfo.loadLabel(pmw);
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
return null; return null;
} }

View File

@@ -22,16 +22,14 @@ import android.os.AsyncTask;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.List; import java.util.List;
public abstract class AppCounter extends AsyncTask<Void, Void, Integer> { public abstract class AppCounter extends AsyncTask<Void, Void, Integer> {
protected final PackageManagerWrapper mPm; protected final PackageManager mPm;
protected final UserManager mUm; protected final UserManager mUm;
public AppCounter(Context context, PackageManagerWrapper packageManager) { public AppCounter(Context context, PackageManager packageManager) {
mPm = packageManager; mPm = packageManager;
mUm = (UserManager) context.getSystemService(Context.USER_SERVICE); mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
} }

View File

@@ -23,8 +23,6 @@ import android.os.AsyncTask;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -35,10 +33,10 @@ import java.util.List;
* of just counting them. * of just counting them.
*/ */
public abstract class AppLister extends AsyncTask<Void, Void, List<UserAppInfo>> { public abstract class AppLister extends AsyncTask<Void, Void, List<UserAppInfo>> {
protected final PackageManagerWrapper mPm; protected final PackageManager mPm;
protected final UserManager mUm; protected final UserManager mUm;
public AppLister(PackageManagerWrapper packageManager, UserManager userManager) { public AppLister(PackageManager packageManager, UserManager userManager) {
mPm = packageManager; mPm = packageManager;
mUm = userManager; mUm = userManager;
} }

View File

@@ -23,8 +23,6 @@ import android.os.Build;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.UserHandle; import android.os.UserHandle;
import com.android.settingslib.wrapper.PackageManagerWrapper;
/** /**
* Counts installed apps across all users that have been granted one or more specific permissions by * Counts installed apps across all users that have been granted one or more specific permissions by
* the admin. * the admin.
@@ -36,7 +34,7 @@ public abstract class AppWithAdminGrantedPermissionsCounter extends AppCounter {
private final DevicePolicyManager mDevicePolicyManager; private final DevicePolicyManager mDevicePolicyManager;
public AppWithAdminGrantedPermissionsCounter(Context context, String[] permissions, public AppWithAdminGrantedPermissionsCounter(Context context, String[] permissions,
PackageManagerWrapper packageManager, IPackageManager packageManagerService, PackageManager packageManager, IPackageManager packageManagerService,
DevicePolicyManager devicePolicyManager) { DevicePolicyManager devicePolicyManager) {
super(context, packageManager); super(context, packageManager);
mPermissions = permissions; mPermissions = permissions;
@@ -51,7 +49,7 @@ public abstract class AppWithAdminGrantedPermissionsCounter extends AppCounter {
} }
public static boolean includeInCount(String[] permissions, public static boolean includeInCount(String[] permissions,
DevicePolicyManager devicePolicyManager, PackageManagerWrapper packageManager, DevicePolicyManager devicePolicyManager, PackageManager packageManager,
IPackageManager packageManagerService, ApplicationInfo info) { IPackageManager packageManagerService, ApplicationInfo info) {
if (info.targetSdkVersion >= Build.VERSION_CODES.M) { if (info.targetSdkVersion >= Build.VERSION_CODES.M) {
// The app uses run-time permissions. Check whether one or more of the permissions were // The app uses run-time permissions. Check whether one or more of the permissions were

View File

@@ -19,10 +19,9 @@ package com.android.settings.applications;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager; import android.content.pm.IPackageManager;
import android.content.pm.PackageManager;
import android.os.UserManager; import android.os.UserManager;
import com.android.settingslib.wrapper.PackageManagerWrapper;
/** /**
* Lists installed apps across all users that have been granted one or more specific permissions by * Lists installed apps across all users that have been granted one or more specific permissions by
* the admin. * the admin.
@@ -33,7 +32,7 @@ public abstract class AppWithAdminGrantedPermissionsLister extends AppLister {
private final DevicePolicyManager mDevicePolicyManager; private final DevicePolicyManager mDevicePolicyManager;
public AppWithAdminGrantedPermissionsLister(String[] permissions, public AppWithAdminGrantedPermissionsLister(String[] permissions,
PackageManagerWrapper packageManager, IPackageManager packageManagerService, PackageManager packageManager, IPackageManager packageManagerService,
DevicePolicyManager devicePolicyManager, UserManager userManager) { DevicePolicyManager devicePolicyManager, UserManager userManager) {
super(packageManager, userManager); super(packageManager, userManager);
mPermissions = permissions; mPermissions = permissions;

View File

@@ -28,8 +28,6 @@ import android.os.RemoteException;
import android.os.UserManager; import android.os.UserManager;
import android.util.ArraySet; import android.util.ArraySet;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@@ -37,12 +35,12 @@ import java.util.Set;
public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvider { public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvider {
private final Context mContext; private final Context mContext;
private final PackageManagerWrapper mPm; private final PackageManager mPm;
private final IPackageManager mPms; private final IPackageManager mPms;
private final DevicePolicyManager mDpm; private final DevicePolicyManager mDpm;
private final UserManager mUm; private final UserManager mUm;
public ApplicationFeatureProviderImpl(Context context, PackageManagerWrapper pm, public ApplicationFeatureProviderImpl(Context context, PackageManager pm,
IPackageManager pms, DevicePolicyManager dpm) { IPackageManager pms, DevicePolicyManager dpm) {
mContext = context.getApplicationContext(); mContext = context.getApplicationContext();
mPm = pm; mPm = pm;
@@ -132,7 +130,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
private NumberOfAppsCallback mCallback; private NumberOfAppsCallback mCallback;
CurrentUserAndManagedProfilePolicyInstalledAppCounter(Context context, CurrentUserAndManagedProfilePolicyInstalledAppCounter(Context context,
PackageManagerWrapper packageManager, NumberOfAppsCallback callback) { PackageManager packageManager, NumberOfAppsCallback callback) {
super(context, PackageManager.INSTALL_REASON_POLICY, packageManager); super(context, PackageManager.INSTALL_REASON_POLICY, packageManager);
mCallback = callback; mCallback = callback;
} }
@@ -148,7 +146,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
private NumberOfAppsCallback mCallback; private NumberOfAppsCallback mCallback;
CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter(Context context, CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter(Context context,
String[] permissions, PackageManagerWrapper packageManager, String[] permissions, PackageManager packageManager,
IPackageManager packageManagerService, IPackageManager packageManagerService,
DevicePolicyManager devicePolicyManager, NumberOfAppsCallback callback) { DevicePolicyManager devicePolicyManager, NumberOfAppsCallback callback) {
super(context, permissions, packageManager, packageManagerService, devicePolicyManager); super(context, permissions, packageManager, packageManagerService, devicePolicyManager);
@@ -164,7 +162,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
private static class CurrentUserPolicyInstalledAppLister extends InstalledAppLister { private static class CurrentUserPolicyInstalledAppLister extends InstalledAppLister {
private ListOfAppsCallback mCallback; private ListOfAppsCallback mCallback;
CurrentUserPolicyInstalledAppLister(PackageManagerWrapper packageManager, CurrentUserPolicyInstalledAppLister(PackageManager packageManager,
UserManager userManager, ListOfAppsCallback callback) { UserManager userManager, ListOfAppsCallback callback) {
super(packageManager, userManager); super(packageManager, userManager);
mCallback = callback; mCallback = callback;
@@ -181,7 +179,7 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
private ListOfAppsCallback mCallback; private ListOfAppsCallback mCallback;
CurrentUserAppWithAdminGrantedPermissionsLister(String[] permissions, CurrentUserAppWithAdminGrantedPermissionsLister(String[] permissions,
PackageManagerWrapper packageManager, IPackageManager packageManagerService, PackageManager packageManager, IPackageManager packageManagerService,
DevicePolicyManager devicePolicyManager, UserManager userManager, DevicePolicyManager devicePolicyManager, UserManager userManager,
ListOfAppsCallback callback) { ListOfAppsCallback callback) {
super(permissions, packageManager, packageManagerService, devicePolicyManager, super(permissions, packageManager, packageManagerService, devicePolicyManager,

View File

@@ -21,8 +21,6 @@ import android.content.pm.ResolveInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.UserHandle; import android.os.UserHandle;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.List; import java.util.List;
public abstract class InstalledAppCounter extends AppCounter { public abstract class InstalledAppCounter extends AppCounter {
@@ -35,7 +33,7 @@ public abstract class InstalledAppCounter extends AppCounter {
private final int mInstallReason; private final int mInstallReason;
public InstalledAppCounter(Context context, int installReason, public InstalledAppCounter(Context context, int installReason,
PackageManagerWrapper packageManager) { PackageManager packageManager) {
super(context, packageManager); super(context, packageManager);
mInstallReason = installReason; mInstallReason = installReason;
} }
@@ -45,7 +43,7 @@ public abstract class InstalledAppCounter extends AppCounter {
return includeInCount(mInstallReason, mPm, info); return includeInCount(mInstallReason, mPm, info);
} }
public static boolean includeInCount(int installReason, PackageManagerWrapper pm, public static boolean includeInCount(int installReason, PackageManager pm,
ApplicationInfo info) { ApplicationInfo info) {
final int userId = UserHandle.getUserId(info.uid); final int userId = UserHandle.getUserId(info.uid);
if (installReason != IGNORE_INSTALL_REASON if (installReason != IGNORE_INSTALL_REASON

View File

@@ -20,11 +20,9 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.UserManager; import android.os.UserManager;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public abstract class InstalledAppLister extends AppLister { public abstract class InstalledAppLister extends AppLister {
public InstalledAppLister(PackageManagerWrapper packageManager, UserManager userManager) { public InstalledAppLister(PackageManager packageManager, UserManager userManager) {
super(packageManager, userManager); super(packageManager, userManager);
} }

View File

@@ -45,7 +45,6 @@ import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.utils.StringUtil; import com.android.settingslib.utils.StringUtil;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -147,7 +146,7 @@ public class RecentAppsPreferenceController extends AbstractPreferenceController
refreshUi(mCategory.getContext()); refreshUi(mCategory.getContext());
// Show total number of installed apps as See all's summary. // Show total number of installed apps as See all's summary.
new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON, new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON,
new PackageManagerWrapper(mContext.getPackageManager())) { mContext.getPackageManager()) {
@Override @Override
protected void onCountComplete(int num) { protected void onCountComplete(int num) {
if (mHasRecentApps) { if (mHasRecentApps) {

View File

@@ -17,7 +17,6 @@ package com.android.settings.applications.appinfo;
import android.content.Context; import android.content.Context;
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController; import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class DefaultHomeShortcutPreferenceController public class DefaultHomeShortcutPreferenceController
extends DefaultAppShortcutPreferenceControllerBase { extends DefaultAppShortcutPreferenceControllerBase {
@@ -36,7 +35,7 @@ public class DefaultHomeShortcutPreferenceController
@Override @Override
protected boolean isDefaultApp() { protected boolean isDefaultApp() {
return DefaultHomePreferenceController.isHomeDefault(mPackageName, return DefaultHomePreferenceController.isHomeDefault(mPackageName,
new PackageManagerWrapper(mContext.getPackageManager())); mContext.getPackageManager());
} }
} }

View File

@@ -25,7 +25,7 @@ import android.content.pm.ResolveInfo;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle; import android.os.UserHandle;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Menu; import android.view.Menu;
@@ -46,7 +46,6 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu; import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
import com.android.settingslib.core.lifecycle.events.OnOptionsItemSelected; import com.android.settingslib.core.lifecycle.events.OnOptionsItemSelected;
import com.android.settingslib.core.lifecycle.events.OnPrepareOptionsMenu; import com.android.settingslib.core.lifecycle.events.OnPrepareOptionsMenu;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.List; import java.util.List;
@@ -59,7 +58,7 @@ public class InstantAppButtonsPreferenceController extends BasePreferenceControl
private final AppInfoDashboardFragment mParent; private final AppInfoDashboardFragment mParent;
private final String mPackageName; private final String mPackageName;
private final PackageManagerWrapper mPackageManagerWrapper; private final PackageManager mPackageManager;
private String mLaunchUri; private String mLaunchUri;
private LayoutPreference mPreference; private LayoutPreference mPreference;
private MenuItem mInstallMenu; private MenuItem mInstallMenu;
@@ -69,7 +68,7 @@ public class InstantAppButtonsPreferenceController extends BasePreferenceControl
super(context, KEY_INSTANT_APP_BUTTONS); super(context, KEY_INSTANT_APP_BUTTONS);
mParent = parent; mParent = parent;
mPackageName = packageName; mPackageName = packageName;
mPackageManagerWrapper = new PackageManagerWrapper(context.getPackageManager()); mPackageManager = context.getPackageManager();
mLaunchUri = getDefaultLaunchUri(); mLaunchUri = getDefaultLaunchUri();
if (lifecycle != null) { if (lifecycle != null) {
lifecycle.addObserver(this); lifecycle.addObserver(this);
@@ -123,7 +122,7 @@ public class InstantAppButtonsPreferenceController extends BasePreferenceControl
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider() FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
.action(mContext, MetricsEvent.ACTION_SETTINGS_CLEAR_INSTANT_APP, mPackageName); .action(mContext, MetricsEvent.ACTION_SETTINGS_CLEAR_INSTANT_APP, mPackageName);
mPackageManagerWrapper.deletePackageAsUser( mPackageManager.deletePackageAsUser(
mPackageName, null, 0, UserHandle.myUserId()); mPackageName, null, 0, UserHandle.myUserId());
} }

View File

@@ -40,7 +40,6 @@ import com.android.settings.R;
import com.android.settings.applications.AppInfoBase; import com.android.settings.applications.AppInfoBase;
import com.android.settings.notification.EmptyTextSettings; import com.android.settings.notification.EmptyTextSettings;
import com.android.settings.widget.AppPreference; import com.android.settings.widget.AppPreference;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.text.Collator; import java.text.Collator;
import java.util.ArrayList; import java.util.ArrayList;
@@ -86,7 +85,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
} }
private Context mContext; private Context mContext;
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
private UserManager mUserManager; private UserManager mUserManager;
private IconDrawableFactory mIconDrawableFactory; private IconDrawableFactory mIconDrawableFactory;
@@ -118,7 +117,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
// Do nothing // Do nothing
} }
public PictureInPictureSettings(PackageManagerWrapper pm, UserManager um) { public PictureInPictureSettings(PackageManager pm, UserManager um) {
mPackageManager = pm; mPackageManager = pm;
mUserManager = um; mUserManager = um;
} }
@@ -128,7 +127,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
super.onCreate(icicle); super.onCreate(icicle);
mContext = getActivity(); mContext = getActivity();
mPackageManager = new PackageManagerWrapper(mContext.getPackageManager()); mPackageManager = mContext.getPackageManager();
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext); mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
} }
@@ -143,10 +142,9 @@ public class PictureInPictureSettings extends EmptyTextSettings {
// Fetch the set of applications for each profile which have at least one activity that // Fetch the set of applications for each profile which have at least one activity that
// declare that they support picture-in-picture // declare that they support picture-in-picture
final PackageManager pm = mPackageManager.getPackageManager();
final ArrayList<Pair<ApplicationInfo, Integer>> pipApps = final ArrayList<Pair<ApplicationInfo, Integer>> pipApps =
collectPipApps(UserHandle.myUserId()); collectPipApps(UserHandle.myUserId());
Collections.sort(pipApps, new AppComparator(pm)); Collections.sort(pipApps, new AppComparator(mPackageManager));
// Rebuild the list of prefs // Rebuild the list of prefs
final Context prefContext = getPrefContext(); final Context prefContext = getPrefContext();
@@ -155,11 +153,11 @@ public class PictureInPictureSettings extends EmptyTextSettings {
final int userId = appData.second; final int userId = appData.second;
final UserHandle user = UserHandle.of(userId); final UserHandle user = UserHandle.of(userId);
final String packageName = appInfo.packageName; final String packageName = appInfo.packageName;
final CharSequence label = appInfo.loadLabel(pm); final CharSequence label = appInfo.loadLabel(mPackageManager);
final Preference pref = new AppPreference(prefContext); final Preference pref = new AppPreference(prefContext);
pref.setIcon(mIconDrawableFactory.getBadgedIcon(appInfo, userId)); pref.setIcon(mIconDrawableFactory.getBadgedIcon(appInfo, userId));
pref.setTitle(pm.getUserBadgedLabel(label, user)); pref.setTitle(mPackageManager.getUserBadgedLabel(label, user));
pref.setSummary(PictureInPictureDetails.getPreferenceSummary(prefContext, pref.setSummary(PictureInPictureDetails.getPreferenceSummary(prefContext,
appInfo.uid, packageName)); appInfo.uid, packageName));
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() { pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {

View File

@@ -134,12 +134,11 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment {
} }
private void addAssistServices() { private void addAssistServices() {
final PackageManager pm = mPm.getPackageManager(); final List<ResolveInfo> services = mPm.queryIntentServices(
final List<ResolveInfo> services = pm.queryIntentServices(
ASSIST_SERVICE_PROBE, PackageManager.GET_META_DATA); ASSIST_SERVICE_PROBE, PackageManager.GET_META_DATA);
for (ResolveInfo resolveInfo : services) { for (ResolveInfo resolveInfo : services) {
VoiceInteractionServiceInfo voiceInteractionServiceInfo = VoiceInteractionServiceInfo voiceInteractionServiceInfo =
new VoiceInteractionServiceInfo(pm, resolveInfo.serviceInfo); new VoiceInteractionServiceInfo(mPm, resolveInfo.serviceInfo);
if (!voiceInteractionServiceInfo.getSupportsAssist()) { if (!voiceInteractionServiceInfo.getSupportsAssist()) {
continue; continue;
} }
@@ -152,8 +151,7 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment {
} }
private void addAssistActivities() { private void addAssistActivities() {
final PackageManager pm = mPm.getPackageManager(); final List<ResolveInfo> activities = mPm.queryIntentActivities(
final List<ResolveInfo> activities = pm.queryIntentActivities(
ASSIST_ACTIVITY_PROBE, PackageManager.MATCH_DEFAULT_ONLY); ASSIST_ACTIVITY_PROBE, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo resolveInfo : activities) { for (ResolveInfo resolveInfo : activities) {
mAvailableAssistants.add(new Info( mAvailableAssistants.add(new Info(
@@ -206,9 +204,8 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment {
} }
private String getDefaultRecognizer() { private String getDefaultRecognizer() {
final ResolveInfo resolveInfo = mPm.getPackageManager().resolveService( final ResolveInfo resolveInfo = mPm.resolveService(
new Intent(RecognitionService.SERVICE_INTERFACE), new Intent(RecognitionService.SERVICE_INTERFACE), PackageManager.GET_META_DATA);
PackageManager.GET_META_DATA);
if (resolveInfo == null || resolveInfo.serviceInfo == null) { if (resolveInfo == null || resolveInfo.serviceInfo == null) {
Log.w(TAG, "Unable to resolve default voice recognition service."); Log.w(TAG, "Unable to resolve default voice recognition service.");
return ""; return "";

View File

@@ -58,13 +58,12 @@ public class DefaultAssistPreferenceController extends DefaultAppPreferenceContr
final Intent probe = new Intent(VoiceInteractionService.SERVICE_INTERFACE) final Intent probe = new Intent(VoiceInteractionService.SERVICE_INTERFACE)
.setPackage(cn.getPackageName()); .setPackage(cn.getPackageName());
final PackageManager pm = mPackageManager.getPackageManager(); final List<ResolveInfo> services = mPackageManager.queryIntentServices(probe,
final List<ResolveInfo> services = pm.queryIntentServices(probe, PackageManager PackageManager.GET_META_DATA);
.GET_META_DATA);
if (services == null || services.isEmpty()) { if (services == null || services.isEmpty()) {
return null; return null;
} }
final String activity = getAssistSettingsActivity(cn, services.get(0), pm); final String activity = getAssistSettingsActivity(cn, services.get(0), mPackageManager);
if (activity == null) { if (activity == null) {
return null; return null;
} }

View File

@@ -19,6 +19,7 @@ package com.android.settings.applications.assist;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.provider.Settings; import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
@@ -27,7 +28,6 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -139,7 +139,7 @@ public class DefaultVoiceInputPicker extends DefaultAppPickerFragment {
public VoiceInputHelper.BaseInfo mInfo; public VoiceInputHelper.BaseInfo mInfo;
public VoiceInputDefaultAppInfo(Context context, PackageManagerWrapper pm, int userId, public VoiceInputDefaultAppInfo(Context context, PackageManager pm, int userId,
VoiceInputHelper.BaseInfo info, boolean enabled) { VoiceInputHelper.BaseInfo info, boolean enabled) {
super(context, pm, userId, info.componentName, null /* summary */, enabled); super(context, pm, userId, info.componentName, null /* summary */, enabled);
mInfo = info; mInfo = info;

View File

@@ -23,6 +23,7 @@ import android.app.DialogFragment;
import android.app.Fragment; import android.app.Fragment;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Pair; import android.util.Pair;
@@ -34,19 +35,18 @@ import com.android.settings.widget.RadioButtonPickerFragment;
import com.android.settings.widget.RadioButtonPreference; import com.android.settings.widget.RadioButtonPreference;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.widget.CandidateInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
/** /**
* A generic app picker fragment that shows a list of app as radio button group. * A generic app picker fragment that shows a list of app as radio button group.
*/ */
public abstract class DefaultAppPickerFragment extends RadioButtonPickerFragment { public abstract class DefaultAppPickerFragment extends RadioButtonPickerFragment {
protected PackageManagerWrapper mPm; protected PackageManager mPm;
@Override @Override
public void onAttach(Context context) { public void onAttach(Context context) {
super.onAttach(context); super.onAttach(context);
mPm = new PackageManagerWrapper(context.getPackageManager()); mPm = context.getPackageManager();
} }
@Override @Override

View File

@@ -20,6 +20,7 @@ import static com.android.settingslib.TwoTargetPreference.ICON_SIZE_MEDIUM;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
@@ -34,21 +35,20 @@ import com.android.settings.widget.GearPreference;
import com.android.settingslib.TwoTargetPreference; import com.android.settingslib.TwoTargetPreference;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public abstract class DefaultAppPreferenceController extends AbstractPreferenceController public abstract class DefaultAppPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin { implements PreferenceControllerMixin {
private static final String TAG = "DefaultAppPrefControl"; private static final String TAG = "DefaultAppPrefControl";
protected final PackageManagerWrapper mPackageManager; protected final PackageManager mPackageManager;
protected final UserManager mUserManager; protected final UserManager mUserManager;
protected int mUserId; protected int mUserId;
public DefaultAppPreferenceController(Context context) { public DefaultAppPreferenceController(Context context) {
super(context); super(context);
mPackageManager = new PackageManagerWrapper(context.getPackageManager()); mPackageManager = context.getPackageManager();
mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mUserId = UserHandle.myUserId(); mUserId = UserHandle.myUserId();
} }

View File

@@ -72,7 +72,7 @@ public class DefaultBrowserPreferenceController extends DefaultAppPreferenceCont
final String packageName = mPackageManager.getDefaultBrowserPackageNameAsUser(mUserId); final String packageName = mPackageManager.getDefaultBrowserPackageNameAsUser(mUserId);
Log.d(TAG, "Get default browser package: " + packageName); Log.d(TAG, "Get default browser package: " + packageName);
return new DefaultAppInfo(mContext, mPackageManager, return new DefaultAppInfo(mContext, mPackageManager,
mPackageManager.getPackageManager().getApplicationInfo(packageName, 0)); mPackageManager.getApplicationInfo(packageName, 0));
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
return null; return null;
} }
@@ -113,7 +113,7 @@ public class DefaultBrowserPreferenceController extends DefaultAppPreferenceCont
final List<ResolveInfo> list = getCandidates(); final List<ResolveInfo> list = getCandidates();
if (list != null && list.size() == 1) { if (list != null && list.size() == 1) {
final ResolveInfo info = list.get(0); final ResolveInfo info = list.get(0);
final String label = info.loadLabel(mPackageManager.getPackageManager()).toString(); final String label = info.loadLabel(mPackageManager).toString();
final ComponentInfo cn = info.getComponentInfo(); final ComponentInfo cn = info.getComponentInfo();
final String packageName = cn == null ? null : cn.packageName; final String packageName = cn == null ? null : cn.packageName;
Log.d(TAG, "Getting label for the only browser app: " + packageName + label); Log.d(TAG, "Getting label for the only browser app: " + packageName + label);
@@ -133,7 +133,7 @@ public class DefaultBrowserPreferenceController extends DefaultAppPreferenceCont
} }
final ApplicationInfo appInfo; final ApplicationInfo appInfo;
try { try {
appInfo = mPackageManager.getPackageManager().getApplicationInfo(packageName, 0); appInfo = mPackageManager.getApplicationInfo(packageName, 0);
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
Log.w(TAG, "Error getting app info for " + packageName); Log.w(TAG, "Error getting app info for " + packageName);
return null; return null;

View File

@@ -49,14 +49,14 @@ public class DefaultEmergencyPicker extends DefaultAppPickerFragment {
@Override @Override
protected List<DefaultAppInfo> getCandidates() { protected List<DefaultAppInfo> getCandidates() {
final List<DefaultAppInfo> candidates = new ArrayList<>(); final List<DefaultAppInfo> candidates = new ArrayList<>();
final List<ResolveInfo> infos = mPm.getPackageManager().queryIntentActivities( final List<ResolveInfo> infos = mPm.queryIntentActivities(
DefaultEmergencyPreferenceController.QUERY_INTENT, 0); DefaultEmergencyPreferenceController.QUERY_INTENT, 0);
PackageInfo bestMatch = null; PackageInfo bestMatch = null;
final Context context = getContext(); final Context context = getContext();
for (ResolveInfo info : infos) { for (ResolveInfo info : infos) {
try { try {
final PackageInfo packageInfo = final PackageInfo packageInfo =
mPm.getPackageManager().getPackageInfo(info.activityInfo.packageName, 0); mPm.getPackageInfo(info.activityInfo.packageName, 0);
final ApplicationInfo appInfo = packageInfo.applicationInfo; final ApplicationInfo appInfo = packageInfo.applicationInfo;
candidates.add(new DefaultAppInfo(context, mPm, appInfo)); candidates.add(new DefaultAppInfo(context, mPm, appInfo));
// Get earliest installed system app. // Get earliest installed system app.

View File

@@ -41,7 +41,7 @@ public class DefaultEmergencyPreferenceController extends DefaultAppPreferenceCo
public boolean isAvailable() { public boolean isAvailable() {
return DEFAULT_EMERGENCY_APP_IS_CONFIGURABLE return DEFAULT_EMERGENCY_APP_IS_CONFIGURABLE
&& isCapable() && isCapable()
&& mPackageManager.getPackageManager().resolveActivity(QUERY_INTENT, 0) != null; && mPackageManager.resolveActivity(QUERY_INTENT, 0) != null;
} }
@Override @Override

View File

@@ -138,8 +138,8 @@ public class DefaultHomePicker extends DefaultAppPickerFragment {
private boolean launcherHasManagedProfilesFeature(ResolveInfo resolveInfo) { private boolean launcherHasManagedProfilesFeature(ResolveInfo resolveInfo) {
try { try {
ApplicationInfo appInfo = mPm.getPackageManager().getApplicationInfo( ApplicationInfo appInfo = mPm.getApplicationInfo(resolveInfo.activityInfo.packageName,
resolveInfo.activityInfo.packageName, 0 /* default flags */); 0 /* default flags */);
return versionNumberAtLeastL(appInfo.targetSdkVersion); return versionNumberAtLeastL(appInfo.targetSdkVersion);
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
return false; return false;

View File

@@ -26,7 +26,6 @@ import android.content.pm.ResolveInfo;
import com.android.settings.R; import com.android.settings.R;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -121,7 +120,7 @@ public class DefaultHomePreferenceController extends DefaultAppPreferenceControl
return false; return false;
} }
public static boolean isHomeDefault(String pkg, PackageManagerWrapper pm) { public static boolean isHomeDefault(String pkg, PackageManager pm) {
final ArrayList<ResolveInfo> homeActivities = new ArrayList<>(); final ArrayList<ResolveInfo> homeActivities = new ArrayList<>();
ComponentName def = pm.getHomeActivities(homeActivities); ComponentName def = pm.getHomeActivities(homeActivities);

View File

@@ -59,10 +59,8 @@ public class DefaultPhonePreferenceController extends DefaultAppPreferenceContro
@Override @Override
protected DefaultAppInfo getDefaultAppInfo() { protected DefaultAppInfo getDefaultAppInfo() {
try { try {
return new DefaultAppInfo(mContext, mPackageManager, return new DefaultAppInfo(mContext, mPackageManager, mPackageManager.getApplicationInfo(
mPackageManager.getPackageManager().getApplicationInfo( DefaultDialerManager.getDefaultDialerApplication(mContext, mUserId), 0));
DefaultDialerManager.getDefaultDialerApplication(mContext, mUserId),
0));
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
return null; return null;
} }

View File

@@ -122,7 +122,6 @@ import com.android.settingslib.applications.ApplicationsState.VolumeFilter;
import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.fuelgauge.PowerWhitelistBackend; import com.android.settingslib.fuelgauge.PowerWhitelistBackend;
import com.android.settingslib.utils.ThreadUtils; import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -1420,7 +1419,7 @@ public class ManageApplications extends InstrumentedFragment
public void setListening(boolean listening) { public void setListening(boolean listening) {
if (listening) { if (listening) {
new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON, new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON,
new PackageManagerWrapper(mContext.getPackageManager())) { mContext.getPackageManager()) {
@Override @Override
protected void onCountComplete(int num) { protected void onCountComplete(int num) {
mLoader.setSummary(SummaryProvider.this, mLoader.setSummary(SummaryProvider.this,

View File

@@ -53,7 +53,6 @@ import com.android.settingslib.net.ChartData;
import com.android.settingslib.net.ChartDataLoader; import com.android.settingslib.net.ChartDataLoader;
import com.android.settingslib.net.UidDetail; import com.android.settingslib.net.UidDetail;
import com.android.settingslib.net.UidDetailProvider; import com.android.settingslib.net.UidDetailProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener, public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener,
DataSaverBackend.Listener { DataSaverBackend.Listener {
@@ -75,7 +74,7 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
private static final int LOADER_CHART_DATA = 2; private static final int LOADER_CHART_DATA = 2;
private static final int LOADER_APP_PREF = 3; private static final int LOADER_APP_PREF = 3;
private PackageManagerWrapper mPackageManagerWrapper; private PackageManager mPackageManager;
private final ArraySet<String> mPackages = new ArraySet<>(); private final ArraySet<String> mPackages = new ArraySet<>();
private Preference mTotalUsage; private Preference mTotalUsage;
private Preference mForegroundUsage; private Preference mForegroundUsage;
@@ -104,7 +103,7 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
mPackageManagerWrapper = new PackageManagerWrapper(getPackageManager()); mPackageManager = getPackageManager();
final Bundle args = getArguments(); final Bundle args = getArguments();
try { try {
@@ -149,10 +148,10 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
if (mAppItem.key > 0) { if (mAppItem.key > 0) {
if (mPackages.size() != 0) { if (mPackages.size() != 0) {
try { try {
ApplicationInfo info = mPackageManagerWrapper.getApplicationInfoAsUser( ApplicationInfo info = mPackageManager.getApplicationInfoAsUser(
mPackages.valueAt(0), 0, UserHandle.getUserId(mAppItem.key)); mPackages.valueAt(0), 0, UserHandle.getUserId(mAppItem.key));
mIcon = IconDrawableFactory.newInstance(getActivity()).getBadgedIcon(info); mIcon = IconDrawableFactory.newInstance(getActivity()).getBadgedIcon(info);
mLabel = info.loadLabel(mPackageManagerWrapper.getPackageManager()); mLabel = info.loadLabel(mPackageManager);
mPackageName = info.packageName; mPackageName = info.packageName;
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
} }
@@ -333,7 +332,7 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen
int uid = 0; int uid = 0;
if (pkg != null) { if (pkg != null) {
try { try {
uid = mPackageManagerWrapper.getPackageUidAsUser(pkg, uid = mPackageManager.getPackageUidAsUser(pkg,
UserHandle.getUserId(mAppItem.key)); UserHandle.getUserId(mAppItem.key));
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
Log.w(TAG, "Skipping UID because cannot find package " + pkg); Log.w(TAG, "Skipping UID because cannot find package " + pkg);

View File

@@ -10,7 +10,6 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController; import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class LocalTerminalPreferenceController extends DeveloperOptionsPreferenceController public class LocalTerminalPreferenceController extends DeveloperOptionsPreferenceController
implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin { implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
@@ -20,7 +19,7 @@ public class LocalTerminalPreferenceController extends DeveloperOptionsPreferenc
@VisibleForTesting @VisibleForTesting
static final String TERMINAL_APP_PACKAGE = "com.android.terminal"; static final String TERMINAL_APP_PACKAGE = "com.android.terminal";
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
private UserManager mUserManager; private UserManager mUserManager;
public LocalTerminalPreferenceController(Context context) { public LocalTerminalPreferenceController(Context context) {
@@ -43,7 +42,7 @@ public class LocalTerminalPreferenceController extends DeveloperOptionsPreferenc
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);
mPackageManager = getPackageManagerWrapper(); mPackageManager = getPackageManager();
if (isAvailable() && !isEnabled()) { if (isAvailable() && !isEnabled()) {
mPreference.setEnabled(false); mPreference.setEnabled(false);
@@ -82,8 +81,8 @@ public class LocalTerminalPreferenceController extends DeveloperOptionsPreferenc
} }
@VisibleForTesting @VisibleForTesting
PackageManagerWrapper getPackageManagerWrapper() { PackageManager getPackageManager() {
return new PackageManagerWrapper(mContext.getPackageManager()); return mContext.getPackageManager();
} }
private boolean isPackageInstalled(String packageName) { private boolean isPackageInstalled(String packageName) {

View File

@@ -32,7 +32,6 @@ import android.text.TextUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController; import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.List; import java.util.List;
@@ -44,7 +43,7 @@ public class MockLocationAppPreferenceController extends DeveloperOptionsPrefere
private final DevelopmentSettingsDashboardFragment mFragment; private final DevelopmentSettingsDashboardFragment mFragment;
private final AppOpsManager mAppsOpsManager; private final AppOpsManager mAppsOpsManager;
private final PackageManagerWrapper mPackageManager; private final PackageManager mPackageManager;
public MockLocationAppPreferenceController(Context context, public MockLocationAppPreferenceController(Context context,
DevelopmentSettingsDashboardFragment fragment) { DevelopmentSettingsDashboardFragment fragment) {
@@ -52,7 +51,7 @@ public class MockLocationAppPreferenceController extends DeveloperOptionsPrefere
mFragment = fragment; mFragment = fragment;
mAppsOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mAppsOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
mPackageManager = new PackageManagerWrapper(context.getPackageManager()); mPackageManager = context.getPackageManager();
} }
@Override @Override

View File

@@ -31,7 +31,6 @@ import androidx.preference.Preference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController; import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class SelectDebugAppPreferenceController extends DeveloperOptionsPreferenceController public class SelectDebugAppPreferenceController extends DeveloperOptionsPreferenceController
implements PreferenceControllerMixin, OnActivityResultListener { implements PreferenceControllerMixin, OnActivityResultListener {
@@ -39,13 +38,13 @@ public class SelectDebugAppPreferenceController extends DeveloperOptionsPreferen
private static final String DEBUG_APP_KEY = "debug_app"; private static final String DEBUG_APP_KEY = "debug_app";
private final DevelopmentSettingsDashboardFragment mFragment; private final DevelopmentSettingsDashboardFragment mFragment;
private final PackageManagerWrapper mPackageManager; private final PackageManager mPackageManager;
public SelectDebugAppPreferenceController(Context context, public SelectDebugAppPreferenceController(Context context,
DevelopmentSettingsDashboardFragment fragment) { DevelopmentSettingsDashboardFragment fragment) {
super(context); super(context);
mFragment = fragment; mFragment = fragment;
mPackageManager = new PackageManagerWrapper(mContext.getPackageManager()); mPackageManager = mContext.getPackageManager();
} }
@Override @Override

View File

@@ -18,6 +18,7 @@ package com.android.settings.development;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
@@ -30,7 +31,6 @@ import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.development.DeveloperOptionsPreferenceController; import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.List; import java.util.List;
@@ -65,12 +65,12 @@ public class VerifyAppsOverUsbPreferenceController extends DeveloperOptionsPrefe
new RestrictedLockUtilsDelegate(); new RestrictedLockUtilsDelegate();
// This field is accessed using reflection in the test, please keep name in sync. // This field is accessed using reflection in the test, please keep name in sync.
private final PackageManagerWrapper mPackageManager; private final PackageManager mPackageManager;
public VerifyAppsOverUsbPreferenceController(Context context) { public VerifyAppsOverUsbPreferenceController(Context context) {
super(context); super(context);
mPackageManager = new PackageManagerWrapper(context.getPackageManager()); mPackageManager = context.getPackageManager();
} }
@Override @Override

View File

@@ -20,6 +20,8 @@ import android.content.Context;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; import androidx.preference.Preference;
import android.content.pm.PackageManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@@ -28,7 +30,6 @@ import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.webview.WebViewUpdateServiceWrapper; import com.android.settings.webview.WebViewUpdateServiceWrapper;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.development.DeveloperOptionsPreferenceController; import com.android.settingslib.development.DeveloperOptionsPreferenceController;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class WebViewAppPreferenceController extends DeveloperOptionsPreferenceController implements public class WebViewAppPreferenceController extends DeveloperOptionsPreferenceController implements
PreferenceControllerMixin { PreferenceControllerMixin {
@@ -36,13 +37,13 @@ public class WebViewAppPreferenceController extends DeveloperOptionsPreferenceCo
private static final String TAG = "WebViewAppPrefCtrl"; private static final String TAG = "WebViewAppPrefCtrl";
private static final String WEBVIEW_APP_KEY = "select_webview_provider"; private static final String WEBVIEW_APP_KEY = "select_webview_provider";
private final PackageManagerWrapper mPackageManager; private final PackageManager mPackageManager;
private final WebViewUpdateServiceWrapper mWebViewUpdateServiceWrapper; private final WebViewUpdateServiceWrapper mWebViewUpdateServiceWrapper;
public WebViewAppPreferenceController(Context context) { public WebViewAppPreferenceController(Context context) {
super(context); super(context);
mPackageManager = new PackageManagerWrapper(context.getPackageManager()); mPackageManager = context.getPackageManager();
mWebViewUpdateServiceWrapper = new WebViewUpdateServiceWrapper(); mWebViewUpdateServiceWrapper = new WebViewUpdateServiceWrapper();
} }

View File

@@ -18,18 +18,17 @@ package com.android.settings.deviceinfo;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.storage.VolumeInfo; import android.os.storage.VolumeInfo;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import com.android.settings.R; import com.android.settings.R;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu; import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
import com.android.settingslib.core.lifecycle.events.OnOptionsItemSelected; import com.android.settingslib.core.lifecycle.events.OnOptionsItemSelected;
import com.android.settingslib.core.lifecycle.events.OnPrepareOptionsMenu; import com.android.settingslib.core.lifecycle.events.OnPrepareOptionsMenu;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.Objects; import java.util.Objects;
@@ -42,10 +41,10 @@ public class PrivateVolumeOptionMenuController implements LifecycleObserver, OnC
private Context mContext; private Context mContext;
private VolumeInfo mVolumeInfo; private VolumeInfo mVolumeInfo;
private PackageManagerWrapper mPm; private PackageManager mPm;
public PrivateVolumeOptionMenuController( public PrivateVolumeOptionMenuController(
Context context, VolumeInfo volumeInfo, PackageManagerWrapper packageManager) { Context context, VolumeInfo volumeInfo, PackageManager packageManager) {
mContext = context; mContext = context;
mVolumeInfo = volumeInfo; mVolumeInfo = volumeInfo;
mPm = packageManager; mPm = packageManager;

View File

@@ -52,7 +52,6 @@ import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.deviceinfo.PrivateStorageInfo; import com.android.settingslib.deviceinfo.PrivateStorageInfo;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -97,7 +96,7 @@ public class StorageDashboardFragment extends DashboardFragment
@VisibleForTesting @VisibleForTesting
void initializeOptionsMenu(Activity activity) { void initializeOptionsMenu(Activity activity) {
mOptionMenuController = new PrivateVolumeOptionMenuController( mOptionMenuController = new PrivateVolumeOptionMenuController(
activity, mVolume, new PackageManagerWrapper(activity.getPackageManager())); activity, mVolume, activity.getPackageManager());
getLifecycle().addObserver(mOptionMenuController); getLifecycle().addObserver(mOptionMenuController);
setHasOptionsMenu(true); setHasOptionsMenu(true);
activity.invalidateOptionsMenu(); activity.invalidateOptionsMenu();
@@ -254,7 +253,7 @@ public class StorageDashboardFragment extends DashboardFragment
return new StorageAsyncLoader(context, context.getSystemService(UserManager.class), return new StorageAsyncLoader(context, context.getSystemService(UserManager.class),
mVolume.fsUuid, mVolume.fsUuid,
new StorageStatsSource(context), new StorageStatsSource(context),
new PackageManagerWrapper(context.getPackageManager())); context.getPackageManager());
} }
@Override @Override

View File

@@ -37,7 +37,6 @@ import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -118,7 +117,7 @@ public class StorageProfileFragment extends DashboardFragment
context.getSystemService(UserManager.class), context.getSystemService(UserManager.class),
mVolume.fsUuid, mVolume.fsUuid,
new StorageStatsSource(context), new StorageStatsSource(context),
new PackageManagerWrapper(context.getPackageManager())); context.getPackageManager());
} }
@Override @Override

View File

@@ -18,15 +18,16 @@ package com.android.settings.deviceinfo.firmwareversion;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import androidx.annotation.VisibleForTesting;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import com.android.settings.R; import com.android.settings.R;
import com.android.settingslib.DeviceInfoUtils; import com.android.settingslib.DeviceInfoUtils;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import androidx.annotation.VisibleForTesting;
public class SecurityPatchLevelDialogController implements View.OnClickListener { public class SecurityPatchLevelDialogController implements View.OnClickListener {
@@ -41,13 +42,13 @@ public class SecurityPatchLevelDialogController implements View.OnClickListener
private final FirmwareVersionDialogFragment mDialog; private final FirmwareVersionDialogFragment mDialog;
private final Context mContext; private final Context mContext;
private final PackageManagerWrapper mPackageManager; private final PackageManager mPackageManager;
private final String mCurrentPatch; private final String mCurrentPatch;
public SecurityPatchLevelDialogController(FirmwareVersionDialogFragment dialog) { public SecurityPatchLevelDialogController(FirmwareVersionDialogFragment dialog) {
mDialog = dialog; mDialog = dialog;
mContext = dialog.getContext(); mContext = dialog.getContext();
mPackageManager = new PackageManagerWrapper(mContext.getPackageManager()); mPackageManager = mContext.getPackageManager();
mCurrentPatch = DeviceInfoUtils.getSecurityPatch(); mCurrentPatch = DeviceInfoUtils.getSecurityPatch();
} }

View File

@@ -23,6 +23,7 @@ import static android.content.pm.ApplicationInfo.CATEGORY_VIDEO;
import android.content.Context; import android.content.Context;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.UserHandle; import android.os.UserHandle;
@@ -33,7 +34,6 @@ import android.util.SparseArray;
import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.utils.AsyncLoader; import com.android.settingslib.utils.AsyncLoader;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
@@ -51,11 +51,11 @@ public class StorageAsyncLoader
private String mUuid; private String mUuid;
private StorageStatsSource mStatsManager; private StorageStatsSource mStatsManager;
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
private ArraySet<String> mSeenPackages; private ArraySet<String> mSeenPackages;
public StorageAsyncLoader(Context context, UserManager userManager, public StorageAsyncLoader(Context context, UserManager userManager,
String uuid, StorageStatsSource source, PackageManagerWrapper pm) { String uuid, StorageStatsSource source, PackageManager pm) {
super(context); super(context);
mUserManager = userManager; mUserManager = userManager;
mUuid = uuid; mUuid = uuid;

View File

@@ -33,7 +33,6 @@ import android.view.View;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.vpn2.VpnUtils; import com.android.settings.vpn2.VpnUtils;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@@ -42,7 +41,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
private final Context mContext; private final Context mContext;
private final DevicePolicyManager mDpm; private final DevicePolicyManager mDpm;
private final PackageManagerWrapper mPm; private final PackageManager mPm;
private final UserManager mUm; private final UserManager mUm;
private final ConnectivityManager mCm; private final ConnectivityManager mCm;
private final Resources mResources; private final Resources mResources;
@@ -50,7 +49,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
private static final int MY_USER_ID = UserHandle.myUserId(); private static final int MY_USER_ID = UserHandle.myUserId();
public EnterprisePrivacyFeatureProviderImpl(Context context, DevicePolicyManager dpm, public EnterprisePrivacyFeatureProviderImpl(Context context, DevicePolicyManager dpm,
PackageManagerWrapper pm, UserManager um, ConnectivityManager cm, PackageManager pm, UserManager um, ConnectivityManager cm,
Resources resources) { Resources resources) {
mContext = context.getApplicationContext(); mContext = context.getApplicationContext();
mDpm = dpm; mDpm = dpm;
@@ -194,7 +193,7 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
} }
try { try {
return mPm.getApplicationInfoAsUser(packageName, 0 /* flags */, MY_USER_ID) return mPm.getApplicationInfoAsUser(packageName, 0 /* flags */, MY_USER_ID)
.loadLabel(mPm.getPackageManager()).toString(); .loadLabel(mPm).toString();
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
return null; return null;
} }

View File

@@ -52,7 +52,6 @@ import com.android.settings.slices.SlicesFeatureProviderImpl;
import com.android.settings.users.UserFeatureProvider; import com.android.settings.users.UserFeatureProvider;
import com.android.settings.users.UserFeatureProviderImpl; import com.android.settings.users.UserFeatureProviderImpl;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
/** /**
* {@link FeatureFactory} implementation for AOSP Settings. * {@link FeatureFactory} implementation for AOSP Settings.
@@ -109,7 +108,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) { public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
if (mApplicationFeatureProvider == null) { if (mApplicationFeatureProvider == null) {
mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(context, mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(context,
new PackageManagerWrapper(context.getPackageManager()), context.getPackageManager(),
AppGlobals.getPackageManager(), AppGlobals.getPackageManager(),
(DevicePolicyManager) context (DevicePolicyManager) context
.getSystemService(Context.DEVICE_POLICY_SERVICE)); .getSystemService(Context.DEVICE_POLICY_SERVICE));
@@ -130,7 +129,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
if (mEnterprisePrivacyFeatureProvider == null) { if (mEnterprisePrivacyFeatureProvider == null) {
mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(context, mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(context,
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE), (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE),
new PackageManagerWrapper(context.getPackageManager()), context.getPackageManager(),
UserManager.get(context), UserManager.get(context),
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE), (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE),
context.getResources()); context.getResources());

View File

@@ -33,7 +33,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -118,7 +117,7 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
} }
private static class WebViewAppInfo extends DefaultAppInfo { private static class WebViewAppInfo extends DefaultAppInfo {
public WebViewAppInfo(Context context, PackageManagerWrapper pm, public WebViewAppInfo(Context context, PackageManager pm,
PackageItemInfo packageItemInfo, String summary, boolean enabled) { PackageItemInfo packageItemInfo, String summary, boolean enabled) {
super(context, pm, packageItemInfo, summary, enabled); super(context, pm, packageItemInfo, summary, enabled);
} }
@@ -127,8 +126,7 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
public CharSequence loadLabel() { public CharSequence loadLabel() {
String versionName = ""; String versionName = "";
try { try {
versionName = mPm.getPackageManager(). versionName = mPm.getPackageInfo(packageItemInfo.packageName, 0).versionName;
getPackageInfo(packageItemInfo.packageName, 0).versionName;
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
} }
return String.format("%s %s", super.loadLabel(), versionName); return String.format("%s %s", super.loadLabel(), versionName);
@@ -137,7 +135,7 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
@VisibleForTesting @VisibleForTesting
DefaultAppInfo createDefaultAppInfo(Context context, PackageManagerWrapper pm, DefaultAppInfo createDefaultAppInfo(Context context, PackageManager pm,
PackageItemInfo packageItemInfo, String disabledReason) { PackageItemInfo packageItemInfo, String disabledReason) {
return new WebViewAppInfo(context, pm, packageItemInfo, disabledReason, return new WebViewAppInfo(context, pm, packageItemInfo, disabledReason,
TextUtils.isEmpty(disabledReason) /* enabled */); TextUtils.isEmpty(disabledReason) /* enabled */);

View File

@@ -26,8 +26,6 @@ import android.net.wifi.WifiConfiguration;
import android.provider.Settings; import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import com.android.settingslib.wrapper.PackageManagerWrapper;
public class WifiUtils { public class WifiUtils {
private static final int SSID_ASCII_MIN_LENGTH = 1; private static final int SSID_ASCII_MIN_LENGTH = 1;
@@ -72,7 +70,7 @@ public class WifiUtils {
final DevicePolicyManager dpm = final DevicePolicyManager dpm =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE); (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
final PackageManagerWrapper pm = new PackageManagerWrapper(context.getPackageManager()); final PackageManager pm = context.getPackageManager();
// Check if device has DPM capability. If it has and dpm is still null, then we // Check if device has DPM capability. If it has and dpm is still null, then we
// treat this case with suspicion and bail out. // treat this case with suspicion and bail out.

View File

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

View File

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

View File

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

View File

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

View File

@@ -35,7 +35,6 @@ import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -71,7 +70,7 @@ public final class InstalledAppListerTest {
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
@Mock @Mock
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
private List<UserAppInfo> mInstalledAppList = Collections.emptyList(); 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.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.instantapps.InstantAppDataProvider; import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -289,12 +288,12 @@ public class InstantAppButtonsPreferenceControllerTest {
@Test @Test
public void onClick_shouldDeleteApp() { public void onClick_shouldDeleteApp() {
PackageManagerWrapper packageManagerWrapper = mock(PackageManagerWrapper.class); PackageManager packageManager = mock(PackageManager.class);
ReflectionHelpers.setField(mController, "mPackageManagerWrapper", packageManagerWrapper); ReflectionHelpers.setField(mController, "mPackageManager", packageManager);
mController.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_POSITIVE); mController.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_POSITIVE);
verify(packageManagerWrapper) verify(packageManager)
.deletePackageAsUser(eq(TEST_AIA_PACKAGE_NAME), any(), anyInt(),anyInt()); .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.ActivityInfo;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.UserManager; import android.os.UserManager;
import android.util.Pair; import android.util.Pair;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
@@ -51,7 +51,7 @@ public class PictureInPictureSettingsTest {
private PictureInPictureSettings mFragment; private PictureInPictureSettings mFragment;
@Mock @Mock
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
private ArrayList<PackageInfo> mPrimaryUserPackages; private ArrayList<PackageInfo> mPrimaryUserPackages;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -37,7 +37,6 @@ import android.text.SpannableStringBuilder;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -69,7 +68,6 @@ public class EnterprisePrivacyFeatureProviderImplTest {
private @Mock Context mContext; private @Mock Context mContext;
private @Mock DevicePolicyManager mDevicePolicyManager; private @Mock DevicePolicyManager mDevicePolicyManager;
private @Mock PackageManagerWrapper mPackageManagerWrapper;
private @Mock PackageManager mPackageManager; private @Mock PackageManager mPackageManager;
private @Mock UserManager mUserManager; private @Mock UserManager mUserManager;
private @Mock ConnectivityManager mConnectivityManger; private @Mock ConnectivityManager mConnectivityManger;
@@ -82,13 +80,13 @@ public class EnterprisePrivacyFeatureProviderImplTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mContext.getApplicationContext()).thenReturn(mContext); when(mContext.getApplicationContext()).thenReturn(mContext);
resetAndInitializePackageManagerWrapper(); resetAndInitializePackageManager();
when(mUserManager.getProfiles(MY_USER_ID)).thenReturn(mProfiles); when(mUserManager.getProfiles(MY_USER_ID)).thenReturn(mProfiles);
mProfiles.add(new UserInfo(MY_USER_ID, "", "", 0 /* flags */)); mProfiles.add(new UserInfo(MY_USER_ID, "", "", 0 /* flags */));
mResources = RuntimeEnvironment.application.getResources(); mResources = RuntimeEnvironment.application.getResources();
mProvider = new EnterprisePrivacyFeatureProviderImpl(mContext, mDevicePolicyManager, mProvider = new EnterprisePrivacyFeatureProviderImpl(mContext, mDevicePolicyManager,
mPackageManagerWrapper, mUserManager, mConnectivityManger, mResources); mPackageManager, mUserManager, mConnectivityManger, mResources);
} }
@Test @Test
@@ -256,7 +254,7 @@ public class EnterprisePrivacyFeatureProviderImplTest {
when(applicationInfo.loadLabel(mPackageManager)).thenReturn(IME_PACKAGE_LABEL); when(applicationInfo.loadLabel(mPackageManager)).thenReturn(IME_PACKAGE_LABEL);
Settings.Secure.putString(null, Settings.Secure.DEFAULT_INPUT_METHOD, IME_PACKAGE_ID); 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); .thenReturn(applicationInfo);
// IME not set by Device Owner. // IME not set by Device Owner.
@@ -270,13 +268,13 @@ public class EnterprisePrivacyFeatureProviderImplTest {
// Device Owner set IME to nonexistent package. // Device Owner set IME to nonexistent package.
Settings.Secure.putString(null, Settings.Secure.DEFAULT_INPUT_METHOD, IME_PACKAGE_ID); 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()); .thenThrow(new PackageManager.NameNotFoundException());
assertThat(mProvider.getImeLabelIfOwnerSet()).isNull(); assertThat(mProvider.getImeLabelIfOwnerSet()).isNull();
// Device Owner set IME to existent package. // Device Owner set IME to existent package.
resetAndInitializePackageManagerWrapper(); resetAndInitializePackageManager();
when(mPackageManagerWrapper.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID)) when(mPackageManager.getApplicationInfoAsUser(IME_PACKAGE_ID, 0, MY_USER_ID))
.thenReturn(applicationInfo); .thenReturn(applicationInfo);
assertThat(mProvider.getImeLabelIfOwnerSet()).isEqualTo(IME_PACKAGE_LABEL); assertThat(mProvider.getImeLabelIfOwnerSet()).isEqualTo(IME_PACKAGE_LABEL);
} }
@@ -356,10 +354,9 @@ public class EnterprisePrivacyFeatureProviderImplTest {
assertThat(mProvider.areBackupsMandatory()).isTrue(); assertThat(mProvider.areBackupsMandatory()).isTrue();
} }
private void resetAndInitializePackageManagerWrapper() { private void resetAndInitializePackageManager() {
reset(mPackageManagerWrapper); reset(mPackageManager);
when(mPackageManagerWrapper.hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN)) when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN))
.thenReturn(true); .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.settings.widget.RadioButtonPreference;
import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.applications.DefaultAppInfo;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -74,7 +73,7 @@ public class WebViewAppPickerTest {
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
private WebViewAppPicker mPicker; private WebViewAppPicker mPicker;
private WebViewUpdateServiceWrapper mWvusWrapper; private WebViewUpdateServiceWrapper mWvusWrapper;
@@ -336,9 +335,8 @@ public class WebViewAppPickerTest {
PackageInfo packageInfo = new PackageInfo(); PackageInfo packageInfo = new PackageInfo();
packageInfo.versionName = "myVersionName"; packageInfo.versionName = "myVersionName";
PackageManager pm = mock(PackageManager.class); when(mPackageManager.getPackageInfo(eq(DEFAULT_PACKAGE_NAME), anyInt())).thenReturn(
when(pm.getPackageInfo(eq(DEFAULT_PACKAGE_NAME), anyInt())).thenReturn(packageInfo); packageInfo);
when(mPackageManager.getPackageManager()).thenReturn(pm);
RadioButtonPreference mockPreference = mock(RadioButtonPreference.class); RadioButtonPreference mockPreference = mock(RadioButtonPreference.class);
mPicker.bindPreference(mockPreference, DEFAULT_PACKAGE_NAME, webviewAppInfo, null); 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.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager; 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.ShadowBidiFormatter;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager; import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController; 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.ActionButtonPreference;
import com.android.settings.widget.ActionButtonPreferenceTest; import com.android.settings.widget.ActionButtonPreferenceTest;
import com.android.settings.widget.EntityHeaderController; import com.android.settings.widget.EntityHeaderController;
@@ -80,6 +80,7 @@ import org.mockito.Answers;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.Captor; import org.mockito.Captor;
import org.mockito.InOrder; import org.mockito.InOrder;
import org.mockito.Matchers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
@@ -95,7 +96,6 @@ import java.util.stream.Collectors;
@Config(shadows = { @Config(shadows = {
ShadowDevicePolicyManager.class, ShadowDevicePolicyManager.class,
ShadowEntityHeaderController.class, ShadowEntityHeaderController.class,
ShadowPackageManagerWrapper.class,
ShadowBidiFormatter.class ShadowBidiFormatter.class
}) })
public class WifiDetailPreferenceControllerTest { public class WifiDetailPreferenceControllerTest {
@@ -163,6 +163,8 @@ public class WifiDetailPreferenceControllerTest {
private PreferenceCategory mockIpv6Category; private PreferenceCategory mockIpv6Category;
@Mock @Mock
private WifiDetailPreference mockIpv6AddressesPref; private WifiDetailPreference mockIpv6AddressesPref;
@Mock
private PackageManager mockPackageManager;
@Captor @Captor
private ArgumentCaptor<NetworkCallback> mCallbackCaptor; private ArgumentCaptor<NetworkCallback> mCallbackCaptor;
@@ -235,6 +237,7 @@ public class WifiDetailPreferenceControllerTest {
mLifecycleOwner = () -> mLifecycle; mLifecycleOwner = () -> mLifecycle;
mLifecycle = new Lifecycle(mLifecycleOwner); mLifecycle = new Lifecycle(mLifecycleOwner);
when(mContext.getPackageManager()).thenReturn(mockPackageManager);
when(mockAccessPoint.getConfig()).thenReturn(mockWifiConfig); when(mockAccessPoint.getConfig()).thenReturn(mockWifiConfig);
when(mockAccessPoint.getLevel()).thenReturn(LEVEL); when(mockAccessPoint.getLevel()).thenReturn(LEVEL);
when(mockAccessPoint.getSecurityString(false)).thenReturn(SECURITY); when(mockAccessPoint.getSecurityString(false)).thenReturn(SECURITY);
@@ -682,7 +685,12 @@ public class WifiDetailPreferenceControllerTest {
mockWifiConfig.creatorUid = doUid; mockWifiConfig.creatorUid = doUid;
ComponentName doComponent = new ComponentName(doPackage, "some.Class"); 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().setDeviceOwnerComponentOnAnyUser(doComponent);
ShadowDevicePolicyManager.getShadow().setDeviceOwnerUserId(doUserId); ShadowDevicePolicyManager.getShadow().setDeviceOwnerUserId(doUserId);

View File

@@ -26,6 +26,7 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.net.TrafficStats; import android.net.TrafficStats;
@@ -36,7 +37,6 @@ import android.support.test.runner.AndroidJUnit4;
import android.util.SparseArray; import android.util.SparseArray;
import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.applications.StorageStatsSource;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -62,7 +62,7 @@ public class StorageAsyncLoaderTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext; private Context mContext;
@Mock @Mock
private PackageManagerWrapper mPackageManager; private PackageManager mPackageManager;
@Mock @Mock
private UserManager mUserManager; private UserManager mUserManager;
private List<ApplicationInfo> mInfo = new ArrayList<>(); private List<ApplicationInfo> mInfo = new ArrayList<>();