Use 'application/txt' when sending text files

This commit is contained in:
Naveen 2022-11-07 15:35:57 +05:30
parent 40a77118bf
commit 1e67cd0fdf
3 changed files with 15 additions and 2 deletions

View File

@ -901,7 +901,11 @@ class ThreadActivity : SimpleActivity() {
} }
thread_attachments_recyclerview.beVisible() thread_attachments_recyclerview.beVisible()
val mimeType = contentResolver.getType(uri).orEmpty() val mimeType = contentResolver.getType(uri)
if (mimeType == null) {
toast(R.string.unknown_error_occurred)
return
}
val attachment = AttachmentSelection( val attachment = AttachmentSelection(
id = id, id = id,
uri = uri, uri = uri,

View File

@ -43,3 +43,7 @@ fun String.isPdfMimeType(): Boolean {
fun String.isZipMimeType(): Boolean { fun String.isZipMimeType(): Boolean {
return lowercase().endsWith("zip") return lowercase().endsWith("zip")
} }
fun String.isPlainTextMimeType(): Boolean {
return lowercase().startsWith("text")
}

View File

@ -14,6 +14,7 @@ import com.simplemobiletools.commons.extensions.showErrorToast
import com.simplemobiletools.commons.helpers.isMarshmallowPlus import com.simplemobiletools.commons.helpers.isMarshmallowPlus
import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.config import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.isPlainTextMimeType
import com.simplemobiletools.smsmessenger.models.Attachment import com.simplemobiletools.smsmessenger.models.Attachment
import com.simplemobiletools.smsmessenger.models.Message import com.simplemobiletools.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.receivers.ScheduledMessageReceiver import com.simplemobiletools.smsmessenger.receivers.ScheduledMessageReceiver
@ -49,7 +50,11 @@ fun Context.sendMessage(text: String, addresses: List<String>, subscriptionId: I
val uri = attachment.getUri() val uri = attachment.getUri()
contentResolver.openInputStream(uri)?.use { contentResolver.openInputStream(uri)?.use {
val bytes = it.readBytes() val bytes = it.readBytes()
val mimeType = contentResolver.getType(uri) ?: return@use val mimeType = if (attachment.mimetype.isPlainTextMimeType()) {
"application/txt"
} else {
attachment.mimetype
}
val name = attachment.filename val name = attachment.filename
message.addMedia(bytes, mimeType, name, name) message.addMedia(bytes, mimeType, name, name)
} }