27 lines
1.1 KiB
Kotlin
27 lines
1.1 KiB
Kotlin
package com.simplemobiletools.smsmessenger.receivers
|
|
|
|
import android.content.BroadcastReceiver
|
|
import android.content.Context
|
|
import android.content.Intent
|
|
import android.net.Uri
|
|
import android.provider.Telephony
|
|
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
|
import com.simplemobiletools.smsmessenger.extensions.messagesDB
|
|
import com.simplemobiletools.smsmessenger.extensions.updateMessageType
|
|
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
|
|
|
|
class SmsStatusSentReceiver : BroadcastReceiver() {
|
|
|
|
override fun onReceive(context: Context, intent: Intent) {
|
|
if (intent.extras?.containsKey("message_uri") == true) {
|
|
val uri = Uri.parse(intent.getStringExtra("message_uri"))
|
|
val id = uri?.lastPathSegment?.toLong() ?: 0L
|
|
ensureBackgroundThread {
|
|
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()
|
|
}
|
|
}
|
|
}
|
|
}
|