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

Commit 35ace9c1 authored by Ryan Mitchell's avatar Ryan Mitchell Committed by android-build-merger
Browse files

Merge "Merge "Allow "cmd overlay list" to list all overlays" into qt-dev am:...

Merge "Merge "Allow "cmd overlay list" to list all overlays" into qt-dev am: 407ea382 am: 16aaad2a" into qt-r1-dev-plus-aosp
am: 6e8c289d

Change-Id: Idc6e934965aab9f033236e778d21264406a11fe4
parents 829150fd 6e8c289d
Loading
Loading
Loading
Loading
+47 −24
Original line number Diff line number Diff line
@@ -120,20 +120,49 @@ final class OverlayManagerShellCommand extends ShellCommand {
                    return 1;
            }
        }

        final String packageName = getNextArg();
        if (packageName != null) {
            List<OverlayInfo> overlaysForTarget = mInterface.getOverlayInfosForTarget(
                    packageName, userId);

            // If the package is not targeted by any overlays, check if the package is an overlay.
            if (overlaysForTarget.isEmpty()) {
                final OverlayInfo info = mInterface.getOverlayInfo(packageName, userId);
                if (info != null) {
                    printListOverlay(out, info);
                }
                return 0;
            }

            out.println(packageName);

            // Print the overlays for the target.
            final int n = overlaysForTarget.size();
            for (int i = 0; i < n; i++) {
                printListOverlay(out, overlaysForTarget.get(i));
            }

            return 0;
        }

        // Print all overlays grouped by target package name.
        final Map<String, List<OverlayInfo>> allOverlays = mInterface.getAllOverlays(userId);
        for (final String targetPackageName : allOverlays.keySet()) {
            if (targetPackageName.equals(packageName)) {
            out.println(targetPackageName);
            }

            List<OverlayInfo> overlaysForTarget = allOverlays.get(targetPackageName);
            final int n = overlaysForTarget.size();
            for (int i = 0; i < n; i++) {
                final OverlayInfo oi = overlaysForTarget.get(i);
                if (!targetPackageName.equals(packageName) && !oi.packageName.equals(packageName)) {
                    continue;
                printListOverlay(out, overlaysForTarget.get(i));
            }
            out.println();
        }

        return 0;
    }

    private void printListOverlay(PrintWriter out, OverlayInfo oi) {
        String status;
        switch (oi.state) {
            case OverlayInfo.STATE_ENABLED_STATIC:
@@ -149,12 +178,6 @@ final class OverlayManagerShellCommand extends ShellCommand {
        }
        out.println(String.format("%s %s", status, oi.packageName));
    }
            if (targetPackageName.equals(packageName)) {
                out.println();
            }
        }
        return 0;
    }

    private int runEnableDisable(final boolean enable) throws RemoteException {
        final PrintWriter err = getErrPrintWriter();