Remove invalid track logs
This commit is contained in:
@@ -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,10 +104,8 @@ 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) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user