Add composite subscriptions

This commit is contained in:
inorichi
2015-10-01 16:52:08 +02:00
parent e386257d34
commit 90b0948968
7 changed files with 35 additions and 46 deletions
@@ -1,6 +1,7 @@
package eu.kanade.mangafeed.presenter;
import de.greenrobot.event.EventBus;
import rx.subscriptions.CompositeSubscription;
public class BasePresenter {
@@ -15,4 +16,11 @@ public class BasePresenter {
public void unregisterForEvents() {
EventBus.getDefault().unregister(this);
}
protected CompositeSubscription subscriptions = new CompositeSubscription();
public void destroySubscriptions() {
subscriptions.unsubscribe();
}
}
@@ -11,7 +11,6 @@ import eu.kanade.mangafeed.data.models.Manga;
import eu.kanade.mangafeed.ui.activity.MangaDetailActivity;
import eu.kanade.mangafeed.ui.adapter.LibraryAdapter;
import eu.kanade.mangafeed.view.LibraryView;
import rx.Subscription;
import static rx.android.schedulers.AndroidSchedulers.mainThread;
@@ -23,7 +22,6 @@ public class LibraryPresenter extends BasePresenter {
@Inject PreferencesHelper prefs;
LibraryAdapter<Manga> adapter;
private Subscription mangaListSubscription;
public LibraryPresenter(LibraryView view) {
this.view = view;
@@ -47,22 +45,18 @@ public class LibraryPresenter extends BasePresenter {
}
public void initializeMangas() {
mangaListSubscription = db.manga.getWithUnread()
.observeOn(mainThread())
.subscribe(mangas -> {
adapter = new LibraryAdapter<>(view.getActivity(), mangas);
view.setAdapter(adapter);
});
adapter = new LibraryAdapter<>(view.getActivity());
view.setAdapter(adapter);
view.setMangaClickListener();
subscriptions.add(db.manga.getWithUnread()
.observeOn(mainThread())
.subscribe(adapter::setNewItems)
);
}
public void onQueryTextChange(String query) {
adapter.getFilter().filter(query);
}
public void destroySubscriptions() {
if (mangaListSubscription != null) {
mangaListSubscription.unsubscribe();
}
}
}