diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt index d528e4726..3176e64f4 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/NoteCompose.kt @@ -3639,8 +3639,10 @@ fun RenderLiveActivityEventInner(baseNote: Note, accountViewModel: AccountViewMo var isOnline by remember { mutableStateOf(false) } LaunchedEffect(key1 = media) { - launch(Dispatchers.IO) { - isOnline = OnlineChecker.isOnline(media) + accountViewModel.checkIsOnline(media) { newIsOnline -> + if (isOnline != newIsOnline) { + isOnline = newIsOnline + } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 0cf0c98bd..50de63265 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -735,6 +735,12 @@ class AccountViewModel(val account: Account) : ViewModel(), Dao { } } + fun checkIsOnline(media: String?, onDone: (Boolean) -> Unit) { + viewModelScope.launch(Dispatchers.IO) { + onDone(OnlineChecker.isOnline(media)) + } + } + fun refreshMarkAsReadObservers() { updateNotificationDots() accountMarkAsReadUpdates.value++