summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-06-19 18:21:30 +0200
committerMartin Fietz <Martin.Fietz@gmail.com>2016-06-19 18:21:30 +0200
commit42eab1795ad695c063a058a0a1c07fa470fcbcf0 (patch)
treebd0aff2ee1c17ac9c02d916eb8f12360fa349fa6
parentc9d0d497ddc1300aaade22e3c51786ef13b7eae3 (diff)
downloadAntennaPod-42eab1795ad695c063a058a0a1c07fa470fcbcf0.zip
Unsubscribe when fragment is destroyed
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
index a314419ac..069aed9fd 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
@@ -27,6 +27,7 @@ import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import rx.Observable;
+import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
@@ -46,6 +47,7 @@ public class SubscriptionFragment extends Fragment {
private int mPosition = -1;
+ private Subscription subscription;
public SubscriptionFragment() {
}
@@ -88,8 +90,19 @@ public class SubscriptionFragment extends Fragment {
EventDistributor.getInstance().register(contentUpdate);
}
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ if(subscription != null) {
+ subscription.unsubscribe();
+ }
+ }
+
private void loadSubscriptions() {
- Observable.fromCallable(() -> DBReader.getNavDrawerData())
+ if(subscription != null) {
+ subscription.unsubscribe();
+ }
+ subscription = Observable.fromCallable(() -> DBReader.getNavDrawerData())
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {