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

Commit 6e8c289d authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
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
parents d7b761b0 6af97d3a
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();