Merge changes from Nucleus presenter

This commit is contained in:
inorichi 2015-12-21 17:58:12 +01:00
parent 50d6632d0e
commit 80a59548a5
3 changed files with 27 additions and 16 deletions

View File

@ -100,20 +100,21 @@ public class RxPresenter<View> extends Presenter<View> {
* @param restartableId id of a restartable. * @param restartableId id of a restartable.
*/ */
public void stop(int restartableId) { public void stop(int restartableId) {
requested.remove((Integer)restartableId); requested.remove((Integer) restartableId);
Subscription subscription = restartableSubscriptions.get(restartableId); Subscription subscription = restartableSubscriptions.get(restartableId);
if (subscription != null) if (subscription != null)
subscription.unsubscribe(); subscription.unsubscribe();
} }
/** /**
* Checks if a restartable is started. * Checks if a restartable is subscribed.
* *
* @param restartableId id of a restartable. * @param restartableId id of a restartable.
* @return True if the restartable is started, false otherwise. * @return True if the restartable is subscribed, false otherwise.
*/ */
public boolean isStarted(int restartableId) { public boolean isSubscribed(int restartableId) {
return requested.contains(restartableId); Subscription s = restartableSubscriptions.get(restartableId);
return s != null && !s.isUnsubscribed();
} }
/** /**
@ -329,4 +330,14 @@ public class RxPresenter<View> extends Presenter<View> {
protected void onDropView() { protected void onDropView() {
views.onNext(null); views.onNext(null);
} }
/**
* Please, use restartableXX and deliverXX methods for pushing data from RxPresenter into View.
*/
@Deprecated
@Nullable
@Override
public View getView() {
return super.getView();
}
} }

View File

@ -92,7 +92,7 @@ public class ChaptersPresenter extends BasePresenter<ChaptersFragment> {
public void onEventMainThread(Manga manga) { public void onEventMainThread(Manga manga) {
this.manga = manga; this.manga = manga;
if (!isStarted(DB_CHAPTERS)) { if (!isSubscribed(DB_CHAPTERS)) {
source = sourceManager.get(manga.source); source = sourceManager.get(manga.source);
start(DB_CHAPTERS); start(DB_CHAPTERS);

View File

@ -319,7 +319,7 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
} }
private void stopPreloadingNextChapter() { private void stopPreloadingNextChapter() {
if (isStarted(PRELOAD_NEXT_CHAPTER)) { if (isSubscribed(PRELOAD_NEXT_CHAPTER)) {
stop(PRELOAD_NEXT_CHAPTER); stop(PRELOAD_NEXT_CHAPTER);
if (nextChapterPageList != null) if (nextChapterPageList != null)
source.savePageList(nextChapter.url, nextChapterPageList); source.savePageList(nextChapter.url, nextChapterPageList);