summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Christopher Tate <ctate@google.com> 2013-03-08 02:03:25 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2013-03-08 02:03:25 +0000
commit6916c6ee105e7e91f494ec79c24152fb64d8eed1 (patch)
tree4584e0ab509938ab4a6138c0e7fc675005a6772a
parentdd3e75fa6b9fd93790eec010f40c8bc1c3aeda3c (diff)
parenta83cab0001ca4d90abe622c22a7af1b0da54f739 (diff)
Merge "Do not hang in pm clear on an invalid package name" into jb-mr2-dev
-rw-r--r--cmds/pm/src/com/android/commands/pm/Pm.java5
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java9
2 files changed, 9 insertions, 5 deletions
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index 22ce8412a47e..98c82b56625b 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -1149,10 +1149,7 @@ public final class Pm {
ClearDataObserver obs = new ClearDataObserver();
try {
- if (!ActivityManagerNative.getDefault().clearApplicationUserData(pkg, obs, userId)) {
- System.err.println("Failed");
- }
-
+ ActivityManagerNative.getDefault().clearApplicationUserData(pkg, obs, userId);
synchronized (obs) {
while (!obs.finished) {
try {
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index d8bcf2cd4494..6f092bf6d50d 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -3499,7 +3499,14 @@ public final class ActivityManagerService extends ActivityManagerNative
} catch (RemoteException e) {
}
if (pkgUid == -1) {
- Slog.w(TAG, "Invalid packageName:" + packageName);
+ Slog.w(TAG, "Invalid packageName: " + packageName);
+ if (observer != null) {
+ try {
+ observer.onRemoveCompleted(packageName, false);
+ } catch (RemoteException e) {
+ Slog.i(TAG, "Observer no longer exists.");
+ }
+ }
return false;
}
if (uid == pkgUid || checkComponentPermission(