123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package eu.kanade.mangafeed.presenter;
- import android.os.Bundle;
- import javax.inject.Inject;
- import eu.kanade.mangafeed.data.helpers.DatabaseHelper;
- import eu.kanade.mangafeed.data.models.Manga;
- import eu.kanade.mangafeed.ui.fragment.MangaInfoFragment;
- import eu.kanade.mangafeed.util.EventBusHook;
- import eu.kanade.mangafeed.events.ChapterCountEvent;
- import rx.Observable;
- public class MangaInfoPresenter extends BasePresenter<MangaInfoFragment> {
- @Inject DatabaseHelper db;
- private Manga manga;
- private int count = -1;
- private static final int GET_MANGA = 1;
- private static final int GET_CHAPTER_COUNT = 2;
- @Override
- protected void onCreate(Bundle savedState) {
- super.onCreate(savedState);
- restartableLatestCache(GET_MANGA,
- () -> Observable.just(manga),
- MangaInfoFragment::setMangaInfo);
- restartableLatestCache(GET_CHAPTER_COUNT,
- () -> Observable.just(count),
- MangaInfoFragment::setChapterCount);
- }
- @Override
- protected void onTakeView(MangaInfoFragment view) {
- super.onTakeView(view);
- registerForStickyEvents();
- }
- @Override
- protected void onDropView() {
- unregisterForEvents();
- super.onDropView();
- }
- @EventBusHook
- public void onEventMainThread(Manga manga) {
- this.manga = manga;
- start(GET_MANGA);
- }
- @EventBusHook
- public void onEventMainThread(ChapterCountEvent event) {
- if (count != event.getCount()) {
- count = event.getCount();
- start(GET_CHAPTER_COUNT);
- }
- }
- }
|