Merge "Update PackageMonitor to recognize new 'replacing' semantics" into klp-dev

This commit is contained in:
Christopher Tate
2014-03-05 00:51:04 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 6 deletions

View File

@@ -372,23 +372,25 @@ public abstract class PackageMonitor extends android.content.BroadcastReceiver {
} else if (Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(action)) {
String[] pkgList = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST);
mAppearingPackages = pkgList;
mChangeType = PACKAGE_TEMPORARY_CHANGE;
mChangeType = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)
? PACKAGE_UPDATING : PACKAGE_TEMPORARY_CHANGE;
mSomePackagesChanged = true;
if (pkgList != null) {
onPackagesAvailable(pkgList);
for (int i=0; i<pkgList.length; i++) {
onPackageAppeared(pkgList[i], PACKAGE_TEMPORARY_CHANGE);
onPackageAppeared(pkgList[i], mChangeType);
}
}
} else if (Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(action)) {
String[] pkgList = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST);
mDisappearingPackages = pkgList;
mChangeType = PACKAGE_TEMPORARY_CHANGE;
mChangeType = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)
? PACKAGE_UPDATING : PACKAGE_TEMPORARY_CHANGE;
mSomePackagesChanged = true;
if (pkgList != null) {
onPackagesUnavailable(pkgList);
for (int i=0; i<pkgList.length; i++) {
onPackageDisappeared(pkgList[i], PACKAGE_TEMPORARY_CHANGE);
onPackageDisappeared(pkgList[i], mChangeType);
}
}
}

View File

@@ -867,7 +867,7 @@ public class PackageManagerService extends IPackageManager.Stub {
int[] uidArray = new int[] { res.pkg.applicationInfo.uid };
ArrayList<String> pkgList = new ArrayList<String>(1);
pkgList.add(res.pkg.applicationInfo.packageName);
sendResourcesChangedBroadcast(true, false,
sendResourcesChangedBroadcast(true, true,
pkgList,uidArray, null);
}
}
@@ -11058,7 +11058,7 @@ public class PackageManagerService extends IPackageManager.Stub {
if (uidArr != null) {
extras.putIntArray(Intent.EXTRA_CHANGED_UID_LIST, uidArr);
}
if (replacing && !mediaStatus) {
if (replacing) {
extras.putBoolean(Intent.EXTRA_REPLACING, replacing);
}
String action = mediaStatus ? Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE