Fix banner color with wallpapers.

This commit is contained in:
Michelle Tang
2025-12-01 16:41:56 -05:00
committed by jeffrey-signal
parent f41a0f8f97
commit 4d782491f4
3 changed files with 8 additions and 5 deletions

View File

@@ -133,7 +133,7 @@ class ConversationBannerView @JvmOverloads constructor(
hide(voiceNotePlayerStub)
}
fun showPinnedMessageStub(messages: List<ConversationMessage>, canUnpin: Boolean) {
fun showPinnedMessageStub(messages: List<ConversationMessage>, canUnpin: Boolean, hasWallpaper: Boolean) {
show(
stub = pinnedMessageStub
) {
@@ -143,6 +143,7 @@ class ConversationBannerView @JvmOverloads constructor(
PinnedMessagesBanner(
messages = messages,
canUnpin = canUnpin,
hasWallpaper = hasWallpaper,
onUnpinMessage = { messageId -> listener?.onUnpinMessage(messageId) },
onGoToMessage = { messageId -> listener?.onGoToMessage(messageId) },
onViewAllMessages = { listener?.onViewAllMessages() }

View File

@@ -1203,7 +1203,7 @@ class ConversationFragment :
.flowWithLifecycle(viewLifecycleOwner.lifecycle)
.flowOn(Dispatchers.Main)
.collect {
presentPinnedMessage(it)
presentPinnedMessage(it, args.wallpaper != null)
}
}
@@ -1350,9 +1350,9 @@ class ConversationFragment :
.addTo(disposables)
}
private fun presentPinnedMessage(pinnedMessages: List<ConversationMessage>) {
private fun presentPinnedMessage(pinnedMessages: List<ConversationMessage>, hasWallpaper: Boolean) {
if (pinnedMessages.isNotEmpty()) {
binding.conversationBanner.showPinnedMessageStub(messages = pinnedMessages, canUnpin = conversationGroupViewModel.canEditGroupInfo())
binding.conversationBanner.showPinnedMessageStub(messages = pinnedMessages, canUnpin = conversationGroupViewModel.canEditGroupInfo(), hasWallpaper = hasWallpaper)
} else {
binding.conversationBanner.hidePinnedMessageStub()
}

View File

@@ -30,6 +30,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.font.FontWeight
@@ -65,6 +66,7 @@ import kotlin.jvm.optionals.getOrDefault
fun PinnedMessagesBanner(
messages: List<ConversationMessage> = emptyList(),
canUnpin: Boolean,
hasWallpaper: Boolean,
onUnpinMessage: (Long) -> Unit = {},
onGoToMessage: (Long) -> Unit = {},
onViewAllMessages: () -> Unit = {}
@@ -81,7 +83,7 @@ fun PinnedMessagesBanner(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.fillMaxWidth()
.background(SignalTheme.colors.colorSurface2)
.background(if (hasWallpaper) colorResource(R.color.conversation_toolbar_color_wallpaper_scrolled) else SignalTheme.colors.colorSurface2)
.clickable {
index = (index + 1) % messages.size
onGoToMessage(message.id)