From ea7a2f34262be0f33200f2c5f32483c0a7e121c2 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sun, 31 Aug 2025 12:09:01 -0400 Subject: [PATCH] Fixes live flag when the URL is not available anymore. --- .../amethyst/ui/note/types/LiveActivity.kt | 6 +++++- .../header/ShortLiveActivityChannelHeader.kt | 13 +++++++++++-- .../nip53LiveActivities/LiveActivityCard.kt | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/LiveActivity.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/LiveActivity.kt index 90949d90c..742441880 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/LiveActivity.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/LiveActivity.kt @@ -164,7 +164,11 @@ fun RenderLiveActivityEventInner( CrossfadeIfEnabled(targetState = status, label = "RenderLiveActivityEventInner", accountViewModel = accountViewModel) { when (it) { StatusTag.STATUS.LIVE -> { - media?.let { CrossfadeCheckIfVideoIsOnline(it, accountViewModel) { LiveFlag() } } + media?.let { + CrossfadeCheckIfVideoIsOnline(it, accountViewModel) { + LiveFlag() + } + } } StatusTag.STATUS.PLANNED -> { diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/nip53LiveActivities/header/ShortLiveActivityChannelHeader.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/nip53LiveActivities/header/ShortLiveActivityChannelHeader.kt index 7b61a30b6..b66031baa 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/nip53LiveActivities/header/ShortLiveActivityChannelHeader.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/chats/publicChannels/nip53LiveActivities/header/ShortLiveActivityChannelHeader.kt @@ -46,6 +46,8 @@ import com.vitorpamplona.amethyst.ui.note.UserPicture import com.vitorpamplona.amethyst.ui.note.ZapReaction import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.nip53LiveActivities.LiveFlag +import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.nip53LiveActivities.OfflineFlag +import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.CheckIfVideoIsOnline import com.vitorpamplona.amethyst.ui.theme.RowColSpacing import com.vitorpamplona.amethyst.ui.theme.Size34dp import com.vitorpamplona.amethyst.ui.theme.Size35dp @@ -130,9 +132,16 @@ fun LiveChannelActionOptions( nav: INav, ) { val isLive by remember(activity) { derivedStateOf { activity.isLive() } } + val url = activity.streaming() - if (showFlag && isLive) { - LiveFlag() + if (showFlag && isLive && url != null) { + CheckIfVideoIsOnline(url, accountViewModel) { isOnline -> + if (isOnline) { + LiveFlag() + } else { + OfflineFlag() + } + } Spacer(modifier = StdHorzSpacer) } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/nip53LiveActivities/LiveActivityCard.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/nip53LiveActivities/LiveActivityCard.kt index 63a76c3c0..26d23d396 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/nip53LiveActivities/LiveActivityCard.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/nip53LiveActivities/LiveActivityCard.kt @@ -156,7 +156,7 @@ fun RenderLiveActivityThumb( StatusTag.STATUS.LIVE -> { val url = card.media if (url.isNullOrBlank()) { - LiveFlag() + EndedFlag() } else { CheckIfVideoIsOnline(url, accountViewModel) { isOnline -> if (isOnline) {