mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 13:08:46 +00:00
Allow badge to update in toolbar when user changes their featured badge.
This commit is contained in:
@@ -67,6 +67,10 @@ import androidx.compose.ui.semantics.contentDescription
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.rx3.asFlow
|
||||
import org.signal.core.ui.compose.DropdownMenus
|
||||
import org.signal.core.ui.compose.IconButtons
|
||||
import org.signal.core.ui.compose.Previews
|
||||
@@ -75,6 +79,7 @@ import org.signal.core.ui.compose.TextFields
|
||||
import org.signal.core.ui.compose.Tooltips
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.avatar.AvatarImage
|
||||
import org.thoughtcrime.securesms.badges.models.Badge
|
||||
import org.thoughtcrime.securesms.calls.log.CallLogFilter
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.BadgeImageSmall
|
||||
import org.thoughtcrime.securesms.conversationlist.model.ConversationFilter
|
||||
@@ -348,8 +353,19 @@ private fun PrimaryToolbar(
|
||||
}
|
||||
)
|
||||
|
||||
var badge by remember { mutableStateOf<Badge?>(null) }
|
||||
LaunchedEffect(state.self.id) {
|
||||
Recipient.observable(state.self.id)
|
||||
.asFlow()
|
||||
.map { it.featuredBadge }
|
||||
.distinctUntilChanged()
|
||||
.collectLatest {
|
||||
badge = it
|
||||
}
|
||||
}
|
||||
|
||||
BadgeImageSmall(
|
||||
badge = state.self.featuredBadge,
|
||||
badge = badge,
|
||||
modifier = Modifier
|
||||
.padding(start = 14.dp, top = 16.dp)
|
||||
.size(16.dp)
|
||||
|
||||
Reference in New Issue
Block a user