Reset new chapters on reading

This commit is contained in:
Koitharu
2020-04-25 17:17:50 +03:00
parent 0d0982b244
commit f95cf9b231
4 changed files with 16 additions and 17 deletions

View File

@@ -17,6 +17,7 @@ import java.util.*
class HistoryRepository : KoinComponent {
private val db: MangaDatabase by inject()
private val trackingRepository by lazy(::TrackingRepository)
suspend fun getList(offset: Int, limit: Int = 20): List<Manga> {
val entities = db.historyDao.findAll(offset, limit)
@@ -28,19 +29,17 @@ class HistoryRepository : KoinComponent {
db.withTransaction {
db.tagsDao.upsert(tags)
db.mangaDao.upsert(MangaEntity.from(manga), tags)
if (db.historyDao.upsert(
HistoryEntity(
mangaId = manga.id,
createdAt = System.currentTimeMillis(),
updatedAt = System.currentTimeMillis(),
chapterId = chapterId,
page = page,
scroll = scroll
)
db.historyDao.upsert(
HistoryEntity(
mangaId = manga.id,
createdAt = System.currentTimeMillis(),
updatedAt = System.currentTimeMillis(),
chapterId = chapterId,
page = page,
scroll = scroll
)
) {
TrackingRepository().insertOrNothing(manga)
}
)
trackingRepository.upsert(manga)
}
notifyHistoryChanged()
}

View File

@@ -52,7 +52,7 @@ class TrackingRepository : KoinComponent {
db.tracksDao.upsert(entity)
}
suspend fun insertOrNothing(manga: Manga) {
suspend fun upsert(manga: Manga) {
val chapters = manga.chapters ?: return
val entity = TrackEntity(
mangaId = manga.id,
@@ -62,6 +62,6 @@ class TrackingRepository : KoinComponent {
lastCheck = System.currentTimeMillis(),
lastNotifiedChapterId = 0L
)
db.tracksDao.insert(entity)
db.tracksDao.upsert(entity)
}
}