Add composite subscriptions
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user