diff options
author | Kenny Root <kroot@google.com> | 2011-03-02 08:50:42 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-02 08:50:42 -0800 |
commit | 3dee21eb0f253a7e78572872b8dfc7b5d990a063 (patch) | |
tree | 97486f257e38dcbc1654ade0c2c71838e157e283 /services | |
parent | 79cabf8c855e415cd2528736557da1af1cf6d620 (diff) | |
parent | c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb (diff) | |
download | frameworks_base-3dee21eb0f253a7e78572872b8dfc7b5d990a063.zip frameworks_base-3dee21eb0f253a7e78572872b8dfc7b5d990a063.tar.gz frameworks_base-3dee21eb0f253a7e78572872b8dfc7b5d990a063.tar.bz2 |
Merge "Switch to returnCode for IPackageDeleteObserver"
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/PackageManagerService.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index f1a6e15..461a3e5 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -6204,10 +6204,10 @@ class PackageManagerService extends IPackageManager.Stub { mHandler.post(new Runnable() { public void run() { mHandler.removeCallbacks(this); - final boolean succeded = deletePackageX(packageName, true, true, flags); + final int returnCode = deletePackageX(packageName, true, true, flags); if (observer != null) { try { - observer.packageDeleted(succeded); + observer.packageDeleted(packageName, returnCode); } catch (RemoteException e) { Log.i(TAG, "Observer no longer exists."); } //end catch @@ -6230,17 +6230,17 @@ class PackageManagerService extends IPackageManager.Stub { * persisting settings for later use * sending a broadcast if necessary */ - private boolean deletePackageX(String packageName, boolean sendBroadCast, + private int deletePackageX(String packageName, boolean sendBroadCast, boolean deleteCodeAndResources, int flags) { - PackageRemovedInfo info = new PackageRemovedInfo(); - boolean res; + final PackageRemovedInfo info = new PackageRemovedInfo(); + final boolean res; IDevicePolicyManager dpm = IDevicePolicyManager.Stub.asInterface( ServiceManager.getService(Context.DEVICE_POLICY_SERVICE)); try { if (dpm != null && dpm.packageHasActiveAdmins(packageName)) { Slog.w(TAG, "Not removing package " + packageName + ": has active device admin"); - return false; + return PackageManager.DELETE_FAILED_DEVICE_POLICY_MANAGER; } } catch (RemoteException e) { } @@ -6250,7 +6250,7 @@ class PackageManagerService extends IPackageManager.Stub { flags | REMOVE_CHATTY, info, true); } - if(res && sendBroadCast) { + if (res && sendBroadCast) { boolean systemUpdate = info.isRemovedPackageSystemUpdate; info.sendBroadcast(deleteCodeAndResources, systemUpdate); @@ -6278,7 +6278,8 @@ class PackageManagerService extends IPackageManager.Stub { info.args.doPostDeleteLI(deleteCodeAndResources); } } - return res; + + return res ? PackageManager.DELETE_SUCCEEDED : PackageManager.DELETE_FAILED_INTERNAL_ERROR; } static class PackageRemovedInfo { |