Skip to content

Commit 7789c9b

Browse files
jsharkeyAndroid (Google) Code Review
authored andcommitted
Merge "Support pm clear as --user." into jb-mr1-dev
2 parents 6f8c1ba + a3e9ff7 commit 7789c9b

File tree

1 file changed

+16
-4
lines changed
  • cmds/pm/src/com/android/commands/pm

1 file changed

+16
-4
lines changed

cmds/pm/src/com/android/commands/pm/Pm.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,6 +1131,19 @@ public void onRemoveCompleted(String packageName, boolean succeeded) throws Remo
11311131
}
11321132

11331133
private void runClear() {
1134+
int userId = 0;
1135+
String option = nextOption();
1136+
if (option != null && option.equals("--user")) {
1137+
String optionData = nextOptionData();
1138+
if (optionData == null || !isNumber(optionData)) {
1139+
System.err.println("Error: no USER_ID specified");
1140+
showUsage();
1141+
return;
1142+
} else {
1143+
userId = Integer.parseInt(optionData);
1144+
}
1145+
}
1146+
11341147
String pkg = nextArg();
11351148
if (pkg == null) {
11361149
System.err.println("Error: no package specified");
@@ -1140,8 +1153,7 @@ private void runClear() {
11401153

11411154
ClearDataObserver obs = new ClearDataObserver();
11421155
try {
1143-
// XXX TO DO: add user arg
1144-
if (!ActivityManagerNative.getDefault().clearApplicationUserData(pkg, obs, 0)) {
1156+
if (!ActivityManagerNative.getDefault().clearApplicationUserData(pkg, obs, userId)) {
11451157
System.err.println("Failed");
11461158
}
11471159

@@ -1179,7 +1191,7 @@ private static String enabledSettingToString(int state) {
11791191
return "unknown";
11801192
}
11811193

1182-
private boolean isNumber(String s) {
1194+
private static boolean isNumber(String s) {
11831195
try {
11841196
Integer.parseInt(s);
11851197
} catch (NumberFormatException nfe) {
@@ -1452,7 +1464,7 @@ private static void showUsage() {
14521464
System.err.println(" [--algo <algorithm name> --key <key-in-hex> --iv <IV-in-hex>]");
14531465
System.err.println(" [--originating-uri <URI>] [--referrer <URI>] PATH");
14541466
System.err.println(" pm uninstall [-k] PACKAGE");
1455-
System.err.println(" pm clear PACKAGE");
1467+
System.err.println(" pm clear [--user USER_ID] PACKAGE");
14561468
System.err.println(" pm enable [--user USER_ID] PACKAGE_OR_COMPONENT");
14571469
System.err.println(" pm disable [--user USER_ID] PACKAGE_OR_COMPONENT");
14581470
System.err.println(" pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT");

0 commit comments

Comments
 (0)