summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java b/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java
index 450bdb161933..a0c8663a8271 100644
--- a/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java
+++ b/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java
@@ -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(