diff --git a/app/src/main/java/eu/kanade/mangafeed/data/models/Manga.java b/app/src/main/java/eu/kanade/mangafeed/data/models/Manga.java index 2994dbebb1..1054514b90 100644 --- a/app/src/main/java/eu/kanade/mangafeed/data/models/Manga.java +++ b/app/src/main/java/eu/kanade/mangafeed/data/models/Manga.java @@ -1,7 +1,5 @@ package eu.kanade.mangafeed.data.models; -import android.support.annotation.Nullable; - import com.pushtorefresh.storio.sqlite.annotations.StorIOSQLiteColumn; import com.pushtorefresh.storio.sqlite.annotations.StorIOSQLiteType; diff --git a/app/src/main/java/eu/kanade/mangafeed/presenter/LibraryPresenter.java b/app/src/main/java/eu/kanade/mangafeed/presenter/LibraryPresenter.java index 213cd9ecb2..20360a2812 100644 --- a/app/src/main/java/eu/kanade/mangafeed/presenter/LibraryPresenter.java +++ b/app/src/main/java/eu/kanade/mangafeed/presenter/LibraryPresenter.java @@ -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 { @@ -36,31 +35,26 @@ public class LibraryPresenter extends BasePresenter { 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 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()); } } diff --git a/app/src/main/java/eu/kanade/mangafeed/presenter/MangaInfoPresenter.java b/app/src/main/java/eu/kanade/mangafeed/presenter/MangaInfoPresenter.java index fbc3e5c813..735023af24 100644 --- a/app/src/main/java/eu/kanade/mangafeed/presenter/MangaInfoPresenter.java +++ b/app/src/main/java/eu/kanade/mangafeed/presenter/MangaInfoPresenter.java @@ -8,7 +8,6 @@ import eu.kanade.mangafeed.ui.fragment.MangaInfoFragment; import rx.Observable; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; public class MangaInfoPresenter extends BasePresenter { diff --git a/app/src/main/java/eu/kanade/mangafeed/ui/adapter/LibraryAdapter.java b/app/src/main/java/eu/kanade/mangafeed/ui/adapter/LibraryAdapter.java index 9e9cd0aebd..dc42d05581 100644 --- a/app/src/main/java/eu/kanade/mangafeed/ui/adapter/LibraryAdapter.java +++ b/app/src/main/java/eu/kanade/mangafeed/ui/adapter/LibraryAdapter.java @@ -10,7 +10,7 @@ import eu.kanade.mangafeed.data.models.Manga; import rx.Observable; import uk.co.ribot.easyadapter.EasyAdapter; -public class LibraryAdapter extends EasyAdapter implements Filterable { +public class LibraryAdapter extends EasyAdapter implements Filterable { List mangas; Filter filter; @@ -20,9 +20,9 @@ public class LibraryAdapter extends EasyAdapter implements Filterable { filter = new LibraryFilter(); } - public void setNewItems(List list) { + public void setNewItems(List list) { super.setItems(list); - mangas = (List)list; + mangas = list; } @Override @@ -57,7 +57,7 @@ public class LibraryAdapter extends EasyAdapter implements Filterable { @Override public void publishResults(CharSequence constraint, FilterResults results) { - setItems((List) results.values); + setItems((List) results.values); } } diff --git a/app/src/main/java/eu/kanade/mangafeed/ui/fragment/LibraryFragment.java b/app/src/main/java/eu/kanade/mangafeed/ui/fragment/LibraryFragment.java index 4c072cd1de..e2e4d19bba 100644 --- a/app/src/main/java/eu/kanade/mangafeed/ui/fragment/LibraryFragment.java +++ b/app/src/main/java/eu/kanade/mangafeed/ui/fragment/LibraryFragment.java @@ -12,6 +12,8 @@ import android.view.View; import android.view.ViewGroup; import android.widget.GridView; +import java.util.List; + import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnItemClick; @@ -28,7 +30,7 @@ public class LibraryFragment extends BaseFragment { @Bind(R.id.gridView) GridView grid; private MainActivity activity; - private LibraryAdapter adapter; + private LibraryAdapter adapter; public static LibraryFragment newInstance() { LibraryFragment fragment = new LibraryFragment(); @@ -82,12 +84,12 @@ public class LibraryFragment extends BaseFragment { } private void createAdapter() { - adapter = new LibraryAdapter<>(getActivity()); + adapter = new LibraryAdapter(getActivity()); grid.setAdapter(adapter); } - public LibraryAdapter getAdapter() { - return adapter; + public void onNextMangas(List mangas) { + adapter.setNewItems(mangas); } @OnItemClick(R.id.gridView)