Finishing the refactoring of Optout filters
This commit is contained in:
@@ -1,9 +0,0 @@
|
|||||||
package com.vitorpamplona.amethyst
|
|
||||||
|
|
||||||
object OptOutFromFilters {
|
|
||||||
var filterSpamFromStrangers: Boolean = true
|
|
||||||
|
|
||||||
fun start(filterSpam: Boolean) {
|
|
||||||
filterSpamFromStrangers = filterSpam
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -64,7 +64,7 @@ class ServiceManager {
|
|||||||
|
|
||||||
// Resets Proxy Use
|
// Resets Proxy Use
|
||||||
HttpClient.start(account?.proxy)
|
HttpClient.start(account?.proxy)
|
||||||
OptOutFromFilters.start(account?.filterSpamFromStrangers ?: true)
|
LocalCache.antiSpam.active = account?.filterSpamFromStrangers ?: true
|
||||||
Coil.setImageLoader {
|
Coil.setImageLoader {
|
||||||
Amethyst.instance.imageLoaderBuilder().components {
|
Amethyst.instance.imageLoaderBuilder().components {
|
||||||
if (Build.VERSION.SDK_INT >= 28) {
|
if (Build.VERSION.SDK_INT >= 28) {
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import androidx.lifecycle.asLiveData
|
|||||||
import androidx.lifecycle.liveData
|
import androidx.lifecycle.liveData
|
||||||
import androidx.lifecycle.switchMap
|
import androidx.lifecycle.switchMap
|
||||||
import com.vitorpamplona.amethyst.Amethyst
|
import com.vitorpamplona.amethyst.Amethyst
|
||||||
import com.vitorpamplona.amethyst.OptOutFromFilters
|
|
||||||
import com.vitorpamplona.amethyst.service.FileHeader
|
import com.vitorpamplona.amethyst.service.FileHeader
|
||||||
import com.vitorpamplona.amethyst.service.Nip96MediaServers
|
import com.vitorpamplona.amethyst.service.Nip96MediaServers
|
||||||
import com.vitorpamplona.amethyst.service.NostrLnZapPaymentResponseDataSource
|
import com.vitorpamplona.amethyst.service.NostrLnZapPaymentResponseDataSource
|
||||||
@@ -426,7 +425,7 @@ class Account(
|
|||||||
fun updateOptOutOptions(warnReports: Boolean, filterSpam: Boolean) {
|
fun updateOptOutOptions(warnReports: Boolean, filterSpam: Boolean) {
|
||||||
warnAboutPostsWithReports = warnReports
|
warnAboutPostsWithReports = warnReports
|
||||||
filterSpamFromStrangers = filterSpam
|
filterSpamFromStrangers = filterSpam
|
||||||
OptOutFromFilters.start(filterSpamFromStrangers)
|
LocalCache.antiSpam.active = filterSpamFromStrangers
|
||||||
if (!filterSpamFromStrangers) {
|
if (!filterSpamFromStrangers) {
|
||||||
transientHiddenUsers = persistentSetOf()
|
transientHiddenUsers = persistentSetOf()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import android.util.Log
|
|||||||
import android.util.LruCache
|
import android.util.LruCache
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import com.vitorpamplona.amethyst.OptOutFromFilters
|
|
||||||
import com.vitorpamplona.amethyst.service.checkNotInMainThread
|
import com.vitorpamplona.amethyst.service.checkNotInMainThread
|
||||||
import com.vitorpamplona.amethyst.service.relays.Relay
|
import com.vitorpamplona.amethyst.service.relays.Relay
|
||||||
import com.vitorpamplona.amethyst.ui.components.BundledUpdate
|
import com.vitorpamplona.amethyst.ui.components.BundledUpdate
|
||||||
@@ -19,10 +18,12 @@ class AntiSpamFilter {
|
|||||||
val recentMessages = LruCache<Int, String>(1000)
|
val recentMessages = LruCache<Int, String>(1000)
|
||||||
val spamMessages = LruCache<Int, Spammer>(1000)
|
val spamMessages = LruCache<Int, Spammer>(1000)
|
||||||
|
|
||||||
|
var active: Boolean = true
|
||||||
|
|
||||||
fun isSpam(event: Event, relay: Relay?): Boolean {
|
fun isSpam(event: Event, relay: Relay?): Boolean {
|
||||||
checkNotInMainThread()
|
checkNotInMainThread()
|
||||||
|
|
||||||
if (!OptOutFromFilters.filterSpamFromStrangers) return false
|
if (!active) return false
|
||||||
|
|
||||||
val idHex = event.id
|
val idHex = event.id
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user