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

Commit acb9039c authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Skip uninstalled package for getPackagesForUid()" am: f4c8c359...

Merge "Merge "Skip uninstalled package for getPackagesForUid()" am: f4c8c359 am: 659cdfef am: fb55d690 am: e37ed040"
parents 45736448 1f34323c
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -4646,6 +4646,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) {
@@ -4653,9 +4654,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) {