diff --git a/app/build.gradle b/app/build.gradle index 6ea8e9b7..ac5c71e2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,7 +56,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.34.21' + implementation 'com.simplemobiletools:commons:5.34.22' implementation 'org.greenrobot:eventbus:3.2.0' implementation 'com.klinkerapps:android-smsmms:5.2.6' implementation 'com.github.tibbi:IndicatorFastScroll:c3de1d040a' diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt index 2c46ac2f..71ae7f8f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -156,7 +156,12 @@ class ThreadActivity : SimpleActivity() { private fun setupCachedMessages(callback: () -> Unit) { ensureBackgroundThread { - messages = messagesDB.getThreadMessages(threadId).toMutableList() as ArrayList + messages = try { + messagesDB.getThreadMessages(threadId).toMutableList() as ArrayList + } catch (e: Exception) { + ArrayList() + } + setupParticipants() setupAdapter() @@ -176,9 +181,9 @@ class ThreadActivity : SimpleActivity() { private fun setupThread() { val privateCursor = getMyContactsCursor()?.loadInBackground() ensureBackgroundThread { - val cachedMessagesCode = messages.hashCode() + val cachedMessagesCode = messages.clone().hashCode() messages = getMessages(threadId) - if (messages.hashCode() == cachedMessagesCode && participants.isNotEmpty()) { + if (participants.isNotEmpty() && messages.hashCode() == cachedMessagesCode) { return@ensureBackgroundThread } 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 e7dfd13c..0bbf05cf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt @@ -507,8 +507,12 @@ fun Context.insertNewSMS(address: String, subject: String, body: String, date: L put(Sms.SUBSCRIPTION_ID, subscriptionId) } - val newUri = contentResolver.insert(uri, contentValues) - return newUri?.lastPathSegment?.toLong() ?: 0L + return try { + val newUri = contentResolver.insert(uri, contentValues) + newUri?.lastPathSegment?.toLong() ?: 0L + } catch (e: Exception) { + 0L + } } fun Context.deleteConversation(threadId: Long) {