|
@@ -7,13 +7,12 @@ import javax.inject.Inject;
|
|
|
|
|
|
import eu.kanade.mangafeed.data.helpers.DatabaseHelper;
|
|
|
import eu.kanade.mangafeed.data.helpers.PreferencesHelper;
|
|
|
-import eu.kanade.mangafeed.data.models.Manga;
|
|
|
+import eu.kanade.mangafeed.ui.adapter.LibraryAdapter;
|
|
|
import eu.kanade.mangafeed.ui.fragment.LibraryFragment;
|
|
|
import rx.Observable;
|
|
|
import rx.Subscription;
|
|
|
import rx.android.schedulers.AndroidSchedulers;
|
|
|
import rx.schedulers.Schedulers;
|
|
|
-import uk.co.ribot.easyadapter.EasyAdapter;
|
|
|
|
|
|
public class LibraryPresenter extends BasePresenter<LibraryFragment> {
|
|
|
|
|
@@ -36,31 +35,26 @@ public class LibraryPresenter extends BasePresenter<LibraryFragment> {
|
|
|
|
|
|
public void getFavoriteMangas() {
|
|
|
if (mFavoriteMangasSubscription != null)
|
|
|
- remove(mFavoriteMangasSubscription);
|
|
|
+ return;
|
|
|
|
|
|
- mFavoriteMangasSubscription = db.getMangasWithUnread()
|
|
|
+ add(mFavoriteMangasSubscription = db.getMangasWithUnread()
|
|
|
.subscribeOn(Schedulers.io())
|
|
|
.observeOn(AndroidSchedulers.mainThread())
|
|
|
.compose(deliverLatestCache())
|
|
|
- .subscribe(this.split((view, mangas) -> {
|
|
|
- view.getAdapter().setNewItems(mangas);
|
|
|
- }));
|
|
|
-
|
|
|
- add(mFavoriteMangasSubscription);
|
|
|
+ .subscribe(this.split(LibraryFragment::onNextMangas)));
|
|
|
}
|
|
|
|
|
|
- public void onDelete(SparseBooleanArray checkedItems, EasyAdapter<Manga> adapter) {
|
|
|
- remove(mDeleteMangaSubscription);
|
|
|
+ public void onDelete(SparseBooleanArray checkedItems, LibraryAdapter adapter) {
|
|
|
+ if (mDeleteMangaSubscription != null)
|
|
|
+ remove(mDeleteMangaSubscription);
|
|
|
|
|
|
- mDeleteMangaSubscription = Observable.range(0, checkedItems.size())
|
|
|
+ add(mDeleteMangaSubscription = Observable.range(0, checkedItems.size())
|
|
|
.observeOn(Schedulers.io())
|
|
|
.map(checkedItems::keyAt)
|
|
|
.map(adapter::getItem)
|
|
|
.toList()
|
|
|
.flatMap(db::deleteMangas)
|
|
|
- .subscribe();
|
|
|
-
|
|
|
- add(mDeleteMangaSubscription);
|
|
|
+ .subscribe());
|
|
|
}
|
|
|
|
|
|
}
|