diff --git a/app/src/main/java/com/hippo/ehviewer/EhDB.kt b/app/src/main/java/com/hippo/ehviewer/EhDB.kt index e209f8827..aa9212e03 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhDB.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhDB.kt @@ -279,8 +279,7 @@ object EhDB { db.filterDao().delete(filter) } - suspend fun triggerFilter(filter: Filter) { - filter.enable = !filter.enable + suspend fun updateFilter(filter: Filter) { db.filterDao().update(filter) } diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhFilter.kt b/app/src/main/java/com/hippo/ehviewer/client/EhFilter.kt index 80c180a9b..318cef51a 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhFilter.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhFilter.kt @@ -23,7 +23,10 @@ object EhFilter : CoroutineScope { fun Filter.remember(callback: ((Boolean) -> Unit)? = null) = launchOps(callback) { EhDB.addFilter(this).also { if (it) filters.await().add(this) } } - fun Filter.trigger(callback: ((Unit) -> Unit)? = null) = launchOps(callback) { EhDB.triggerFilter(this) } + fun Filter.trigger(callback: ((Unit) -> Unit)? = null) = launchOps(callback) { + enable = !enable + EhDB.updateFilter(this) + } fun Filter.forget(callback: ((Unit) -> Unit)? = null) = launchOps(callback) { EhDB.deleteFilter(this) filters.await().remove(this)