[CI SKIP] Improve wording, manga details new info (#4867)

* [CI SKIP] Improve wording, manga details new info

I'm not 100% sure about the caching behavior. please confirm and correct.

* change request
This commit is contained in:
Aria Moradi 2020-11-16 16:14:37 +03:30 committed by GitHub
parent 840dffeedd
commit 3e58ce01b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 4 deletions

View File

@ -172,9 +172,10 @@ The class which is refrenced and defined by `extClass` in `build.gradle`. This c
a.k.a. the Browse source entry point in the app (invoked by tapping on the source name). a.k.a. the Browse source entry point in the app (invoked by tapping on the source name).
- The app calls `fetchPopularManga` with `page=1`, and it returns a `MangasPage` and will continue to call it for next pages, when the user scrolls the manga list and more results must be fetched (until you pass `MangasPage.hasNextPage` as `false` which marks the end of the found manga list). - The app calls `fetchPopularManga` which should return a `MangasPage` containing the first batch of found `SManga` entries.
- While passing magnas here you should at least set `url`, `title` and `thumbnail_url`. - This method supports pagination. When user scrolls the manga list and more results must be fetched, the app calls it again with increasing `page` values(starting with `page=1`). This continues until `MangasPage.hasNextPage` is passed as `true` and `MangasPage.mangas` is not empty.
- If `thumbnail_url` is not set, `fetchMangaDetails` will be **immediately** called. - To show the list properly, the app needs `url`, `title` and `thumbnail_url`. You must set them here. The rest of the fields could be filled later.(refer to Manga Details below)
- You should set `thumbnail_url` if is available, if not, `fetchMangaDetails` will be **immediately** called.(this will increase network calls heavily and should be avoided)
#### Latest Manga #### Latest Manga
@ -189,14 +190,18 @@ a.k.a. the Latest source entry point in the app (invoked by tapping on the "Late
- If search functionality is not available, return `Observable.just(MangasPage(emptyList(), false))` - If search functionality is not available, return `Observable.just(MangasPage(emptyList(), false))`
- `getFilterList` will be called to get all filters and filter types. **TODO: explain more about `Filter`** - `getFilterList` will be called to get all filters and filter types. **TODO: explain more about `Filter`**
#### Manga Details #### Manga Details
- When user taps on a manga, `fetchMangaDetails` and `fetchChapterList` will be called and the results will be cached. - When user taps on a manga, `fetchMangaDetails` and `fetchChapterList` will be called and the results will be cached.
- A `SManga` entry is identified by it's `url`.
- `fetchMangaDetails` is called to update a manga's details from when it was initialized earlier. - `fetchMangaDetails` is called to update a manga's details from when it was initialized earlier.
- During a backup, only `url` and `title` are stored. To restore the rest of the manga data, the app calls `fetchMangaDetails`, so all fields should be (re)filled in if possible. - During a backup, only `url` and `title` are stored. To restore the rest of the manga data, the app calls `fetchMangaDetails`, so all fields should be (re)filled in if possible.
- `SManga.initialized` tells the app if it should call `fetchMangaDetails`. If you are overriding `fetchMangaDetails`, make sure to pass it as `true`. - `SManga.initialized` tells the app if it should call `fetchMangaDetails`. If you are overriding `fetchMangaDetails`, make sure to pass it as `true`.
- If a `SManga` is cached `fetchMangaDetails` will be only called when the user does a manual update(Swipe-to-Refresh).
- `fetchChapterList` is called to display the chapter list. - `fetchChapterList` is called to display the chapter list.
- The list should be sorted descending by date/chapter number. - The list should be sorted descending by the source order.
- If `Page.imageUrl`s are available immediately, you should pass them here. Otherwise, you should set `page.url` to a page that contains them and override `imageUrlParse` to fill those `imageUrl`s. - If `Page.imageUrl`s are available immediately, you should pass them here. Otherwise, you should set `page.url` to a page that contains them and override `imageUrlParse` to fill those `imageUrl`s.
#### Chapter #### Chapter