Merge pull request #707 from esensar/fix/554-duplicate-resent-messages
Prevent duplication of messages on resend
This commit is contained in:
commit
96c8b4b1ec
4 changed files with 41 additions and 13 deletions
|
|
@ -107,6 +107,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
private var wasProtectionHandled = false
|
||||
|
||||
private var isScheduledMessage: Boolean = false
|
||||
private var messageToResend: Long? = null
|
||||
private var scheduledMessage: Message? = null
|
||||
private lateinit var scheduledDateTime: DateTime
|
||||
|
||||
|
|
@ -291,6 +292,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
super.onActivityResult(requestCode, resultCode, resultData)
|
||||
if (resultCode != Activity.RESULT_OK) return
|
||||
val data = resultData?.data
|
||||
messageToResend = null
|
||||
|
||||
if (requestCode == CAPTURE_PHOTO_INTENT && capturedImageUri != null) {
|
||||
addAttachment(capturedImageUri!!)
|
||||
|
|
@ -492,7 +494,10 @@ class ThreadActivity : SimpleActivity() {
|
|||
private fun handleItemClick(any: Any) {
|
||||
when {
|
||||
any is Message && any.isScheduled -> showScheduledMessageInfo(any)
|
||||
any is ThreadError -> thread_type_message.setText(any.messageText)
|
||||
any is ThreadError -> {
|
||||
thread_type_message.setText(any.messageText)
|
||||
messageToResend = any.messageId
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -635,6 +640,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
|
||||
thread_send_message.isClickable = false
|
||||
thread_type_message.onTextChangeListener {
|
||||
messageToResend = null
|
||||
checkSendMessageAvailability()
|
||||
val messageString = if (config.useSimpleCharacters) {
|
||||
it.normalizeString()
|
||||
|
|
@ -1334,7 +1340,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
|
||||
try {
|
||||
refreshedSinceSent = false
|
||||
sendMessageCompat(text, addresses, subscriptionId, attachments)
|
||||
sendMessageCompat(text, addresses, subscriptionId, attachments, messageToResend)
|
||||
ensureBackgroundThread {
|
||||
val messageIds = messages.map { it.id }
|
||||
val messages = getMessages(threadId, getImageResolutions = true, limit = maxOf(1, attachments.size))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue