summaryrefslogtreecommitdiffstats
path: root/cmds/pm
diff options
context:
space:
mode:
Diffstat (limited to 'cmds/pm')
-rw-r--r--cmds/pm/src/com/android/commands/pm/Pm.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java
index 1f25dd0..c5e91e3 100644
--- a/cmds/pm/src/com/android/commands/pm/Pm.java
+++ b/cmds/pm/src/com/android/commands/pm/Pm.java
@@ -19,12 +19,13 @@ package com.android.commands.pm;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.IActivityManager;
+import android.app.PackageDeleteObserver;
import android.app.PackageInstallObserver;
import android.content.ComponentName;
+import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.FeatureInfo;
import android.content.pm.IPackageDataObserver;
-import android.content.pm.IPackageDeleteObserver;
import android.content.pm.IPackageInstaller;
import android.content.pm.IPackageManager;
import android.content.pm.InstallSessionInfo;
@@ -760,7 +761,7 @@ public final class Pm {
String extraPackage;
@Override
- public void packageInstalled(String name, Bundle extras, int status) {
+ public void onPackageInstalled(String name, int status, String msg, Bundle extras) {
synchronized (this) {
finished = true;
result = status;
@@ -790,6 +791,11 @@ public final class Pm {
}
@Override
+ public void onUserActionRequired(Intent intent) {
+ setResult(false, "Unexepected user action required!");
+ }
+
+ @Override
public void onSuccess() {
setResult(true, null);
}
@@ -1268,11 +1274,12 @@ public final class Pm {
}
}
- class PackageDeleteObserver extends IPackageDeleteObserver.Stub {
+ class LocalPackageDeleteObserver extends PackageDeleteObserver {
boolean finished;
boolean result;
- public void packageDeleted(String packageName, int returnCode) {
+ @Override
+ public void onPackageDeleted(String name, int returnCode, String msg) {
synchronized (this) {
finished = true;
result = returnCode == PackageManager.DELETE_SUCCEEDED;
@@ -1346,9 +1353,9 @@ public final class Pm {
}
private boolean deletePackage(String packageName, int flags, int userId) {
- PackageDeleteObserver obs = new PackageDeleteObserver();
+ LocalPackageDeleteObserver obs = new LocalPackageDeleteObserver();
try {
- mInstaller.uninstall(packageName, flags, obs, userId);
+ mInstaller.uninstall(packageName, flags, obs.getBinder(), userId);
synchronized (obs) {
while (!obs.finished) {