diff options
| author | Danny Baumann <dannybaumann@web.de> | 2015-06-17 09:17:45 +0200 |
|---|---|---|
| committer | Steve Kondik <steve@cyngn.com> | 2015-10-18 14:06:01 -0700 |
| commit | c96099279b8be37bbcce9bf2d2d6334c688714a2 (patch) | |
| tree | fb7066f0c32959d0f1ef82cca096d075dc4979cf /provider_src | |
| parent | a7bc7d857295c645f5c1c1774f6dfb0bb9dfda63 (diff) | |
| download | android_packages_apps_Email-c96099279b8be37bbcce9bf2d2d6334c688714a2.tar.gz android_packages_apps_Email-c96099279b8be37bbcce9bf2d2d6334c688714a2.tar.bz2 android_packages_apps_Email-c96099279b8be37bbcce9bf2d2d6334c688714a2.zip | |
Properly unregister alarm manager callbacks.
Change-Id: I2d474bc1cee168a5b76b8710b382498cd6c2fd59
Diffstat (limited to 'provider_src')
| -rw-r--r-- | provider_src/com/android/email/mail/store/ImapFolder.java | 7 | ||||
| -rw-r--r-- | provider_src/com/android/email/service/ImapService.java | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/provider_src/com/android/email/mail/store/ImapFolder.java b/provider_src/com/android/email/mail/store/ImapFolder.java index 05f44c477..bb7a6fe4b 100644 --- a/provider_src/com/android/email/mail/store/ImapFolder.java +++ b/provider_src/com/android/email/mail/store/ImapFolder.java @@ -85,6 +85,10 @@ public class ImapFolder extends Folder { */ public void onIdled(); /** + * Invoked when idle state is left + */ + public void onIdlingDone(); + /** * Invoked when a new change is communicated by the server. * * @param needSync whether a sync is required @@ -313,6 +317,9 @@ public class ImapFolder extends Folder { mIdling = false; } + if (callback != null) { + callback.onIdlingDone(); + } } catch (MessagingException me) { cleanupConnection(connection, false); synchronized (mIdleSync) { diff --git a/provider_src/com/android/email/service/ImapService.java b/provider_src/com/android/email/service/ImapService.java index 292a64218..52ba306d3 100644 --- a/provider_src/com/android/email/service/ImapService.java +++ b/provider_src/com/android/email/service/ImapService.java @@ -198,6 +198,12 @@ public class ImapService extends Service { } @Override + public void onIdlingDone() { + cancelKickIdleConnection(); + resetPingDelay(); + } + + @Override public void onNewServerChange(final boolean needSync, final List<String> fetchMessages) { // Instead of checking every received change, request a sync of the mailbox if (Logging.LOGD) { @@ -551,6 +557,10 @@ public class ImapService extends Service { mContext = context; } + public void destroy() { + cancelIdleConnectionRestart(); + } + @Override public void onConnectivityRestored(int networkType) { if (Logging.LOGD) { @@ -778,6 +788,7 @@ public class ImapService extends Service { ImapIdleFolderHolder.getInstance().unregisterAllIdledMailboxes(true); mConnectivityManager.unregister(); getContentResolver().unregisterContentObserver(mLocalChangesObserver); + mConnectivityManager.destroy(); super.onDestroy(); } |
