Remove invalid track logs
This commit is contained in:
@@ -49,7 +49,7 @@ abstract class TracksDao {
|
||||
@Query("DELETE FROM tracks WHERE manga_id = :mangaId")
|
||||
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()
|
||||
|
||||
@Upsert
|
||||
|
||||
@@ -104,10 +104,8 @@ class TrackingRepository @Inject constructor(
|
||||
suspend fun clearCounters() = db.tracksDao.clearCounters()
|
||||
|
||||
suspend fun gc() {
|
||||
db.withTransaction {
|
||||
db.tracksDao.gc()
|
||||
db.trackLogsDao.gc()
|
||||
}
|
||||
db.tracksDao.gc()
|
||||
db.trackLogsDao.gc()
|
||||
}
|
||||
|
||||
suspend fun saveUpdates(updates: MangaUpdates) {
|
||||
|
||||
@@ -59,6 +59,12 @@ class FeedViewModel @Inject constructor(
|
||||
}
|
||||
}.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState))
|
||||
|
||||
init {
|
||||
launchJob(Dispatchers.Default) {
|
||||
repository.gc()
|
||||
}
|
||||
}
|
||||
|
||||
fun clearFeed(clearCounters: Boolean) {
|
||||
launchLoadingJob(Dispatchers.Default) {
|
||||
repository.clearLogs()
|
||||
|
||||
@@ -56,6 +56,12 @@ class UpdatesViewModel @Inject constructor(
|
||||
emit(listOf(it.toErrorState(canRetry = false)))
|
||||
}.stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, listOf(LoadingState))
|
||||
|
||||
init {
|
||||
launchJob(Dispatchers.Default) {
|
||||
repository.gc()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onRefresh() = Unit
|
||||
|
||||
override fun onRetry() = Unit
|
||||
|
||||
Reference in New Issue
Block a user