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

Commit 407ea382 authored by Ryan Mitchell's avatar Ryan Mitchell Committed by Android (Google) Code Review
Browse files

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

parents 815979d5 a76070e1
Loading
Loading
Loading
Loading
+47 −24
Original line number Original line Diff line number Diff line
@@ -120,20 +120,49 @@ final class OverlayManagerShellCommand extends ShellCommand {
                    return 1;
                    return 1;
            }
            }
        }
        }

        final String packageName = getNextArg();
        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);
        final Map<String, List<OverlayInfo>> allOverlays = mInterface.getAllOverlays(userId);
        for (final String targetPackageName : allOverlays.keySet()) {
        for (final String targetPackageName : allOverlays.keySet()) {
            if (targetPackageName.equals(packageName)) {
            out.println(targetPackageName);
            out.println(targetPackageName);
            }

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

        return 0;
    }
    }

    private void printListOverlay(PrintWriter out, OverlayInfo oi) {
        String status;
        String status;
        switch (oi.state) {
        switch (oi.state) {
            case OverlayInfo.STATE_ENABLED_STATIC:
            case OverlayInfo.STATE_ENABLED_STATIC:
@@ -149,12 +178,6 @@ final class OverlayManagerShellCommand extends ShellCommand {
        }
        }
        out.println(String.format("%s %s", status, oi.packageName));
        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 {
    private int runEnableDisable(final boolean enable) throws RemoteException {
        final PrintWriter err = getErrPrintWriter();
        final PrintWriter err = getErrPrintWriter();