diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/AntiSpamFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/AntiSpamFilter.kt index 62c190b10..0bd42bd4e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/AntiSpamFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/AntiSpamFilter.kt @@ -76,7 +76,11 @@ class AntiSpamLiveData(val cache: AntiSpamFilter) : LiveData(Anti private val bundler = BundledUpdate(300, Dispatchers.IO) fun invalidateData() { + checkNotInMainThread() + bundler.invalidate() { + checkNotInMainThread() + if (hasActiveObservers()) { postValue(AntiSpamState(cache)) } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Channel.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Channel.kt index d84817b8d..47559be95 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Channel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Channel.kt @@ -3,6 +3,7 @@ package com.vitorpamplona.amethyst.model import androidx.compose.runtime.Stable import androidx.lifecycle.LiveData import com.vitorpamplona.amethyst.service.NostrSingleChannelDataSource +import com.vitorpamplona.amethyst.service.checkNotInMainThread import com.vitorpamplona.amethyst.service.model.ATag import com.vitorpamplona.amethyst.service.model.ChannelCreateEvent import com.vitorpamplona.amethyst.service.model.LiveActivitiesEvent @@ -145,7 +146,10 @@ class ChannelLiveData(val channel: Channel) : LiveData(ChannelStat private val bundler = BundledUpdate(300, Dispatchers.IO) fun invalidateData() { + checkNotInMainThread() + bundler.invalidate() { + checkNotInMainThread() if (hasActiveObservers()) { postValue(ChannelState(channel)) } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt index 69758e4dc..8cc2910f7 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt @@ -556,7 +556,11 @@ class NoteLiveData(val note: Note) : LiveData(NoteState(note)) { private val bundler = BundledUpdate(500, Dispatchers.IO) fun invalidateData() { + checkNotInMainThread() + bundler.invalidate() { + checkNotInMainThread() + if (hasActiveObservers()) { postValue(NoteState(note)) } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt index 141de4ed5..8609e6e55 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/User.kt @@ -462,7 +462,11 @@ class UserLiveData(val user: User) : LiveData(UserState(user)) { private val bundler = BundledUpdate(500, Dispatchers.IO) fun invalidateData() { + checkNotInMainThread() + bundler.invalidate() { + checkNotInMainThread() + if (hasActiveObservers()) { postValue(UserState(user)) }