properly handle deleting MMS messages

This commit is contained in:
tibbi 2020-04-14 12:19:48 +02:00
parent 1adcb0a789
commit 0acb7acdf2
2 changed files with 8 additions and 4 deletions

View File

@ -152,7 +152,7 @@ class ThreadAdapter(
val messagesToRemove = messages.filter { selectedKeys.contains((it as? Message)?.id ?: 0) } as ArrayList<ThreadItem>
val positions = getSelectedItemPositions()
messagesToRemove.forEach {
activity.deleteMessage((it as Message).id)
activity.deleteMessage((it as Message).id, it.isMMS)
}
messages.removeAll(messagesToRemove)

View File

@ -205,6 +205,7 @@ fun Context.getConversations(): ArrayList<Conversation> {
val conversation = Conversation(id, snippet, date.toInt(), read, title, photoUri, isGroupConversation)
conversations.add(conversation)
}
return conversations
}
@ -576,14 +577,17 @@ fun Context.insertNewSMS(address: String, subject: String, body: String, date: L
}
fun Context.deleteConversation(id: Int) {
val uri = Sms.CONTENT_URI
var uri = Sms.CONTENT_URI
val selection = "${Sms.THREAD_ID} = ?"
val selectionArgs = arrayOf(id.toString())
contentResolver.delete(uri, selection, selectionArgs)
uri = Mms.CONTENT_URI
contentResolver.delete(uri, selection, selectionArgs)
}
fun Context.deleteMessage(id: Int) {
val uri = Sms.CONTENT_URI
fun Context.deleteMessage(id: Int, isMMS: Boolean) {
val uri = if (isMMS) Mms.CONTENT_URI else Sms.CONTENT_URI
val selection = "${Sms._ID} = ?"
val selectionArgs = arrayOf(id.toString())
contentResolver.delete(uri, selection, selectionArgs)