Recent Read Controller is no longer Rx
Unfortunately to fix #72, an rx observer is needed since the reader adds to the db after the recents is back in view
This commit is contained in:
parent
01039219bc
commit
9e36dccf4d
2 changed files with 7 additions and 6 deletions
|
@ -105,16 +105,18 @@ class RecentlyReadController(bundle: Bundle? = null) : BaseController(bundle),
|
|||
*
|
||||
* @param mangaHistory list of manga history
|
||||
*/
|
||||
fun onNextManga(mangaHistory: List<RecentlyReadItem>) {
|
||||
fun onNextManga(mangaHistory: List<RecentlyReadItem>, freshList:Boolean = false) {
|
||||
val adapter = adapter ?: return
|
||||
adapter.updateDataSet(mangaHistory)
|
||||
adapter.onLoadMoreComplete(null)
|
||||
if (recentItems == null)
|
||||
if (recentItems == null || adapter.endlessTargetCount == 1)
|
||||
resetProgressItem()
|
||||
else if (freshList && mangaHistory.size == recentItems!!.size)
|
||||
onAddPageError()
|
||||
recentItems = mangaHistory.toMutableList()
|
||||
}
|
||||
|
||||
fun onAddPageError() {
|
||||
private fun onAddPageError() {
|
||||
adapter?.onLoadMoreComplete(null)
|
||||
adapter?.endlessTargetCount = 1
|
||||
}
|
||||
|
|
|
@ -55,14 +55,13 @@ class RecentlyReadPresenter(private val view: RecentlyReadController) {
|
|||
}
|
||||
|
||||
fun observe() {
|
||||
readerSubscription?.unsubscribe()
|
||||
val cal = Calendar.getInstance()
|
||||
cal.time = Date()
|
||||
cal.add(Calendar.YEAR, -50)
|
||||
readerSubscription = db.getRecentMangaLimit(cal.time, lastCount, "").asRxObservable().map {
|
||||
db.getRecentMangaLimit(cal.time, lastCount, "").asRxObservable().map {
|
||||
val items = it.map(::RecentlyReadItem)
|
||||
launchUI {
|
||||
view.onNextManga(items)
|
||||
view.onNextManga(items, false)
|
||||
}
|
||||
}.observeOn(Schedulers.io()).skip(1).take(1).subscribe()
|
||||
}
|
||||
|
|
Reference in a new issue