Skip to content

Commit

Permalink
Merge branch 'develop' into team_upgrade_countly
Browse files Browse the repository at this point in the history
  • Loading branch information
ohassine authored Oct 24, 2024
2 parents b1e30c7 + ffc0f67 commit 48479aa
Show file tree
Hide file tree
Showing 11 changed files with 32 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ import com.wire.kalium.logic.data.message.DeliveryStatus
import com.wire.kalium.logic.data.message.Message
import com.wire.kalium.logic.data.message.MessageContent
import com.wire.kalium.logic.data.message.MessageContent.Asset
import com.wire.kalium.logic.data.message.hasValidData
import com.wire.kalium.logic.data.user.AssetId
import com.wire.kalium.logic.data.user.SelfUser
import com.wire.kalium.logic.data.user.User
import com.wire.kalium.logic.sync.receiver.conversation.message.hasValidRemoteData
import com.wire.kalium.logic.util.isGreaterThan
import kotlinx.collections.immutable.toPersistentList
import kotlinx.collections.immutable.toPersistentMap
Expand Down Expand Up @@ -239,7 +239,8 @@ class RegularMessageMapper @Inject constructor(
with(assetMessageContentMetadata.assetMessageContent) {
when {
// If some of image data are still missing, we mark it as incomplete which won't be shown until we get missing data
assetMessageContentMetadata.isIncompleteImage() -> {
// But we also check if isnt our own message, if its our own, most likely the there was an error sending the image.
assetMessageContentMetadata.isIncompleteImage() && sender !is SelfUser -> {
UIMessageContent.IncompleteAssetMessage
}

Expand Down Expand Up @@ -306,7 +307,7 @@ class AssetMessageContentMetadata(val assetMessageContent: AssetContent) {

// Sometimes client receives two events for the same asset, first one with only part of the data ("preview" type from web),
// so such asset shouldn't be shown until all the required data is received.
fun isIncompleteImage(): Boolean = isDisplayableImage() && !assetMessageContent.hasValidRemoteData()
fun isIncompleteImage(): Boolean = isDisplayableImage() && !assetMessageContent.remoteData.hasValidData()
}

private fun String?.orUnknownName(): UIText = when {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ fun ConversationScreen(
val messageComposerStateHolder = rememberMessageComposerStateHolder(
messageComposerViewState = messageComposerViewState,
draftMessageComposition = messageDraftViewModel.state.value,
onClearDraft = messageDraftViewModel::clearDraft,
onSaveDraft = messageComposerViewModel::saveDraft,
onSearchMentionQueryChanged = messageComposerViewModel::searchMembersToMention,
onTypingEvent = messageComposerViewModel::sendTypingEvent,
Expand Down Expand Up @@ -1373,6 +1374,7 @@ fun PreviewConversationScreen() = WireTheme {
val messageComposerStateHolder = rememberMessageComposerStateHolder(
messageComposerViewState = messageComposerViewState,
draftMessageComposition = messageCompositionState.value,
onClearDraft = {},
onSaveDraft = {},
onTypingEvent = {},
onSearchMentionQueryChanged = {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ class MessageDraftViewModel @Inject constructor(
loadMessageDraft()
}

fun clearDraft() {
viewModelScope.launch {
state.update {
MessageComposition(conversationId, String.EMPTY)
}
}
}

private fun loadMessageDraft() {
viewModelScope.launch {
val draftResult = getMessageDraft(conversationId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,12 @@ fun HighlightName(
modifier: Modifier = Modifier
) {

val queryWithoutSuffix = searchQuery.removeQueryPrefix()

val highlightIndexes = QueryMatchExtractor.extractQueryMatchIndexes(
matchText = queryWithoutSuffix,
matchText = searchQuery,
text = name
)

if (queryWithoutSuffix != String.EMPTY && highlightIndexes.isNotEmpty()) {
if (searchQuery != String.EMPTY && highlightIndexes.isNotEmpty()) {
Text(
buildAnnotatedString {
withStyle(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ fun HighlightSubtitle(
return
}

val queryWithoutSuffix = searchQuery.removeQueryPrefix()
val subtitleWithPrefix = "$prefix$subTitle"

val highlightIndexes = QueryMatchExtractor.extractQueryMatchIndexes(
matchText = queryWithoutSuffix,
text = subTitle
matchText = searchQuery,
text = subtitleWithPrefix
)

if (queryWithoutSuffix != String.EMPTY && highlightIndexes.isNotEmpty()) {
if (searchQuery != String.EMPTY && highlightIndexes.isNotEmpty()) {
Text(
buildAnnotatedString {
withStyle(
Expand All @@ -59,7 +59,7 @@ fun HighlightSubtitle(
fontStyle = MaterialTheme.wireTypography.subline01.fontStyle
)
) {
append("$prefix$subTitle")
append(subtitleWithPrefix)
}

highlightIndexes
Expand All @@ -70,8 +70,8 @@ fun HighlightSubtitle(
background = MaterialTheme.wireColorScheme.highlight,
color = MaterialTheme.wireColorScheme.onHighlight,
),
start = highLightIndex.startIndex + prefix.length,
end = highLightIndex.endIndex + prefix.length
start = highLightIndex.startIndex,
end = highLightIndex.endIndex
)
}
}
Expand All @@ -81,7 +81,7 @@ fun HighlightSubtitle(
)
} else {
Text(
text = "$prefix$subTitle",
text = subtitleWithPrefix,
style = MaterialTheme.wireTypography.subline01,
color = MaterialTheme.wireColorScheme.secondaryText,
maxLines = 1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ fun MessageComposer(
onSendMessageBundle(messageCompositionHolder.toMessageBundle(conversationId))
onClearMentionSearchResult()
clearMessage()
messageCompositionHolder.onClearDraft()
},
onPingOptionClicked = onPingOptionClicked,
onImagesPicked = onImagesPicked,
Expand Down Expand Up @@ -265,6 +266,7 @@ private fun BaseComposerPreview(
messageCompositionHolder = MessageCompositionHolder(
messageComposition = messageComposition,
messageTextState = messageTextState,
onClearDraft = {},
onSaveDraft = {},
onSearchMentionQueryChanged = {},
onClearMentionSearchResult = {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import com.wire.kalium.logic.data.message.mention.MessageMention
fun rememberMessageComposerStateHolder(
messageComposerViewState: State<MessageComposerViewState>,
draftMessageComposition: MessageComposition,
onClearDraft: () -> Unit,
onSaveDraft: (MessageDraft) -> Unit,
onSearchMentionQueryChanged: (String) -> Unit,
onClearMentionSearchResult: () -> Unit,
Expand All @@ -62,6 +63,7 @@ fun rememberMessageComposerStateHolder(
MessageCompositionHolder(
messageComposition = messageComposition,
messageTextState = messageTextState,
onClearDraft = onClearDraft,
onSaveDraft = onSaveDraft,
onSearchMentionQueryChanged = onSearchMentionQueryChanged,
onClearMentionSearchResult = onClearMentionSearchResult,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged
class MessageCompositionHolder(
val messageComposition: MutableState<MessageComposition>,
val messageTextState: TextFieldState,
val onClearDraft: () -> Unit,
private val onSaveDraft: (MessageDraft) -> Unit,
private val onSearchMentionQueryChanged: (String) -> Unit,
private val onClearMentionSearchResult: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ class MessageComposerStateHolderTest {
messageCompositionHolder = MessageCompositionHolder(
messageComposition = messageComposition,
messageTextState = messageTextState,
onClearDraft = {},
onSaveDraft = {},
onSearchMentionQueryChanged = {},
onClearMentionSearchResult = {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class MessageCompositionHolderTest {
state = MessageCompositionHolder(
messageComposition = messageComposition,
messageTextState = messageTextState,
onClearDraft = {},
onSaveDraft = {},
onSearchMentionQueryChanged = {},
onClearMentionSearchResult = {},
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ androidx-compose-runtime = "1.7.1"
compose-qr = "1.0.1"

# Compose
composeBom = "2024.09.01"
composeBom = "2024.10.00"
compose-activity = "1.9.2"
compose-compiler = "1.5.13"
compose-constraint = "1.0.1"
Expand Down

0 comments on commit 48479aa

Please sign in to comment.