Merge "Improved 'am switch' to handle errors."
This commit is contained in:
committed by
Android (Google) Code Review
commit
422e660e8c
@@ -1759,7 +1759,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
return 0;
|
||||
}
|
||||
|
||||
private void switchUserAndWaitForComplete(int userId) throws RemoteException {
|
||||
private boolean switchUserAndWaitForComplete(int userId) throws RemoteException {
|
||||
// Register switch observer.
|
||||
final CountDownLatch switchLatch = new CountDownLatch(1);
|
||||
mInterface.registerUserSwitchObserver(
|
||||
@@ -1773,7 +1773,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
}, ActivityManagerShellCommand.class.getName());
|
||||
|
||||
// Switch.
|
||||
mInterface.switchUser(userId);
|
||||
boolean switched = mInterface.switchUser(userId);
|
||||
|
||||
// Wait.
|
||||
try {
|
||||
@@ -1781,6 +1781,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
} catch (InterruptedException e) {
|
||||
getErrPrintWriter().println("Thread interrupted unexpectedly.");
|
||||
}
|
||||
return switched;
|
||||
}
|
||||
|
||||
int runSwitchUser(PrintWriter pw) throws RemoteException {
|
||||
@@ -1802,12 +1803,18 @@ final class ActivityManagerShellCommand extends ShellCommand {
|
||||
}
|
||||
|
||||
int userId = Integer.parseInt(getNextArgRequired());
|
||||
boolean switched;
|
||||
if (wait) {
|
||||
switchUserAndWaitForComplete(userId);
|
||||
switched = switchUserAndWaitForComplete(userId);
|
||||
} else {
|
||||
mInterface.switchUser(userId);
|
||||
switched = mInterface.switchUser(userId);
|
||||
}
|
||||
if (switched) {
|
||||
return 0;
|
||||
} else {
|
||||
pw.printf("Failed to switch to user %d\n", userId);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int runGetCurrentUser(PrintWriter pw) throws RemoteException {
|
||||
|
||||
Reference in New Issue
Block a user