diff options
author | Kenny Root <kroot@google.com> | 2011-02-28 13:27:19 -0800 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2011-03-01 09:27:57 -0800 |
commit | c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb (patch) | |
tree | a17b98261c9fa066d13363442585f0a227a29ce7 /core | |
parent | 051d4430715ea257f0afd124b919a14ced6385b8 (diff) | |
download | frameworks_base-c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb.zip frameworks_base-c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb.tar.gz frameworks_base-c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb.tar.bz2 |
Switch to returnCode for IPackageDeleteObserver
Before the IPackageDeleteObserver only knew whether the deletion
succeeded or failed, but not the reason why.
Bug: 2520191
Change-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b
Diffstat (limited to 'core')
3 files changed, 34 insertions, 5 deletions
diff --git a/core/java/android/content/pm/IPackageDeleteObserver.aidl b/core/java/android/content/pm/IPackageDeleteObserver.aidl index bc16b3e..2e2d16e 100644 --- a/core/java/android/content/pm/IPackageDeleteObserver.aidl +++ b/core/java/android/content/pm/IPackageDeleteObserver.aidl @@ -23,6 +23,6 @@ package android.content.pm; * {@hide} */ oneway interface IPackageDeleteObserver { - void packageDeleted(in boolean succeeded); + void packageDeleted(in String packageName, in int returnCode); } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index a589216..2992d68 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -552,9 +552,38 @@ public abstract class PackageManager { public static final int DONT_DELETE_DATA = 0x00000001; /** + * Return code for when package deletion succeeds. This is passed to the + * {@link IPackageDeleteObserver} by {@link #deletePackage()} if the system + * succeeded in deleting the package. + * + * @hide + */ + public static final int DELETE_SUCCEEDED = 1; + + /** + * Deletion failed return code: this is passed to the + * {@link IPackageDeleteObserver} by {@link #deletePackage()} if the system + * failed to delete the package for an unspecified reason. + * + * @hide + */ + public static final int DELETE_FAILED_INTERNAL_ERROR = -1; + + /** + * Deletion failed return code: this is passed to the + * {@link IPackageDeleteObserver} by {@link #deletePackage()} if the system + * failed to delete the package because it is the active DevicePolicy + * manager. + * + * @hide + */ + public static final int DELETE_FAILED_DEVICE_POLICY_MANAGER = -2; + + /** * Return code that is passed to the {@link IPackageMoveObserver} by - * {@link #movePackage(android.net.Uri, IPackageMoveObserver)} - * when the package has been successfully moved by the system. + * {@link #movePackage(android.net.Uri, IPackageMoveObserver)} when the + * package has been successfully moved by the system. + * * @hide */ public static final int MOVE_SUCCEEDED = 1; diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java index 7af64e4..5d28ef7 100755 --- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java +++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java @@ -769,9 +769,9 @@ public class PackageManagerTests extends AndroidTestCase { return doneFlag; } - public void packageDeleted(boolean succeeded) throws RemoteException { + public void packageDeleted(String packageName, int returnCode) throws RemoteException { synchronized(this) { - this.succeeded = succeeded; + this.succeeded = returnCode == PackageManager.DELETE_SUCCEEDED; doneFlag = true; notifyAll(); } |