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

Commit d06bcac2 authored by Alan Stokes's avatar Alan Stokes
Browse files

Shrink array at most once.

This removes worst-case N^2 behavior, does fewer allocations, and
seems easier to understand. (Admittedly the case where it matters is
probably rare.)

Test: atest PackageManagerTest
Change-Id: I62aa9d84a95a017269953e4e4f4c86e20a5a1838
parent 3320ee5c
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -5694,11 +5694,9 @@ public class PackageManagerService extends IPackageManager.Stub
                    PackageSetting ps = it.next();
                    if (ps.getInstalled(userId)) {
                        res[i++] = ps.name;
                    } else {
                        res = ArrayUtils.removeElement(String.class, res, res[i]);
                    }
                }
                return res;
                return ArrayUtils.trimToSize(res, i);
            } else if (obj instanceof PackageSetting) {
                final PackageSetting ps = (PackageSetting) obj;
                if (ps.getInstalled(userId)