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

Commit 979e40e9 authored by Alexandra Gherghina's avatar Alexandra Gherghina
Browse files

Adds the ability to start a user in background

Bug: 15900074
Change-Id: I03b278f8e7a4618ea56a5f1935cfba34beb45981
parent 311fc0b3
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ public class Am extends BaseCommand {
                "       am to-uri [INTENT]\n" +
                "       am to-intent-uri [INTENT]\n" +
                "       am switch-user <USER_ID>\n" +
                "       am start-user <USER_ID>\n" +
                "       am stop-user <USER_ID>\n" +
                "       am stack start <DISPLAY_ID> <INTENT>\n" +
                "       am stack movetask <TASK_ID> <STACK_ID> [true|false]\n" +
@@ -233,8 +234,11 @@ public class Am extends BaseCommand {
                "am switch-user: switch to put USER_ID in the foreground, starting\n" +
                "  execution of that user if it is currently stopped.\n" +
                "\n" +
                "am start-user: start USER_ID in background if it is currently stopped,\n" +
                "  use switch-user if you want to start the user in foreground.\n" +
                "\n" +
                "am stop-user: stop execution of USER_ID, not allowing it to run any\n" +
                "  code until a later explicit switch to it.\n" +
                "  code until a later explicit start or switch to it.\n" +
                "\n" +
                "am stack start: start a new activity on <DISPLAY_ID> using <INTENT>.\n" +
                "\n" +
@@ -340,6 +344,8 @@ public class Am extends BaseCommand {
            runToUri(true);
        } else if (op.equals("switch-user")) {
            runSwitchUser();
        } else if (op.equals("start-user")) {
            runStartUserInBackground();
        } else if (op.equals("stop-user")) {
            runStopUser();
        } else if (op.equals("stack")) {
@@ -1133,6 +1139,16 @@ public class Am extends BaseCommand {
        mAm.switchUser(Integer.parseInt(user));
    }

    private void runStartUserInBackground() throws Exception {
        String user = nextArgRequired();
        boolean success = mAm.startUserInBackground(Integer.parseInt(user));
        if (success) {
            System.out.println("Success: user started");
        } else {
            System.err.println("Error: could not start user");
        }
    }

    private void runStopUser() throws Exception {
        String user = nextArgRequired();
        int res = mAm.stopUser(Integer.parseInt(user), null);