properley update message types in the local db too

This commit is contained in:
tibbi 2021-01-01 20:13:45 +01:00
parent 7fedcbd108
commit ac7d2afbb6
4 changed files with 14 additions and 6 deletions

View file

@ -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()
}
}

View file

@ -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()
}
}