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.
*/
public void stop(int restartableId) {
requested.remove((Integer)restartableId);
requested.remove((Integer) restartableId);
Subscription subscription = restartableSubscriptions.get(restartableId);
if (subscription != null)
subscription.unsubscribe();
}
/**
* Checks if a restartable is started.
* Checks if a restartable is subscribed.
*
* @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) {
return requested.contains(restartableId);
public boolean isSubscribed(int 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() {
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) {
this.manga = manga;
if (!isStarted(DB_CHAPTERS)) {
if (!isSubscribed(DB_CHAPTERS)) {
source = sourceManager.get(manga.source);
start(DB_CHAPTERS);

View File

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