Update accounts backup when externally deleted

Fix the case in which an Email account is deleted in the Account Manager
UI, and we delete the provider account, but we did not also update the
backups.  In some cases, the deleted account would be accidentally
restored from the backups.

Bug: 2414469 (internal)
Bug: 2427663 (external)
diff --git a/src/com/android/exchange/SyncManager.java b/src/com/android/exchange/SyncManager.java
index 0133aaf..cc4afed 100644
--- a/src/com/android/exchange/SyncManager.java
+++ b/src/com/android/exchange/SyncManager.java
@@ -1220,6 +1220,7 @@
         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 @@
             }
             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) {