Remove PackageManager.getResourcesForApplicationAsUser API
To switch another user to do something should create the context of the
specified user by using Context.createContextAsUser rather than call
*AsUser API directly.
Test: croot ; make RunSettingsLibRoboTests -j40
Test: make -j droid cts gts vts
Test: make -j docs
Test: atest SystemUITests \
FrameworksServicesTests:com.android.server.pm
Bug: 170928809
Change-Id: I369a3cf0a9dca1496b57675f4fa8e3fb1da982f3
This commit is contained in:
@@ -129,10 +129,14 @@ public class SettingsInjector {
|
||||
if (Log.isLoggable(TAG, Log.DEBUG)) {
|
||||
Log.d(TAG, "Found services for profile id " + profileId + ": " + resolveInfos);
|
||||
}
|
||||
|
||||
final PackageManager userPackageManager = mContext.createContextAsUser(
|
||||
userHandle, /* flags */ 0).getPackageManager();
|
||||
List<InjectedSetting> settings = new ArrayList<InjectedSetting>(resolveInfos.size());
|
||||
for (ResolveInfo resolveInfo : resolveInfos) {
|
||||
try {
|
||||
InjectedSetting setting = parseServiceInfo(resolveInfo, userHandle, pm);
|
||||
InjectedSetting setting = parseServiceInfo(resolveInfo, userHandle,
|
||||
userPackageManager);
|
||||
if (setting == null) {
|
||||
Log.w(TAG, "Unable to load service info " + resolveInfo);
|
||||
} else {
|
||||
@@ -248,8 +252,7 @@ public class SettingsInjector {
|
||||
+ SettingInjectorService.ATTRIBUTES_NAME + " tag");
|
||||
}
|
||||
|
||||
Resources res = pm.getResourcesForApplicationAsUser(si.packageName,
|
||||
userHandle.getIdentifier());
|
||||
Resources res = pm.getResourcesForApplication(si.packageName);
|
||||
return parseAttributes(si.packageName, si.name, userHandle, res, attrs);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
throw new XmlPullParserException(
|
||||
|
||||
Reference in New Issue
Block a user