Cleanup EhFilter

This commit is contained in:
tarsin committed 2023-07-01 11:29:10 +08:00
1 parent 043a1d8fe7
commit ef891ea23d
1 file changed
+6 -28
@@ -15,7 +15,6 @@
*/
package com.hippo.ehviewer.client
import android.util.Log
import androidx.compose.runtime.mutableStateListOf
import arrow.core.memoize
import com.hippo.ehviewer.EhDB
@@ -39,7 +38,6 @@ object EhFilter {
const val MODE_TAG_NAMESPACE = 3
const val MODE_COMMENTER = 4
const val MODE_COMMENT = 5
private const val TAG = "EhFilter"
init {
EhDB.allFilter.forEach(::memorizeFilter)
@@ -47,39 +45,19 @@ object EhFilter {
private fun memorizeFilter(filter: Filter) {
when (filter.mode) {
MODE_TITLE -> {
filter.text = filter.text.lowercase()
titleFilterList.add(filter)
}
MODE_TAG -> {
filter.text = filter.text.lowercase()
tagFilterList.add(filter)
}
MODE_TAG_NAMESPACE -> {
filter.text = filter.text.lowercase()
tagNamespaceFilterList.add(filter)
}
MODE_TITLE -> titleFilterList.add(filter.apply { text = text.lowercase() })
MODE_TAG -> tagFilterList.add(filter.apply { text = text.lowercase() })
MODE_TAG_NAMESPACE -> tagNamespaceFilterList.add(filter.apply { text = text.lowercase() })
MODE_UPLOADER -> uploaderFilterList.add(filter)
MODE_COMMENTER -> commenterFilterList.add(filter)
MODE_COMMENT -> commentFilterList.add(filter)
else -> Log.d(TAG, "Unknown mode: " + filter.mode)
else -> error("Unknown mode: " + filter.mode)
}
}
@Synchronized
fun addFilter(filter: Filter): Boolean {
filter.enable = true
if (!EhDB.addFilter(filter)) return false
memorizeFilter(filter)
return true
}
fun addFilter(filter: Filter) = EhDB.addFilter(filter).also { if (it) memorizeFilter(filter) }
fun triggerFilter(filter: Filter) = EhDB.triggerFilter(filter)
@Synchronized
fun deleteFilter(filter: Filter) {
EhDB.deleteFilter(filter)
when (filter.mode) {
@@ -89,7 +67,7 @@ object EhFilter {
MODE_UPLOADER -> uploaderFilterList.remove(filter)
MODE_COMMENTER -> commenterFilterList.remove(filter)
MODE_COMMENT -> commentFilterList.remove(filter)
else -> Log.d(TAG, "Unknown mode: " + filter.mode)
else -> error("Unknown mode: " + filter.mode)
}
}