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

Commit f4c8c359 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Skip uninstalled package for getPackagesForUid()"

parents d333f283 2527fa30
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -4578,6 +4578,7 @@ public class PackageManagerService extends IPackageManager.Stub {
    @Override
    public String[] getPackagesForUid(int uid) {
        final int userId = UserHandle.getUserId(uid);
        uid = UserHandle.getAppId(uid);
        // reader
        synchronized (mPackages) {
@@ -4585,9 +4586,16 @@ public class PackageManagerService extends IPackageManager.Stub {
            if (obj instanceof SharedUserSetting) {
                final SharedUserSetting sus = (SharedUserSetting) obj;
                final int N = sus.packages.size();
                final String[] res = new String[N];
                for (int i = 0; i < N; i++) {
                    res[i] = sus.packages.valueAt(i).name;
                String[] res = new String[N];
                final Iterator<PackageSetting> it = sus.packages.iterator();
                int i = 0;
                while (it.hasNext()) {
                    PackageSetting ps = it.next();
                    if (ps.getInstalled(userId)) {
                        res[i++] = ps.name;
                    } else {
                        res = ArrayUtils.removeElement(String.class, res, res[i]);
                    }
                }
                return res;
            } else if (obj instanceof PackageSetting) {