Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2d86618 authored by Felka Chang's avatar Felka Chang
Browse files

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
parent faf7e4a0
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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(