store the subscription ID at incoming messages too

This commit is contained in:
tibbi 2020-05-13 13:44:43 +02:00
parent 34eb659a7d
commit 6fb8d963a8
3 changed files with 7 additions and 4 deletions

View File

@ -56,7 +56,7 @@ android {
}
dependencies {
implementation 'com.simplemobiletools:commons:5.27.24'
implementation 'com.simplemobiletools:commons:5.27.27'
implementation 'org.greenrobot:eventbus:3.2.0'
implementation 'com.klinkerapps:android-smsmms:5.2.6'
implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a'

View File

@ -39,7 +39,8 @@ fun Context.getMessages(threadId: Int): ArrayList<Message> {
Sms.ADDRESS,
Sms.DATE,
Sms.READ,
Sms.THREAD_ID
Sms.THREAD_ID,
Sms.SUBSCRIPTION_ID
)
val selection = "${Sms.THREAD_ID} = ?"
@ -415,7 +416,7 @@ fun Context.getNameAndPhotoFromPhoneNumber(number: String): NamePhoto? {
return NamePhoto(number, null)
}
fun Context.insertNewSMS(address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int) {
fun Context.insertNewSMS(address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int) {
val uri = Sms.CONTENT_URI
val contentValues = ContentValues().apply {
put(Sms.ADDRESS, address)
@ -425,6 +426,7 @@ fun Context.insertNewSMS(address: String, subject: String, body: String, date: L
put(Sms.READ, read)
put(Sms.THREAD_ID, threadId)
put(Sms.TYPE, type)
put(Sms.SUBSCRIPTION_ID, subscriptionId)
}
contentResolver.insert(uri, contentValues)

View File

@ -20,6 +20,7 @@ class SmsReceiver : BroadcastReceiver() {
var threadId = 0L
val type = Telephony.Sms.MESSAGE_TYPE_INBOX
val read = 0
val subscriptionId = intent.getIntExtra("subscription", -1)
messages.forEach {
address = it.originatingAddress ?: ""
@ -30,7 +31,7 @@ class SmsReceiver : BroadcastReceiver() {
}
if (!context.isNumberBlocked(address)) {
context.insertNewSMS(address, subject, body, date, read, threadId, type)
context.insertNewSMS(address, subject, body, date, read, threadId, type, subscriptionId)
context.showReceivedMessageNotification(address, body, threadId.toInt())
refreshMessages()
}