Merge remote-tracking branch 'inorichi/master'

This commit is contained in:
Yuri Revich 2015-12-01 08:45:58 +03:00
commit c62fc05f8b
3 changed files with 40 additions and 6 deletions

View file

@ -226,6 +226,21 @@ public class DatabaseHelper {
.prepare(); .prepare();
} }
public PreparedGetListOfObjects<Chapter> getNextUnreadChapter(Manga manga) {
return db.get()
.listOfObjects(Chapter.class)
.withQuery(Query.builder()
.table(ChapterTable.TABLE)
.where(ChapterTable.COLUMN_MANGA_ID + "=? AND " +
ChapterTable.COLUMN_READ + "=? AND " +
ChapterTable.COLUMN_CHAPTER_NUMBER + ">=?")
.whereArgs(manga.id, 0, 0)
.orderBy(ChapterTable.COLUMN_CHAPTER_NUMBER)
.limit(1)
.build())
.prepare();
}
public PreparedPutObject<Chapter> insertChapter(Chapter chapter) { public PreparedPutObject<Chapter> insertChapter(Chapter chapter) {
return db.put() return db.put()
.object(chapter) .object(chapter)

View file

@ -36,6 +36,7 @@ public class Kissmanga extends Source {
public static final String IP = "93.174.95.110"; public static final String IP = "93.174.95.110";
public static final String BASE_URL = "http://" + IP; public static final String BASE_URL = "http://" + IP;
public static final String POPULAR_MANGAS_URL = BASE_URL + "/MangaList/MostPopular?page=%s"; public static final String POPULAR_MANGAS_URL = BASE_URL + "/MangaList/MostPopular?page=%s";
public static final String SEARCH_URL = BASE_URL + "/AdvanceSearch";
public Kissmanga(Context context) { public Kissmanga(Context context) {
super(context); super(context);
@ -75,7 +76,7 @@ public class Kissmanga extends Source {
@Override @Override
protected String getInitialSearchUrl(String query) { protected String getInitialSearchUrl(String query) {
return null; return SEARCH_URL;
} }
@Override @Override
@ -111,12 +112,31 @@ public class Kissmanga extends Source {
if (next == null) if (next == null)
return null; return null;
return String.format(POPULAR_MANGAS_URL, next.attr("href")); return BASE_URL + next.attr("href");
}
public Observable<MangasPage> searchMangasFromNetwork(MangasPage page, String query) {
if (page.page == 1)
page.url = getInitialSearchUrl(query);
FormEncodingBuilder form = new FormEncodingBuilder();
form.add("authorArtist", "");
form.add("mangaName", query);
form.add("status", "");
form.add("genres", "");
return networkService
.postData(page.url, form.build(), requestHeaders)
.flatMap(networkService::mapResponseToString)
.map(Jsoup::parse)
.doOnNext(doc -> page.mangas = parseSearchFromHtml(doc))
.doOnNext(doc -> page.nextPageUrl = parseNextSearchUrl(doc, page, query))
.map(response -> page);
} }
@Override @Override
protected List<Manga> parseSearchFromHtml(Document parsedHtml) { protected List<Manga> parseSearchFromHtml(Document parsedHtml) {
return null; return parsePopularMangasFromHtml(parsedHtml);
} }
@Override @Override

View file

@ -55,7 +55,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true" android:layout_alignWithParentIfMissing="true"
android:gravity="center_vertical" android:gravity="center_vertical"
android:textSize="18dp" android:textSize="17sp"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
tools:text="Title" tools:text="Title"
@ -64,8 +64,7 @@
android:layout_above="@+id/relativeLayout" android:layout_above="@+id/relativeLayout"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"/>
android:paddingRight="30dp"/>
<RelativeLayout <RelativeLayout
android:id="@+id/chapter_menu" android:id="@+id/chapter_menu"