Remove invalid track logs

pull/438/head
Koitharu 3 years ago
parent cf9aab9afe
commit 6cc13784e4
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -49,7 +49,7 @@ abstract class TracksDao {
@Query("DELETE FROM tracks WHERE manga_id = :mangaId") @Query("DELETE FROM tracks WHERE manga_id = :mangaId")
abstract suspend fun delete(mangaId: Long) abstract suspend fun delete(mangaId: Long)
@Query("DELETE FROM tracks WHERE manga_id NOT IN (SELECT manga_id FROM history UNION SELECT manga_id FROM favourites)") @Query("DELETE FROM tracks WHERE manga_id NOT IN (SELECT manga_id FROM history UNION SELECT manga_id FROM favourites WHERE category_id IN (SELECT category_id FROM favourite_categories WHERE track = 1))")
abstract suspend fun gc() abstract suspend fun gc()
@Upsert @Upsert

@ -104,11 +104,9 @@ class TrackingRepository @Inject constructor(
suspend fun clearCounters() = db.tracksDao.clearCounters() suspend fun clearCounters() = db.tracksDao.clearCounters()
suspend fun gc() { suspend fun gc() {
db.withTransaction {
db.tracksDao.gc() db.tracksDao.gc()
db.trackLogsDao.gc() db.trackLogsDao.gc()
} }
}
suspend fun saveUpdates(updates: MangaUpdates) { suspend fun saveUpdates(updates: MangaUpdates) {
db.withTransaction { db.withTransaction {

@ -59,6 +59,12 @@ class FeedViewModel @Inject constructor(
} }
}.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState)) }.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState))
init {
launchJob(Dispatchers.Default) {
repository.gc()
}
}
fun clearFeed(clearCounters: Boolean) { fun clearFeed(clearCounters: Boolean) {
launchLoadingJob(Dispatchers.Default) { launchLoadingJob(Dispatchers.Default) {
repository.clearLogs() repository.clearLogs()

@ -56,6 +56,12 @@ class UpdatesViewModel @Inject constructor(
emit(listOf(it.toErrorState(canRetry = false))) emit(listOf(it.toErrorState(canRetry = false)))
}.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState)) }.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState))
init {
launchJob(Dispatchers.Default) {
repository.gc()
}
}
override fun onRefresh() = Unit override fun onRefresh() = Unit
override fun onRetry() = Unit override fun onRetry() = Unit

Loading…
Cancel
Save