Merge change 3374 into donut

* changes:
  Fix tracking of backup participants across package remove/update
This commit is contained in:
Android (Google) Code Review
2009-06-05 16:07:56 -07:00

View File

@@ -337,7 +337,14 @@ class BackupManagerService extends IBackupManager.Stub {
int uid = app.uid;
HashSet<ApplicationInfo> set = mBackupParticipants.get(uid);
if (set != null) {
set.remove(app);
// Find the existing entry with the same package name, and remove it.
// We can't just remove(app) because the instances are different.
for (ApplicationInfo entry: set) {
if (entry.packageName.equals(app.packageName)) {
set.remove(entry);
break;
}
}
if (set.size() == 0) {
mBackupParticipants.delete(uid); }
}