|
|
@ -7,6 +7,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
|
|
|
import eu.kanade.tachiyomi.data.database.models.MangaChapter
|
|
|
|
import eu.kanade.tachiyomi.data.database.models.MangaChapter
|
|
|
|
import eu.kanade.tachiyomi.data.download.DownloadManager
|
|
|
|
import eu.kanade.tachiyomi.data.download.DownloadManager
|
|
|
|
import eu.kanade.tachiyomi.data.download.model.Download
|
|
|
|
import eu.kanade.tachiyomi.data.download.model.Download
|
|
|
|
|
|
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
|
|
import eu.kanade.tachiyomi.data.source.SourceManager
|
|
|
|
import eu.kanade.tachiyomi.data.source.SourceManager
|
|
|
|
import eu.kanade.tachiyomi.event.DownloadChaptersEvent
|
|
|
|
import eu.kanade.tachiyomi.event.DownloadChaptersEvent
|
|
|
|
import eu.kanade.tachiyomi.event.ReaderEvent
|
|
|
|
import eu.kanade.tachiyomi.event.ReaderEvent
|
|
|
@ -25,6 +26,11 @@ class RecentChaptersPresenter : BasePresenter<RecentChaptersFragment>() {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Inject lateinit var db: DatabaseHelper
|
|
|
|
@Inject lateinit var db: DatabaseHelper
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Used to get settings
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Inject lateinit var preferences: PreferencesHelper
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Used to get information from download manager
|
|
|
|
* Used to get information from download manager
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -291,15 +297,16 @@ class RecentChaptersPresenter : BasePresenter<RecentChaptersFragment>() {
|
|
|
|
* *
|
|
|
|
* *
|
|
|
|
* @param read read status
|
|
|
|
* @param read read status
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
fun markChaptersRead(selectedChapters: Observable<Chapter>, read: Boolean) {
|
|
|
|
fun markChaptersRead(selectedChapters: Observable<Chapter>, manga: Manga, read: Boolean) {
|
|
|
|
add(selectedChapters
|
|
|
|
add(selectedChapters.subscribeOn(Schedulers.io())
|
|
|
|
.subscribeOn(Schedulers.io())
|
|
|
|
.doOnNext { chapter ->
|
|
|
|
.map { chapter ->
|
|
|
|
|
|
|
|
chapter.read = read
|
|
|
|
chapter.read = read
|
|
|
|
if (!read) {
|
|
|
|
if (!read) chapter.last_page_read = 0
|
|
|
|
chapter.last_page_read = 0
|
|
|
|
|
|
|
|
|
|
|
|
// Delete chapter when marked as read if desired by user.
|
|
|
|
|
|
|
|
if (preferences.removeAfterMarkedAsRead() && read) {
|
|
|
|
|
|
|
|
deleteChapter(chapter,manga)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
chapter
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.toList()
|
|
|
|
.toList()
|
|
|
|
.flatMap { chapters -> db.insertChapters(chapters).asRxObservable() }
|
|
|
|
.flatMap { chapters -> db.insertChapters(chapters).asRxObservable() }
|
|
|
|