From 926a5a7d21941ecb823a44b1c6952f50c087ca1e Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Fri, 19 Aug 2016 20:54:45 +0200 Subject: [PATCH] Fixed crash when stopping service (fixes #725) --- .../syncthingandroid/syncthing/SyncthingService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/nutomic/syncthingandroid/syncthing/SyncthingService.java b/src/main/java/com/nutomic/syncthingandroid/syncthing/SyncthingService.java index e5960a4b..14bde973 100644 --- a/src/main/java/com/nutomic/syncthingandroid/syncthing/SyncthingService.java +++ b/src/main/java/com/nutomic/syncthingandroid/syncthing/SyncthingService.java @@ -129,6 +129,7 @@ public class SyncthingService extends Service implements private final HashSet mOnApiChangeListeners = new HashSet<>(); + private Object mSyncStatusHandle; private final SyncStatusObserver mSyncStatusObserver = new SyncStatusObserver() { @Override public void onStatusChanged(int i) { @@ -339,8 +340,8 @@ public class SyncthingService extends Service implements new StartupTask(sp.getString("gui_user",""), sp.getString("gui_password","")).execute(); sp.registerOnSharedPreferenceChangeListener(this); - ContentResolver.addStatusChangeListener(ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS, - mSyncStatusObserver); + mSyncStatusHandle = ContentResolver.addStatusChangeListener( + ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS, mSyncStatusObserver); } /** @@ -447,7 +448,7 @@ public class SyncthingService extends Service implements SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); sp.unregisterOnSharedPreferenceChangeListener(this); - ContentResolver.removeStatusChangeListener(mSyncStatusObserver); + ContentResolver.removeStatusChangeListener(mSyncStatusHandle); if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) unregisterReceiver(mPowerSaveModeChangedReceiver); }