mirror of
				https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
				synced 2025-06-05 21:49:22 +02:00 
			
		
		
		
	Send MMS attachments separately
If the message contains text, it is sent with the last attachment.
This commit is contained in:
		| @@ -1228,8 +1228,9 @@ class ThreadActivity : SimpleActivity() { | |||||||
|             sendMessageCompat(text, addresses, subscriptionId, attachments) |             sendMessageCompat(text, addresses, subscriptionId, attachments) | ||||||
|             ensureBackgroundThread { |             ensureBackgroundThread { | ||||||
|                 val messageIds = messages.map { it.id } |                 val messageIds = messages.map { it.id } | ||||||
|                 val message = getMessages(threadId, getImageResolutions = true, limit = 1).firstOrNull { it.id !in messageIds } |                 val messages = getMessages(threadId, getImageResolutions = true, limit = maxOf(1, attachments.size)) | ||||||
|                 if (message != null) { |                     .filter { it.id !in messageIds } | ||||||
|  |                 for (message in messages) { | ||||||
|                     insertOrUpdateMessage(message) |                     insertOrUpdateMessage(message) | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -40,7 +40,16 @@ fun Context.sendMessageCompat(text: String, addresses: List<String>, subId: Int? | |||||||
|  |  | ||||||
|     val isMms = attachments.isNotEmpty() || isLongMmsMessage(text, settings) || addresses.size > 1 && settings.group |     val isMms = attachments.isNotEmpty() || isLongMmsMessage(text, settings) || addresses.size > 1 && settings.group | ||||||
|     if (isMms) { |     if (isMms) { | ||||||
|         messagingUtils.sendMmsMessage(text, addresses, attachments, settings) |         // we send all MMS attachments separately to reduces the chances of hitting provider MMS limit. | ||||||
|  |         if (attachments.size > 1) { | ||||||
|  |             for (i in 0 until attachments.lastIndex - 1) { | ||||||
|  |                 val attachment = attachments[i] | ||||||
|  |                 messagingUtils.sendMmsMessage("", addresses, listOf(attachment), settings) | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         val lastAttachment = attachments[attachments.lastIndex] | ||||||
|  |         messagingUtils.sendMmsMessage(text, addresses, listOf(lastAttachment), settings) | ||||||
|     } else { |     } else { | ||||||
|         try { |         try { | ||||||
|             messagingUtils.sendSmsMessage(text, addresses.toSet(), settings.subscriptionId, settings.deliveryReports) |             messagingUtils.sendSmsMessage(text, addresses.toSet(), settings.subscriptionId, settings.deliveryReports) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user