Merge pull request #3123 from element-hq/feature/fga/fix_timeline_text_item_not_refreshed
Timeline : fix text item not refreshed when content change
This commit is contained in:
commit
aabd51aec4
1 changed files with 18 additions and 19 deletions
|
|
@ -74,17 +74,17 @@ fun TimelineItemTextView(
|
|||
internal fun getTextWithResolvedMentions(content: TimelineItemTextBasedContent): CharSequence {
|
||||
val userProfileCache = LocalRoomMemberProfilesCache.current
|
||||
val lastCacheUpdate by userProfileCache.lastCacheUpdate.collectAsState()
|
||||
val formattedBody = remember(content.htmlBody, lastCacheUpdate) {
|
||||
updateMentionSpans(content.formattedBody, userProfileCache)
|
||||
SpannableString(content.formattedBody ?: content.body)
|
||||
val formattedBody = remember(content.formattedBody, lastCacheUpdate) {
|
||||
content.formattedBody?.let { formattedBody ->
|
||||
updateMentionSpans(formattedBody, userProfileCache)
|
||||
formattedBody
|
||||
}
|
||||
}
|
||||
return SpannableString(formattedBody ?: content.body)
|
||||
}
|
||||
|
||||
return formattedBody
|
||||
}
|
||||
|
||||
private fun updateMentionSpans(text: CharSequence?, cache: RoomMemberProfilesCache): Boolean {
|
||||
private fun updateMentionSpans(text: CharSequence, cache: RoomMemberProfilesCache): Boolean {
|
||||
var changedContents = false
|
||||
if (text != null) {
|
||||
for (mentionSpan in text.getMentionSpans()) {
|
||||
when (mentionSpan.type) {
|
||||
MentionSpan.Type.USER -> {
|
||||
|
|
@ -100,7 +100,6 @@ private fun updateMentionSpans(text: CharSequence?, cache: RoomMemberProfilesCac
|
|||
MentionSpan.Type.ROOM -> Unit
|
||||
}
|
||||
}
|
||||
}
|
||||
return changedContents
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue