Use nucleus restartables in chapters presenter. Fix some database methods. Add swipe refresh to chapters fragment. Use Icepick library.

This commit is contained in:
inorichi
2015-10-18 19:18:50 +02:00
parent 920a71601b
commit 1719959bc8
10 changed files with 105 additions and 42 deletions

View File

@@ -7,6 +7,7 @@ import com.pushtorefresh.storio.sqlite.StorIOSQLite;
import com.pushtorefresh.storio.sqlite.impl.DefaultStorIOSQLite;
import com.pushtorefresh.storio.sqlite.operations.delete.DeleteResult;
import com.pushtorefresh.storio.sqlite.operations.delete.DeleteResults;
import com.pushtorefresh.storio.sqlite.operations.post.PostResult;
import com.pushtorefresh.storio.sqlite.operations.put.PutResult;
import com.pushtorefresh.storio.sqlite.operations.put.PutResults;
@@ -73,7 +74,7 @@ public class DatabaseHelper implements MangaManager, ChapterManager {
}
@Override
public Observable insertOrRemoveChapters(Manga manga, List<Chapter> chapters) {
public Observable<PostResult> insertOrRemoveChapters(Manga manga, List<Chapter> chapters) {
return mChapterManager.insertOrRemoveChapters(manga, chapters);
}

View File

@@ -2,6 +2,7 @@ package eu.kanade.mangafeed.data.managers;
import com.pushtorefresh.storio.sqlite.operations.delete.DeleteResult;
import com.pushtorefresh.storio.sqlite.operations.delete.DeleteResults;
import com.pushtorefresh.storio.sqlite.operations.post.PostResult;
import com.pushtorefresh.storio.sqlite.operations.put.PutResult;
import com.pushtorefresh.storio.sqlite.operations.put.PutResults;
@@ -21,7 +22,7 @@ public interface ChapterManager {
Observable<PutResults<Chapter>> insertChapters(List<Chapter> chapters);
Observable insertOrRemoveChapters(Manga manga, List<Chapter> chapters);
Observable<PostResult> insertOrRemoveChapters(Manga manga, List<Chapter> chapters);
Observable<DeleteResult> deleteChapter(Chapter chapter);

View File

@@ -70,6 +70,10 @@ public class ChapterManagerImpl extends BaseManager implements ChapterManager {
// Add new chapters or delete if the source deletes them
@Override
public Observable<PostResult> insertOrRemoveChapters(Manga manga, List<Chapter> chapters) {
for (Chapter chapter : chapters) {
chapter.manga_id = manga.id;
}
Observable<List<Chapter>> chapterList = Observable.create(subscriber -> {
subscriber.onNext(prepareGetChapters(manga).executeAsBlocking());
subscriber.onCompleted();