From 283e3c388d0745a4e14f3273502872f217d217c8 Mon Sep 17 00:00:00 2001 From: felipeal Date: Fri, 29 May 2020 14:14:26 -0700 Subject: Fixed how ShellCommand show exceptions. Prior to this change, it was duplicating the exception. Example: $ adb shell cmd car_service create-user --flags 4444 --timeout 100 --hal-only Dude Exception occurred while executing: new user flags mismatch on existing users on {.requestId = 2, .newUserInfo = {.userId = 11, .flags = 0x115c}, .newUserName = Dude, .usersInfo = {.currentUser = {.userId = 11, .flags = NONE}, .numberUsers = 3, .existingUsers = [{.userId = 0, .flags = 0x9}, {.userId = 10, .flags = ADMIN}, {.userId = 11, .flags = NONE}]}} java.lang.IllegalArgumentException: new user flags mismatch on existing users on {.requestId = 2, .newUserInfo = {.userId = 11, .flags = 0x115c}, .newUserName = Dude, .usersInfo = {.currentUser = {.userId = 11, .flags = NONE}, .numberUsers = 3, .existingUsers = [{.userId = 0, .flags = 0x9}, {.userId = 10, .flags = ADMIN}, {.userId = 11, .flags = NONE}]}} at com.android.internal.util.Preconditions.checkArgument(Preconditions.java:69) at android.car.userlib.UserHalHelper.toVehiclePropValue(UserHalHelper.java:503) at com.android.car.hal.UserHalService.createUser(UserHalService.java:339) Now it's showing the failed command instead: Exception occurred while executing 'create-user --flags 4444 --timeout 100 --hal-only Dude': java.lang.IllegalArgumentException: new user flags mismatch on existing users on {.requestId = 2, .newUserInfo = {.userId = 11, .flags = 0x115c}, .newUserName = Dude, .usersInfo = {.currentUser = {.userId = 11, .flags = NONE}, .numberUsers = 3, .existingUsers = [{.userId = 0, .flags = 0x9}, {.userId = 10, .flags = ADMIN}, {.userId = 11, .flags = NONE}]}} at com.android.internal.util.Preconditions.checkArgument(Preconditions.java:69) at android.car.userlib.UserHalHelper.toVehiclePropValue(UserHalHelper.java:503) at com.android.car.hal.UserHalService.createUser(UserHalService.java:339) Test: manual verification Bug: 150408921 Change-Id: I42221fbe2410770b0755c32d16620acc71d8d5d2 --- core/java/android/os/BasicShellCommandHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core/java/android/os/BasicShellCommandHandler.java') diff --git a/core/java/android/os/BasicShellCommandHandler.java b/core/java/android/os/BasicShellCommandHandler.java index 52273cb247c3..1ea2229cff1f 100644 --- a/core/java/android/os/BasicShellCommandHandler.java +++ b/core/java/android/os/BasicShellCommandHandler.java @@ -104,7 +104,7 @@ public abstract class BasicShellCommandHandler { // go. PrintWriter eout = getErrPrintWriter(); eout.println(); - eout.println("Exception occurred while executing: " + e.getMessage()); + eout.println("Exception occurred while executing '" + mCmd + "':"); e.printStackTrace(eout); } finally { if (DEBUG) Log.d(TAG, "Flushing output streams on " + mTarget); -- cgit v1.2.3