summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Todd Kennedy <toddke@google.com> 2016-07-21 11:54:53 -0700
committer Todd Kennedy <toddke@google.com> 2016-07-21 13:53:01 -0700
commit634124485611cb347f9e41a72df2920a76c32b8c (patch)
tree60ae8ad94d2cb5806f198e0dc3692bbf6f9f1249
parent7848856e6b4a667dbd3c42363203df6253dcc6c6 (diff)
Skip failed package installs
If a package installation doesn't succeed [or hasn't succeeded yet], its structures won't be setup so we should skip them when sending first launch broadcasts. Change-Id: I89a88480dc6d311a232cae5a236279b2f0a9df3a Fixes: 30258737
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java3
1 files changed, 3 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 b907be07fab9..54c36e111391 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -12302,6 +12302,9 @@ public class PackageManagerService extends IPackageManager.Stub {
public void run() {
for (int i = 0; i < mRunningInstalls.size(); i++) {
final PostInstallData data = mRunningInstalls.valueAt(i);
+ if (data.res.returnCode != PackageManager.INSTALL_SUCCEEDED) {
+ continue;
+ }
if (pkgName.equals(data.res.pkg.applicationInfo.packageName)) {
// right package; but is it for the right user?
for (int uIndex = 0; uIndex < data.res.newUsers.length; uIndex++) {