Fix link preview overriding edit message with media bug.
This commit is contained in:
parent
fd07ab10ee
commit
6be1413d7d
2 changed files with 7 additions and 1 deletions
|
@ -313,6 +313,7 @@ import org.thoughtcrime.securesms.util.fragments.requireListener
|
|||
import org.thoughtcrime.securesms.util.getRecordQuoteType
|
||||
import org.thoughtcrime.securesms.util.hasAudio
|
||||
import org.thoughtcrime.securesms.util.hasGiftBadge
|
||||
import org.thoughtcrime.securesms.util.hasNonTextSlide
|
||||
import org.thoughtcrime.securesms.util.isValidReactionTarget
|
||||
import org.thoughtcrime.securesms.util.savedStateViewModel
|
||||
import org.thoughtcrime.securesms.util.viewModel
|
||||
|
@ -1680,7 +1681,7 @@ class ConversationFragment :
|
|||
}
|
||||
|
||||
private fun updateLinkPreviewState() {
|
||||
if (viewModel.isPushAvailable && !attachmentManager.isAttachmentPresent && context != null) {
|
||||
if (viewModel.isPushAvailable && !attachmentManager.isAttachmentPresent && context != null && inputPanel.editMessage?.hasNonTextSlide() != true) {
|
||||
linkPreviewViewModel.onEnabled()
|
||||
linkPreviewViewModel.onTextChanged(composeText.textTrimmed.toString(), composeText.selectionStart, composeText.selectionEnd)
|
||||
} else {
|
||||
|
@ -3874,6 +3875,7 @@ class ConversationFragment :
|
|||
keyboardPagerViewModel.setOnlyPage(KeyboardPage.EMOJI)
|
||||
onKeyboardChanged(KeyboardPage.EMOJI)
|
||||
stickerViewModel.onInputTextUpdated("")
|
||||
updateLinkPreviewState()
|
||||
}
|
||||
|
||||
override fun onExitEditMode() {
|
||||
|
@ -3883,6 +3885,7 @@ class ConversationFragment :
|
|||
keyboardPagerViewModel.setPages(previousPages!!)
|
||||
previousPages = null
|
||||
}
|
||||
updateLinkPreviewState()
|
||||
}
|
||||
|
||||
override fun onQuickCameraToggleClicked() {
|
||||
|
|
|
@ -23,6 +23,9 @@ fun MessageRecord.isMediaMessage(): Boolean {
|
|||
slideDeck.stickerSlide == null
|
||||
}
|
||||
|
||||
fun MessageRecord.hasNonTextSlide(): Boolean =
|
||||
isMms && (this as MmsMessageRecord).slideDeck.slides.any { slide -> slide !is TextSlide }
|
||||
|
||||
fun MessageRecord.hasSticker(): Boolean =
|
||||
isMms && (this as MmsMessageRecord).slideDeck.stickerSlide != null
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue