am ea6e1c95: am 1e8e65ee: Stop the SyncAdapterService if no accounts

* commit 'ea6e1c95590ee5072c7dbaefb45a67bdc4fc45ed':
  Stop the SyncAdapterService if no accounts
diff --git a/src/com/android/exchange/service/EmailSyncAdapterService.java b/src/com/android/exchange/service/EmailSyncAdapterService.java
index c8b1d5a..b2a5055 100644
--- a/src/com/android/exchange/service/EmailSyncAdapterService.java
+++ b/src/com/android/exchange/service/EmailSyncAdapterService.java
@@ -412,12 +412,13 @@
     /**
      * {@link AsyncTask} for restarting pings for all accounts that need it.
      */
-    private static class RestartPingsTask extends AsyncTask<Void, Void, Void> {
-        private static final String PUSH_ACCOUNTS_SELECTION =
-                AccountColumns.SYNC_INTERVAL + "=" + Integer.toString(Account.CHECK_INTERVAL_PUSH);
+    private static final String PUSH_ACCOUNTS_SELECTION =
+            AccountColumns.SYNC_INTERVAL + "=" + Integer.toString(Account.CHECK_INTERVAL_PUSH);
+    private class RestartPingsTask extends AsyncTask<Void, Void, Void> {
 
         private final ContentResolver mContentResolver;
         private final SyncHandlerSynchronizer mSyncHandlerMap;
+        private boolean mAnyAccounts;
 
         public RestartPingsTask(final ContentResolver contentResolver,
                 final SyncHandlerSynchronizer syncHandlerMap) {
@@ -431,6 +432,7 @@
                     Account.CONTENT_PROJECTION, PUSH_ACCOUNTS_SELECTION, null, null);
             if (c != null) {
                 try {
+                    mAnyAccounts = (c.getCount() != 0);
                     while (c.moveToNext()) {
                         final Account account = new Account();
                         account.restore(c);
@@ -439,9 +441,19 @@
                 } finally {
                     c.close();
                 }
+            } else {
+                mAnyAccounts = false;
             }
             return null;
         }
+
+        @Override
+        protected void onPostExecute(Void result) {
+            if (!mAnyAccounts) {
+                LogUtils.d(TAG, "stopping for no accounts");
+                EmailSyncAdapterService.this.stopSelf();
+            }
+        }
     }
 
     @Override