diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/db/dao/PreferencesDao.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/db/dao/PreferencesDao.kt index d79b37b3a..e03f9de44 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/db/dao/PreferencesDao.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/db/dao/PreferencesDao.kt @@ -1,6 +1,8 @@ package org.koitharu.kotatsu.core.db.dao -import androidx.room.* +import androidx.room.Dao +import androidx.room.Query +import androidx.room.Upsert import kotlinx.coroutines.flow.Flow import org.koitharu.kotatsu.core.db.entity.MangaPrefsEntity @@ -13,6 +15,9 @@ abstract class PreferencesDao { @Query("SELECT * FROM preferences WHERE manga_id = :mangaId") abstract fun observe(mangaId: Long): Flow + @Query("UPDATE preferences SET cf_brightness = 0, cf_contrast = 0, cf_invert = 0, cf_grayscale = 0") + abstract suspend fun resetColorFilters() + @Upsert abstract suspend fun upsert(pref: MangaPrefsEntity) } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/MangaDataRepository.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/MangaDataRepository.kt index 0388bdc59..25be07122 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/MangaDataRepository.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/parser/MangaDataRepository.kt @@ -52,6 +52,10 @@ class MangaDataRepository @Inject constructor( } } + suspend fun resetColorFilters() { + db.getPreferencesDao().resetColorFilters() + } + suspend fun getReaderMode(mangaId: Long): ReaderMode? { return db.getPreferencesDao().find(mangaId)?.let { ReaderMode.valueOf(it.mode) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigViewModel.kt index 0d38b4738..91cc435a6 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigViewModel.kt @@ -73,9 +73,7 @@ class ColorFilterConfigViewModel @Inject constructor( fun saveGlobally() { launchLoadingJob(Dispatchers.Default) { settings.readerColorFilter = colorFilter.value - if (mangaDataRepository.getColorFilter(manga.id) != null) { - mangaDataRepository.saveColorFilter(manga, colorFilter.value) - } + mangaDataRepository.resetColorFilters() onDismiss.call(Unit) } }