Prevent account reconcile from running when service is down

Bug: 2644142
Change-Id: Ia6ccf7371bc08b3b67ab3d0871f3618c5e5bd107
This commit is contained in:
Marc Blank 2010-04-30 11:15:10 -07:00
parent 09f0ab0454
commit 468fe91dd8

View File

@ -954,12 +954,14 @@ public class SyncManager extends Service implements Runnable {
android.accounts.Account[] accountMgrList = AccountManager.get(syncManager) android.accounts.Account[] accountMgrList = AccountManager.get(syncManager)
.getAccountsByType(Email.EXCHANGE_ACCOUNT_MANAGER_TYPE); .getAccountsByType(Email.EXCHANGE_ACCOUNT_MANAGER_TYPE);
synchronized (sAccountList) { synchronized (sAccountList) {
// Make sure we have an up-to-date sAccountList // Make sure we have an up-to-date sAccountList. If not (for example, if the
// service has been destroyed), we would be reconciling against an empty account
// list, which would cause the deletion of all of our accounts
if (mAccountObserver != null) { if (mAccountObserver != null) {
mAccountObserver.onAccountChanged(); mAccountObserver.onAccountChanged();
reconcileAccountsWithAccountManager(syncManager, sAccountList,
accountMgrList, false, mResolver);
} }
reconcileAccountsWithAccountManager(syncManager, sAccountList,
accountMgrList, false, mResolver);
} }
} }
}.start(); }.start();