am 26c95dda: Update accounts backup when externally deleted

Merge commit '26c95ddace076ead10d5c42986bcc70b465e9791' into eclair-plus-aosp

* commit '26c95ddace076ead10d5c42986bcc70b465e9791':
  Update accounts backup when externally deleted
This commit is contained in:
Andrew Stadler 2010-02-08 17:21:00 -08:00 committed by Android Git Automerger
commit 5f0f18790f

View File

@ -1220,6 +1220,7 @@ public class SyncManager extends Service implements Runnable {
android.accounts.Account[] accts =
AccountManager.get(this).getAccountsByType(Eas.ACCOUNT_MANAGER_TYPE);
List<Account> easAccounts = getAccountList();
boolean accountsDeleted = false;
for (Account easAccount: easAccounts) {
String accountName = easAccount.mEmailAddress;
boolean found = false;
@ -1231,12 +1232,18 @@ public class SyncManager extends Service implements Runnable {
}
if (!found) {
// This account has been deleted in the AccountManager!
log("Account deleted in AccountManager; deleting from provider: " + accountName);
alwaysLog("Account deleted in AccountManager; deleting from provider: " +
accountName);
// TODO This will orphan downloaded attachments; need to handle this
mResolver.delete(ContentUris.withAppendedId(Account.CONTENT_URI, easAccount.mId),
null, null);
accountsDeleted = true;
}
}
// If we changed the list of accounts, refresh the backup
if (accountsDeleted) {
AccountBackupRestore.backupAccounts(getContext());
}
}
private void releaseConnectivityLock(String reason) {