Move abstract receiver to receivers package (for now)

This commit is contained in:
Naveen 2023-01-10 14:46:35 +05:30
parent e59bc1feae
commit a48a160632
6 changed files with 3 additions and 4 deletions

View file

@ -0,0 +1,33 @@
package com.simplemobiletools.smsmessenger.receivers
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
abstract class SendStatusReceiver : BroadcastReceiver() {
// Updates the status of the message in the internal database
abstract fun updateAndroidDatabase(context: Context, intent: Intent, receiverResultCode: Int)
// allows the implementer to update the status of the message in their database
abstract fun updateAppDatabase(context: Context, intent: Intent, receiverResultCode: Int)
override fun onReceive(context: Context, intent: Intent) {
val resultCode = resultCode
ensureBackgroundThread {
updateAndroidDatabase(context, intent, resultCode)
updateAppDatabase(context, intent, resultCode)
}
}
companion object {
const val MESSAGE_SENT_ACTION = "com.simplemobiletools.smsmessenger.receiver.SendStatusReceiver.MESSAGE_SENT"
const val MESSAGE_DELIVERED_ACTION = "com.simplemobiletools.smsmessenger.receiver.SendStatusReceiver.MESSAGE_DELIVERED"
// Defined by platform, but no constant provided. See docs for SmsManager.sendTextMessage.
const val EXTRA_ERROR_CODE = "errorCode"
const val EXTRA_SUB_ID = "subId"
const val NO_ERROR_CODE = -1
}
}