diff options
| author | Jeff Sharkey <jsharkey@android.com> | 2014-08-27 10:24:59 -0700 |
|---|---|---|
| committer | Jeff Sharkey <jsharkey@android.com> | 2014-08-27 10:24:59 -0700 |
| commit | 1c9edafef8b3841e3b0017b8f6ef5f46277e8646 (patch) | |
| tree | c9b2fce910dc615e0918a878ccb08b547ed38f34 | |
| parent | 780617faa2c9b3dbcb902da06a486149c5bddbb3 (diff) | |
| download | frameworks_base-1c9edafef8b3841e3b0017b8f6ef5f46277e8646.zip frameworks_base-1c9edafef8b3841e3b0017b8f6ef5f46277e8646.tar.gz frameworks_base-1c9edafef8b3841e3b0017b8f6ef5f46277e8646.tar.bz2 | |
Clear pending operation flag when move failed.
Bug: 17298448
Change-Id: I7a4af0f31d3909a9bfb5a2dd7d168015786024e3
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 5093f97..c230434 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -12914,6 +12914,17 @@ public class PackageManagerService extends IPackageManager.Stub { Bundle extras) throws RemoteException { Slog.d(TAG, "Install result for move: " + PackageManager.installStatusToString(returnCode, msg)); + + // We usually have a new package now after the install, but if + // we failed we need to clear the pending flag on the original + // package object. + synchronized (mPackages) { + final PackageParser.Package pkg = mPackages.get(packageName); + if (pkg != null) { + pkg.mOperationPending = false; + } + } + final int status = PackageManager.installStatusToPublicStatus(returnCode); switch (status) { case PackageInstaller.STATUS_SUCCESS: |
