diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt index df6c6f4e..97dd03ba 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt @@ -46,10 +46,20 @@ fun Context.getMessages(threadId: Int): ArrayList { val selectionArgs = arrayOf(threadId.toString()) val sortOrder = "${Sms._ID} DESC LIMIT 100" + val blockStatus = HashMap() var messages = ArrayList() queryCursor(uri, projection, selection, selectionArgs, sortOrder, showErrors = true) { cursor -> val senderNumber = cursor.getStringValue(Sms.ADDRESS) - if (isNumberBlocked(senderNumber)) { + + val isNumberBlocked = if (blockStatus.containsKey(senderNumber)) { + blockStatus[senderNumber] ?: false + } else { + val isBlocked = isNumberBlocked(senderNumber) + blockStatus[senderNumber] = isBlocked + isBlocked + } + + if (isNumberBlocked) { return@queryCursor }