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

Commit b0e94a5a authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Improve arg parsing for `cmd power set-wakelock`" into main

parents 6e7e9621 77f0a8db
Loading
Loading
Loading
Loading
+23 −9
Original line number Diff line number Diff line
@@ -226,17 +226,31 @@ class PowerManagerShellCommand extends ShellCommand {
        }

        int displayId = Display.INVALID_DISPLAY;
        String displayOption = getNextArg();
        if ("-d".equals(displayOption)) {
            String idStr = getNextArg();
        String opt;
        while ((opt = getNextOption()) != null) {
            switch (opt) {
                case "-d" -> {
                    String idStr = getNextArgRequired();
                    displayId = Integer.parseInt(idStr);
                    if (displayId < 0) {
                pw.println("Error: Specified displayId (" + idStr + ") must a non-negative int.");
                        pw.println(
                                "Error: Specified displayId ("
                                        + idStr
                                        + ") must be a non-negative int.");
                        return -1;
                    }
                }
        String wakelockTypeString = proxForLegacy ? PowerManagerInternal.getLockLevelString(
                PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK) : getNextArg().toUpperCase(Locale.US);
                default -> {
                    pw.println("Error: Unknown option: " + opt);
                    return -1;
                }
            }
        }
        String wakelockTypeString =
                proxForLegacy
                        ? PowerManagerInternal.getLockLevelString(
                                PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)
                        : getNextArgRequired().toUpperCase(Locale.US);
        WakeLock wakelock = getWakelock(displayId, wakelockTypeString);

        if (acquire) {