diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2016-06-19 18:21:30 +0200 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2016-06-19 18:21:30 +0200 |
commit | 42eab1795ad695c063a058a0a1c07fa470fcbcf0 (patch) | |
tree | bd0aff2ee1c17ac9c02d916eb8f12360fa349fa6 | |
parent | c9d0d497ddc1300aaade22e3c51786ef13b7eae3 (diff) | |
download | AntennaPod-42eab1795ad695c063a058a0a1c07fa470fcbcf0.zip |
Unsubscribe when fragment is destroyed
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java | 15 |
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 -> { |