@@ -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