Abort Ping Thread on Destroy
Bug: 10855683
Change-Id: I01939c16c091ed1ebcf9a1c9a77524c3c40cf8ab
diff --git a/src/com/android/exchange/service/EmailSyncAdapterService.java b/src/com/android/exchange/service/EmailSyncAdapterService.java
index 964755c..70e91a9 100644
--- a/src/com/android/exchange/service/EmailSyncAdapterService.java
+++ b/src/com/android/exchange/service/EmailSyncAdapterService.java
@@ -467,6 +467,7 @@
@Override
public void onCreate() {
+ LogUtils.i(TAG, "onCreate()");
super.onCreate();
// Restart push for all accounts that need it.
new RestartPingsTask(getContentResolver(), mSyncHandlerMap).executeOnExecutor(
@@ -474,6 +475,17 @@
}
@Override
+ public void onDestroy() {
+ LogUtils.i(TAG, "onDestroy()");
+ super.onDestroy();
+ for (PingTask task : mSyncHandlerMap.mPingHandlers.values()) {
+ if (task != null) {
+ task.stop();
+ }
+ }
+ }
+
+ @Override
public IBinder onBind(Intent intent) {
if (intent.getAction().equals(Eas.EXCHANGE_SERVICE_INTENT_ACTION)) {
return mBinder;