From 82bfca4609244f2b8169bd779765791d6638b448 Mon Sep 17 00:00:00 2001 From: Brian Carlstrom Date: Thu, 5 Nov 2015 10:33:40 -0800 Subject: [PATCH] Fixes for sm and pm usage sm showed IllegalArgumentException after usage. pm inconsistently used "return showUsage()" Bug: 20948199 Change-Id: I5828489a9d4ef2eabfb97dd408d66e1560a5a983 --- cmds/pm/src/com/android/commands/pm/Pm.java | 78 +++++++-------------- cmds/sm/src/com/android/commands/sm/Sm.java | 1 + 2 files changed, 27 insertions(+), 52 deletions(-) diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java index 4a0a49b4e7772..005153178298c 100644 --- a/cmds/pm/src/com/android/commands/pm/Pm.java +++ b/cmds/pm/src/com/android/commands/pm/Pm.java @@ -764,8 +764,7 @@ public final class Pm { String optionData = nextOptionData(); if (optionData == null || !isNumber(optionData)) { System.err.println("Error: no USER_ID specified"); - showUsage(); - return 1; + return showUsage(); } else { userId = Integer.parseInt(optionData); } @@ -868,8 +867,7 @@ public final class Pm { } } else { System.err.println("Error: unknown option: " + opt); - showUsage(); - return 1; + return showUsage(); } } @@ -877,16 +875,14 @@ public final class Pm { final String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package specified."); - showUsage(); - return 1; + return showUsage(); } // State to apply; {always|ask|never|undefined}, required final String modeString = nextArg(); if (modeString == null) { System.err.println("Error: no app link state specified."); - showUsage(); - return 1; + return showUsage(); } final int newMode; @@ -955,8 +951,7 @@ public final class Pm { } } else { System.err.println("Error: unknown option: " + opt); - showUsage(); - return 1; + return showUsage(); } } @@ -964,8 +959,7 @@ public final class Pm { final String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package specified."); - showUsage(); - return 1; + return showUsage(); } try { @@ -1370,8 +1364,7 @@ public final class Pm { String optionData = nextOptionData(); if (optionData == null || !isNumber(optionData)) { System.err.println("Error: no USER_ID specified"); - showUsage(); - return 1; + return showUsage(); } else { userId = Integer.parseInt(optionData); } @@ -1379,8 +1372,7 @@ public final class Pm { flags |= UserInfo.FLAG_MANAGED_PROFILE; } else { System.err.println("Error: unknown option " + opt); - showUsage(); - return 1; + return showUsage(); } } String arg = nextArg(); @@ -1557,8 +1549,7 @@ public final class Pm { String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package specified"); - showUsage(); - return 1; + return showUsage(); } if (userId == UserHandle.USER_ALL) { @@ -1626,8 +1617,7 @@ public final class Pm { String optionData = nextOptionData(); if (optionData == null || !isNumber(optionData)) { System.err.println("Error: no USER_ID specified"); - showUsage(); - return 1; + return showUsage(); } else { userId = Integer.parseInt(optionData); } @@ -1636,8 +1626,7 @@ public final class Pm { String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package specified"); - showUsage(); - return 1; + return showUsage(); } ClearDataObserver obs = new ClearDataObserver(); @@ -1698,8 +1687,7 @@ public final class Pm { String optionData = nextOptionData(); if (optionData == null || !isNumber(optionData)) { System.err.println("Error: no USER_ID specified"); - showUsage(); - return 1; + return showUsage(); } else { userId = Integer.parseInt(optionData); } @@ -1708,8 +1696,7 @@ public final class Pm { String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package or component specified"); - showUsage(); - return 1; + return showUsage(); } ComponentName cn = ComponentName.unflattenFromString(pkg); if (cn == null) { @@ -1747,8 +1734,7 @@ public final class Pm { String optionData = nextOptionData(); if (optionData == null || !isNumber(optionData)) { System.err.println("Error: no USER_ID specified"); - showUsage(); - return 1; + return showUsage(); } else { userId = Integer.parseInt(optionData); } @@ -1757,8 +1743,7 @@ public final class Pm { String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package or component specified"); - showUsage(); - return 1; + return showUsage(); } try { mPm.setApplicationHiddenSettingAsUser(pkg, state, userId); @@ -1785,14 +1770,12 @@ public final class Pm { String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package specified"); - showUsage(); - return 1; + return showUsage(); } String perm = nextArg(); if (perm == null) { System.err.println("Error: no permission specified"); - showUsage(); - return 1; + return showUsage(); } try { @@ -1808,8 +1791,7 @@ public final class Pm { return 1; } catch (IllegalArgumentException e) { System.err.println("Bad argument: " + e.toString()); - showUsage(); - return 1; + return showUsage(); } catch (SecurityException e) { System.err.println("Operation not allowed: " + e.toString()); return 1; @@ -1826,8 +1808,7 @@ public final class Pm { return 1; } catch (IllegalArgumentException e) { System.err.println("Bad argument: " + e.toString()); - showUsage(); - return 1; + return showUsage(); } catch (SecurityException e) { System.err.println("Operation not allowed: " + e.toString()); return 1; @@ -1838,14 +1819,12 @@ public final class Pm { final String permission = nextArg(); if (permission == null) { System.err.println("Error: no permission specified"); - showUsage(); - return 1; + return showUsage(); } final String enforcedRaw = nextArg(); if (enforcedRaw == null) { System.err.println("Error: no enforcement specified"); - showUsage(); - return 1; + return showUsage(); } final boolean enforced = Boolean.parseBoolean(enforcedRaw); try { @@ -1857,8 +1836,7 @@ public final class Pm { return 1; } catch (IllegalArgumentException e) { System.err.println("Bad argument: " + e.toString()); - showUsage(); - return 1; + return showUsage(); } catch (SecurityException e) { System.err.println("Operation not allowed: " + e.toString()); return 1; @@ -1884,8 +1862,7 @@ public final class Pm { String size = nextArg(); if (size == null) { System.err.println("Error: no size specified"); - showUsage(); - return 1; + return showUsage(); } int len = size.length(); long multiplier = 1; @@ -1899,8 +1876,7 @@ public final class Pm { multiplier = 1024L*1024L*1024L; } else { System.err.println("Invalid suffix: " + c); - showUsage(); - return 1; + return showUsage(); } size = size.substring(0, len-1); } @@ -1909,8 +1885,7 @@ public final class Pm { sizeVal = Long.parseLong(size) * multiplier; } catch (NumberFormatException e) { System.err.println("Error: expected number at: " + size); - showUsage(); - return 1; + return showUsage(); } String volumeUuid = nextArg(); if ("internal".equals(volumeUuid)) { @@ -1934,8 +1909,7 @@ public final class Pm { return 1; } catch (IllegalArgumentException e) { System.err.println("Bad argument: " + e.toString()); - showUsage(); - return 1; + return showUsage(); } catch (SecurityException e) { System.err.println("Operation not allowed: " + e.toString()); return 1; diff --git a/cmds/sm/src/com/android/commands/sm/Sm.java b/cmds/sm/src/com/android/commands/sm/Sm.java index 0a1ba4d19c5cd..1ee60b068694b 100644 --- a/cmds/sm/src/com/android/commands/sm/Sm.java +++ b/cmds/sm/src/com/android/commands/sm/Sm.java @@ -42,6 +42,7 @@ public final class Sm { } catch (Exception e) { if (e instanceof IllegalArgumentException) { showUsage(); + System.exit(1); } Log.e(TAG, "Error", e); System.err.println("Error: " + e);