summaryrefslogtreecommitdiffstats
path: root/provider_src
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2015-06-17 08:56:31 +0200
committerSteve Kondik <steve@cyngn.com>2015-10-18 14:05:32 -0700
commit739281a727ff56912b25645e1ca3aa9d1144a201 (patch)
tree3fed3f3dad443e4fee98f798efd05c804453372e /provider_src
parentcb4fda8286fae2fa83c2fe611a1c34da5d518ed4 (diff)
downloadandroid_packages_apps_Email-739281a727ff56912b25645e1ca3aa9d1144a201.tar.gz
android_packages_apps_Email-739281a727ff56912b25645e1ca3aa9d1144a201.tar.bz2
android_packages_apps_Email-739281a727ff56912b25645e1ca3aa9d1144a201.zip
Don't auto-register IDLE when gaining connection.
We request a sync in this case anyway, which in turn starts the IDLE connection anyway. If we're starting IDLE earlier, we do unnecessary work as the sync will tear it down just a few moments later. Change-Id: I9b99023fbe1aaab72638f6ef9d29223d9a325b7b
Diffstat (limited to 'provider_src')
-rw-r--r--provider_src/com/android/email/service/ImapService.java36
-rw-r--r--provider_src/com/android/email/service/LegacyImapSyncAdapterService.java14
2 files changed, 3 insertions, 47 deletions
diff --git a/provider_src/com/android/email/service/ImapService.java b/provider_src/com/android/email/service/ImapService.java
index 8a61da31b..fd65fd423 100644
--- a/provider_src/com/android/email/service/ImapService.java
+++ b/provider_src/com/android/email/service/ImapService.java
@@ -548,10 +548,9 @@ public class ImapService extends Service {
sExecutor.execute(new Runnable() {
@Override
public void run() {
- ImapService.registerAllImapIdleMailboxes(mContext, mService);
-
- // Since we could have missed some changes, request a sync
- // for the IDLEd accounts
+ // Initiate a sync for all IDLEd accounts, since there might have
+ // been changes while we lost connectivity. At the end of the sync
+ // the IDLE connection will be re-established.
ContentResolver cr = mContext.getContentResolver();
Cursor c = cr.query(Account.CONTENT_URI,
Account.CONTENT_PROJECTION, null, null, null);
@@ -1010,35 +1009,6 @@ public class ImapService extends Service {
return mBinder;
}
- protected static void registerAllImapIdleMailboxes(Context context, IEmailService service) {
- ContentResolver cr = context.getContentResolver();
- Cursor c = cr.query(Account.CONTENT_URI, Account.CONTENT_PROJECTION, null, null, null);
- if (c != null) {
- try {
- while (c.moveToNext()) {
- final Account account = new Account();
- account.restore(c);
-
- // Only imap push accounts
- if (account.getSyncInterval() != Account.CHECK_INTERVAL_PUSH) {
- continue;
- }
- if (!isLegacyImapProtocol(context, account)) {
- continue;
- }
-
- try {
- service.pushModify(account.mId);
- } catch (RemoteException ex) {
- LogUtils.d(LOG_TAG, "Failed to call pushModify for account " + account.mId);
- }
- }
- } finally {
- c.close();
- }
- }
- }
-
private static void requestSync(Context context, Account account, long mailbox, boolean full) {
final EmailServiceUtils.EmailServiceInfo info = EmailServiceUtils.getServiceInfoForAccount(
context, account.mId);
diff --git a/provider_src/com/android/email/service/LegacyImapSyncAdapterService.java b/provider_src/com/android/email/service/LegacyImapSyncAdapterService.java
index 1b5a36b61..2cb0e3743 100644
--- a/provider_src/com/android/email/service/LegacyImapSyncAdapterService.java
+++ b/provider_src/com/android/email/service/LegacyImapSyncAdapterService.java
@@ -18,9 +18,6 @@ package com.android.email.service;
import static com.android.emailcommon.Logging.LOG_TAG;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
import android.content.AbstractThreadedSyncAdapter;
import android.content.ComponentName;
import android.content.ContentProviderClient;
@@ -48,8 +45,6 @@ public class LegacyImapSyncAdapterService extends PopImapSyncAdapterService {
// seconds for it to appear. If it takes longer than that, we will fail the sync.
private static final long MAX_WAIT_FOR_SERVICE_MS = 10 * DateUtils.SECOND_IN_MILLIS;
- private static final ExecutorService sExecutor = Executors.newCachedThreadPool();
-
private IEmailService mImapService;
private final ServiceConnection mConnection = new ServiceConnection() {
@@ -61,15 +56,6 @@ public class LegacyImapSyncAdapterService extends PopImapSyncAdapterService {
synchronized (mConnection) {
mImapService = IEmailService.Stub.asInterface(binder);
mConnection.notify();
-
- // We need to run this task in the background (not in UI-Thread)
- sExecutor.execute(new Runnable() {
- @Override
- public void run() {
- final Context context = LegacyImapSyncAdapterService.this;
- ImapService.registerAllImapIdleMailboxes(context, mImapService);
- }
- });
}
}