Persist sub id when sending sms messages

This commit is contained in:
Naveen
2022-11-21 21:00:26 +05:30
parent 75bbd5ea0e
commit e0787d7c83
2 changed files with 0 additions and 24 deletions

View File

@ -1116,7 +1116,6 @@ class ThreadActivity : SimpleActivity() {
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 message = getMessages(threadId, getImageResolutions = true, limit = 1).firstOrNull { it.id !in messageIds }
if (message != null) { if (message != null) {
maybeUpdateMessageSubId(message)
insertOrUpdateMessage(message) insertOrUpdateMessage(message)
} }
} }
@ -1306,7 +1305,6 @@ class ThreadActivity : SimpleActivity() {
} }
messages.filter { !it.isScheduled && !it.isReceivedMessage() && it.id > lastMaxId }.forEach { latestMessage -> messages.filter { !it.isScheduled && !it.isReceivedMessage() && it.id > lastMaxId }.forEach { latestMessage ->
maybeUpdateMessageSubId(latestMessage)
messagesDB.insertOrIgnore(latestMessage) messagesDB.insertOrIgnore(latestMessage)
} }
@ -1316,18 +1314,6 @@ class ThreadActivity : SimpleActivity() {
} }
} }
@SuppressLint("MissingPermission")
private fun maybeUpdateMessageSubId(message: Message) {
// subscriptionIds seem to be not filled out at sending with multiple SIM cards, so fill it manually
if ((subscriptionManagerCompat().activeSubscriptionInfoList?.size ?: 0) > 1) {
val subscriptionId = availableSIMCards.getOrNull(currentSIMCardIndex)?.subscriptionId
if (subscriptionId != null) {
updateMessageSubscriptionId(message.id, subscriptionId)
message.subscriptionId = subscriptionId
}
}
}
private fun isMmsMessage(text: String): Boolean { private fun isMmsMessage(text: String): Boolean {
val isGroupMms = participants.size > 1 && config.sendGroupMessageMMS val isGroupMms = participants.size > 1 && config.sendGroupMessageMMS
val isLongMmsMessage = isLongMmsMessage(text) && config.sendLongMessageMMS val isLongMmsMessage = isLongMmsMessage(text) && config.sendLongMessageMMS

View File

@ -676,16 +676,6 @@ fun Context.updateMessageStatus(id: Long, status: Int) {
contentResolver.update(uri, contentValues, selection, selectionArgs) contentResolver.update(uri, contentValues, selection, selectionArgs)
} }
fun Context.updateMessageSubscriptionId(messageId: Long, subscriptionId: Int) {
val uri = Sms.CONTENT_URI
val contentValues = ContentValues().apply {
put(Sms.SUBSCRIPTION_ID, subscriptionId)
}
val selection = "${Sms._ID} = ?"
val selectionArgs = arrayOf(messageId.toString())
contentResolver.update(uri, contentValues, selection, selectionArgs)
}
fun Context.updateUnreadCountBadge(conversations: List<Conversation>) { fun Context.updateUnreadCountBadge(conversations: List<Conversation>) {
val unreadCount = conversations.count { !it.read } val unreadCount = conversations.count { !it.read }
if (unreadCount == 0) { if (unreadCount == 0) {