mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-02-09 16:28:51 +01:00
properley update message types in the local db too
This commit is contained in:
parent
7fedcbd108
commit
ac7d2afbb6
@ -554,7 +554,7 @@ fun Context.markThreadMessagesUnread(threadId: Long) {
|
||||
}
|
||||
}
|
||||
|
||||
fun Context.updateMessageDeliveryStatus(id: Long, status: Int) {
|
||||
fun Context.updateMessageType(id: Long, status: Int) {
|
||||
val uri = Sms.CONTENT_URI
|
||||
val contentValues = ContentValues().apply {
|
||||
put(Sms.TYPE, status)
|
||||
|
@ -29,6 +29,9 @@ interface MessagesDao {
|
||||
@Query("UPDATE messages SET read = 1 WHERE thread_id = :threadId")
|
||||
fun markThreadRead(threadId: Long)
|
||||
|
||||
@Query("UPDATE messages SET type = :type WHERE id = :id")
|
||||
fun updateType(id: Long, type: Int)
|
||||
|
||||
@Query("DELETE FROM messages WHERE id = :id")
|
||||
fun delete(id: Long)
|
||||
|
||||
|
@ -6,7 +6,8 @@ import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.provider.Telephony
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.smsmessenger.extensions.updateMessageDeliveryStatus
|
||||
import com.simplemobiletools.smsmessenger.extensions.messagesDB
|
||||
import com.simplemobiletools.smsmessenger.extensions.updateMessageType
|
||||
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
|
||||
|
||||
class SmsStatusDeliveredReceiver : BroadcastReceiver() {
|
||||
@ -16,7 +17,9 @@ class SmsStatusDeliveredReceiver : BroadcastReceiver() {
|
||||
val uri = Uri.parse(intent.getStringExtra("message_uri"))
|
||||
val id = uri?.lastPathSegment?.toLong() ?: 0L
|
||||
ensureBackgroundThread {
|
||||
context.updateMessageDeliveryStatus(id, Telephony.Sms.MESSAGE_TYPE_SENT)
|
||||
val type = Telephony.Sms.MESSAGE_TYPE_SENT
|
||||
context.updateMessageType(id, type)
|
||||
context.messagesDB.updateType(id, type)
|
||||
refreshMessages()
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,8 @@ import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.provider.Telephony
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
import com.simplemobiletools.smsmessenger.extensions.updateMessageDeliveryStatus
|
||||
import com.simplemobiletools.smsmessenger.extensions.messagesDB
|
||||
import com.simplemobiletools.smsmessenger.extensions.updateMessageType
|
||||
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
|
||||
|
||||
class SmsStatusSentReceiver : BroadcastReceiver() {
|
||||
@ -16,8 +17,9 @@ class SmsStatusSentReceiver : BroadcastReceiver() {
|
||||
val uri = Uri.parse(intent.getStringExtra("message_uri"))
|
||||
val id = uri?.lastPathSegment?.toLong() ?: 0L
|
||||
ensureBackgroundThread {
|
||||
val newStatus = if (intent.extras!!.containsKey("errorCode")) Telephony.Sms.MESSAGE_TYPE_FAILED else Telephony.Sms.MESSAGE_TYPE_OUTBOX
|
||||
context.updateMessageDeliveryStatus(id, newStatus)
|
||||
val type = if (intent.extras!!.containsKey("errorCode")) Telephony.Sms.MESSAGE_TYPE_FAILED else Telephony.Sms.MESSAGE_TYPE_OUTBOX
|
||||
context.updateMessageType(id, type)
|
||||
context.messagesDB.updateType(id, type)
|
||||
refreshMessages()
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user