Skip to content

Commit aea826b

Browse files
committed
properly handle multipart longer sms messages
1 parent 4b3051a commit aea826b

File tree

1 file changed

+16
-12
lines changed
  • app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers

1 file changed

+16
-12
lines changed

app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/SmsReceiver.kt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,26 @@ import com.simplemobiletools.smsmessenger.helpers.refreshMessages
1313
class SmsReceiver : BroadcastReceiver() {
1414
override fun onReceive(context: Context, intent: Intent) {
1515
val messages = Telephony.Sms.Intents.getMessagesFromIntent(intent)
16+
var address = ""
17+
var body = ""
18+
var subject = ""
19+
var date = 0L
20+
var threadId = 0L
21+
val type = Telephony.Sms.MESSAGE_TYPE_INBOX
22+
val read = 0
23+
1624
messages.forEach {
17-
val address = it.originatingAddress ?: ""
18-
if (context.isNumberBlocked(address)) {
19-
return@forEach
20-
}
25+
address = it.originatingAddress ?: ""
26+
subject = it.pseudoSubject
27+
body += it.messageBody
28+
date = it.timestampMillis
29+
threadId = context.getThreadId(address)
30+
}
2131

22-
val subject = it.pseudoSubject
23-
val body = it.messageBody
24-
val date = it.timestampMillis
25-
val threadId = context.getThreadId(address)
26-
val type = Telephony.Sms.MESSAGE_TYPE_INBOX
27-
val read = 0
32+
if (!context.isNumberBlocked(address)) {
2833
context.insertNewSMS(address, subject, body, date, read, threadId, type)
2934
context.showReceivedMessageNotification(address, body, threadId.toInt())
35+
refreshMessages()
3036
}
31-
32-
refreshMessages()
3337
}
3438
}

0 commit comments

Comments
 (0)