diff --git a/CHANGELOG.md b/CHANGELOG.md index 45ff5cfb..767ec6d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Optimized loading messages in conversations +### Fixed +- Fixed position reset when opening attachments in conversations ([#82]) + ## [1.4.0] - 2025-10-12 ### Added - Ability to save multiple attachments ([#75]) @@ -165,6 +168,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#334]: https://github.com/FossifyOrg/Messages/issues/334 [#349]: https://github.com/FossifyOrg/Messages/issues/349 [#359]: https://github.com/FossifyOrg/Messages/issues/359 +[#82]: https://github.com/FossifyOrg/Messages/issues/82 [#456]: https://github.com/FossifyOrg/Messages/issues/456 [#461]: https://github.com/FossifyOrg/Messages/issues/461 diff --git a/app/src/main/kotlin/org/fossify/messages/activities/ArchivedConversationsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/ArchivedConversationsActivity.kt index bab58a15..d84c8b78 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/ArchivedConversationsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/ArchivedConversationsActivity.kt @@ -4,7 +4,13 @@ import android.annotation.SuppressLint import android.content.Intent import android.os.Bundle import org.fossify.commons.dialogs.ConfirmationDialog -import org.fossify.commons.extensions.* +import org.fossify.commons.extensions.areSystemAnimationsEnabled +import org.fossify.commons.extensions.beGoneIf +import org.fossify.commons.extensions.beVisibleIf +import org.fossify.commons.extensions.getProperBackgroundColor +import org.fossify.commons.extensions.getProperTextColor +import org.fossify.commons.extensions.hideKeyboard +import org.fossify.commons.extensions.viewBinding import org.fossify.commons.helpers.NavigationIcon import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.messages.R @@ -169,7 +175,7 @@ class ArchivedConversationsActivity : SimpleActivity() { } @Subscribe(threadMode = ThreadMode.MAIN) - fun refreshMessages(event: Events.RefreshMessages) { + fun refreshConversations(@Suppress("unused") event: Events.RefreshConversations) { loadArchivedConversations() } } diff --git a/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt index 8ba59004..5ecfaaeb 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/MainActivity.kt @@ -682,7 +682,7 @@ class MainActivity : SimpleActivity() { } @Subscribe(threadMode = ThreadMode.MAIN) - fun refreshMessages(event: Events.RefreshMessages) { + fun refreshConversations(@Suppress("unused") event: Events.RefreshConversations) { initMessenger() } diff --git a/app/src/main/kotlin/org/fossify/messages/activities/RecycleBinConversationsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/RecycleBinConversationsActivity.kt index 78bf71fa..59f9ba56 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/RecycleBinConversationsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/RecycleBinConversationsActivity.kt @@ -180,7 +180,7 @@ class RecycleBinConversationsActivity : SimpleActivity() { } @Subscribe(threadMode = ThreadMode.MAIN) - fun refreshMessages(event: Events.RefreshMessages) { + fun refreshConversations(@Suppress("unused") event: Events.RefreshConversations) { loadRecycleBinConversations() } } diff --git a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt index 62846beb..ac14976e 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/SettingsActivity.kt @@ -11,7 +11,6 @@ import org.fossify.commons.dialogs.RadioGroupDialog import org.fossify.commons.dialogs.SecurityDialog import org.fossify.commons.extensions.addLockedLabelIfNeeded import org.fossify.commons.extensions.beGone -import org.fossify.commons.extensions.beGoneIf import org.fossify.commons.extensions.beVisible import org.fossify.commons.extensions.beVisibleIf import org.fossify.commons.extensions.getBlockedNumbers @@ -49,7 +48,7 @@ import org.fossify.messages.helpers.LOCK_SCREEN_NOTHING import org.fossify.messages.helpers.LOCK_SCREEN_SENDER import org.fossify.messages.helpers.LOCK_SCREEN_SENDER_MESSAGE import org.fossify.messages.helpers.MessagesImporter -import org.fossify.messages.helpers.refreshMessages +import org.fossify.messages.helpers.refreshConversations import java.util.Locale import kotlin.system.exitProcess @@ -133,7 +132,7 @@ class SettingsActivity : SimpleActivity() { if ( blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode() ) { - refreshMessages() + refreshConversations() } arrayOf( @@ -238,7 +237,7 @@ class SettingsActivity : SimpleActivity() { private fun setupChangeDateTimeFormat() = binding.apply { settingsChangeDateTimeFormatHolder.setOnClickListener { ChangeDateTimeFormatDialog(this@SettingsActivity) { - refreshMessages() + refreshConversations() } } } diff --git a/app/src/main/kotlin/org/fossify/messages/activities/ThreadActivity.kt b/app/src/main/kotlin/org/fossify/messages/activities/ThreadActivity.kt index dde35ad3..49b66926 100644 --- a/app/src/main/kotlin/org/fossify/messages/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/org/fossify/messages/activities/ThreadActivity.kt @@ -40,6 +40,7 @@ import androidx.annotation.StringRes import androidx.appcompat.content.res.AppCompatResources import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.res.ResourcesCompat +import androidx.core.net.toUri import androidx.core.view.ViewCompat import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsAnimationCompat @@ -47,6 +48,7 @@ import androidx.core.view.WindowInsetsCompat import androidx.core.view.updateLayoutParams import androidx.documentfile.provider.DocumentFile import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.google.gson.Gson import com.google.gson.reflect.TypeToken import org.fossify.commons.dialogs.ConfirmationDialog @@ -122,6 +124,7 @@ import org.fossify.messages.extensions.deleteScheduledMessage import org.fossify.messages.extensions.deleteSmsDraft import org.fossify.messages.extensions.dialNumber import org.fossify.messages.extensions.emptyMessagesRecycleBinForConversation +import org.fossify.messages.extensions.filterNotInByKey import org.fossify.messages.extensions.getAddresses import org.fossify.messages.extensions.getDefaultKeyboardHeight import org.fossify.messages.extensions.getFileSizeFromUri @@ -172,6 +175,7 @@ import org.fossify.messages.helpers.THREAD_NUMBER import org.fossify.messages.helpers.THREAD_TEXT import org.fossify.messages.helpers.THREAD_TITLE import org.fossify.messages.helpers.generateRandomId +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.messaging.cancelScheduleSendPendingIntent import org.fossify.messages.messaging.isLongMmsMessage @@ -195,9 +199,6 @@ import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import org.joda.time.DateTime import java.io.File -import androidx.core.net.toUri -import androidx.recyclerview.widget.RecyclerView -import org.fossify.messages.extensions.filterNotInByKey class ThreadActivity : SimpleActivity() { private var threadId = 0L @@ -312,7 +313,7 @@ class ThreadActivity : SimpleActivity() { override fun onPause() { super.onPause() saveDraftMessage() - bus?.post(Events.RefreshMessages()) + bus?.post(Events.RefreshConversations()) isActivityVisible = false } @@ -1069,7 +1070,7 @@ class ThreadActivity : SimpleActivity() { numbers.forEach { addBlockedNumber(it) } - refreshMessages() + refreshConversations() finish() } } @@ -1085,7 +1086,7 @@ class ThreadActivity : SimpleActivity() { deleteConversation(threadId) } runOnUiThread { - refreshMessages() + refreshConversations() finish() } } @@ -1097,7 +1098,7 @@ class ThreadActivity : SimpleActivity() { ensureBackgroundThread { restoreAllMessagesFromRecycleBinForConversation(threadId) runOnUiThread { - refreshMessages() + refreshConversations() finish() } } @@ -1108,7 +1109,7 @@ class ThreadActivity : SimpleActivity() { ensureBackgroundThread { updateConversationArchivedStatus(threadId, true) runOnUiThread { - refreshMessages() + refreshConversations() finish() } } @@ -1118,7 +1119,7 @@ class ThreadActivity : SimpleActivity() { ensureBackgroundThread { updateConversationArchivedStatus(threadId, false) runOnUiThread { - refreshMessages() + refreshConversations() finish() } } @@ -1188,7 +1189,7 @@ class ThreadActivity : SimpleActivity() { markThreadMessagesUnread(threadId) runOnUiThread { finish() - bus?.post(Events.RefreshMessages()) + bus?.post(Events.RefreshConversations()) } } } @@ -1273,7 +1274,7 @@ class ThreadActivity : SimpleActivity() { } if (hadUnreadItems) { - bus?.post(Events.RefreshMessages()) + bus?.post(Events.RefreshConversations()) } return items @@ -1581,6 +1582,7 @@ class ThreadActivity : SimpleActivity() { messagesDB.insertOrUpdate(message) if (shouldUnarchive()) { updateConversationArchivedStatus(message.threadId, false) + refreshConversations() } } diff --git a/app/src/main/kotlin/org/fossify/messages/adapters/ArchivedConversationsAdapter.kt b/app/src/main/kotlin/org/fossify/messages/adapters/ArchivedConversationsAdapter.kt index 7b1695aa..06b8b049 100644 --- a/app/src/main/kotlin/org/fossify/messages/adapters/ArchivedConversationsAdapter.kt +++ b/app/src/main/kotlin/org/fossify/messages/adapters/ArchivedConversationsAdapter.kt @@ -9,7 +9,7 @@ import org.fossify.messages.R import org.fossify.messages.activities.SimpleActivity import org.fossify.messages.extensions.deleteConversation import org.fossify.messages.extensions.updateConversationArchivedStatus -import org.fossify.messages.helpers.refreshMessages +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.models.Conversation class ArchivedConversationsAdapter( @@ -83,12 +83,12 @@ class ArchivedConversationsAdapter( activity.runOnUiThread { if (newList.none { selectedKeys.contains(it.hashCode()) }) { - refreshMessages() + refreshConversations() finishActMode() } else { submitList(newList) if (newList.isEmpty()) { - refreshMessages() + refreshConversations() } } } diff --git a/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt b/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt index 73f9eddd..f9bb9508 100644 --- a/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt +++ b/app/src/main/kotlin/org/fossify/messages/adapters/ConversationsAdapter.kt @@ -25,7 +25,6 @@ import org.fossify.messages.extensions.markThreadMessagesRead import org.fossify.messages.extensions.markThreadMessagesUnread import org.fossify.messages.extensions.renameConversation import org.fossify.messages.extensions.updateConversationArchivedStatus -import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.messaging.isShortCodeWithLetters import org.fossify.messages.models.Conversation @@ -189,12 +188,12 @@ class ConversationsAdapter( activity.runOnUiThread { if (newList.none { selectedKeys.contains(it.hashCode()) }) { - refreshMessages() + refreshConversations() finishActMode() } else { submitList(newList) if (newList.isEmpty()) { - refreshMessages() + refreshConversations() } } } @@ -220,12 +219,12 @@ class ConversationsAdapter( activity.runOnUiThread { if (newList.none { selectedKeys.contains(it.hashCode()) }) { - refreshMessages() + refreshConversations() finishActMode() } else { submitList(newList) if (newList.isEmpty()) { - refreshMessages() + refreshConversations() } } } @@ -317,7 +316,7 @@ class ConversationsAdapter( private fun refreshConversations() { activity.runOnUiThread { - refreshMessages() + refreshConversations() finishActMode() } } diff --git a/app/src/main/kotlin/org/fossify/messages/adapters/RecycleBinConversationsAdapter.kt b/app/src/main/kotlin/org/fossify/messages/adapters/RecycleBinConversationsAdapter.kt index d805f025..64dc11fa 100644 --- a/app/src/main/kotlin/org/fossify/messages/adapters/RecycleBinConversationsAdapter.kt +++ b/app/src/main/kotlin/org/fossify/messages/adapters/RecycleBinConversationsAdapter.kt @@ -9,7 +9,7 @@ import org.fossify.messages.R import org.fossify.messages.activities.SimpleActivity import org.fossify.messages.extensions.deleteConversation import org.fossify.messages.extensions.restoreAllMessagesFromRecycleBinForConversation -import org.fossify.messages.helpers.refreshMessages +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.models.Conversation class RecycleBinConversationsAdapter( @@ -95,12 +95,12 @@ class RecycleBinConversationsAdapter( activity.runOnUiThread { if (newList.none { selectedKeys.contains(it.hashCode()) }) { - refreshMessages() + refreshConversations() finishActMode() } else { submitList(newList) if (newList.isEmpty()) { - refreshMessages() + refreshConversations() } } } diff --git a/app/src/main/kotlin/org/fossify/messages/helpers/Constants.kt b/app/src/main/kotlin/org/fossify/messages/helpers/Constants.kt index 77213758..93f414f9 100644 --- a/app/src/main/kotlin/org/fossify/messages/helpers/Constants.kt +++ b/app/src/main/kotlin/org/fossify/messages/helpers/Constants.kt @@ -104,6 +104,10 @@ fun refreshMessages() { EventBus.getDefault().post(Events.RefreshMessages()) } +fun refreshConversations() { + EventBus.getDefault().post(Events.RefreshConversations()) +} + /** Not to be used with real messages persisted in the telephony db. This is for internal use only (e.g. scheduled messages, notification ids etc). */ fun generateRandomId(length: Int = 9): Long { val millis = DateTime.now(DateTimeZone.UTC).millis diff --git a/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt b/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt index 3b7fcd67..d8123362 100644 --- a/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt +++ b/app/src/main/kotlin/org/fossify/messages/helpers/MessagesImporter.kt @@ -99,7 +99,7 @@ class MessagesImporter(private val activity: SimpleActivity) { } messageWriter.fixConversationDates() - refreshMessages() + refreshConversations() } catch (e: Exception) { activity.showErrorToast(e) } @@ -153,7 +153,7 @@ class MessagesImporter(private val activity: SimpleActivity) { messagesFailed++ } } - refreshMessages() + refreshConversations() } when { messagesFailed > 0 && messagesImported > 0 -> { diff --git a/app/src/main/kotlin/org/fossify/messages/models/Events.kt b/app/src/main/kotlin/org/fossify/messages/models/Events.kt index e236f1c4..0feb2eba 100644 --- a/app/src/main/kotlin/org/fossify/messages/models/Events.kt +++ b/app/src/main/kotlin/org/fossify/messages/models/Events.kt @@ -2,4 +2,5 @@ package org.fossify.messages.models class Events { class RefreshMessages + class RefreshConversations } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt index d277b143..71382ba8 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/DeleteSmsReceiver.kt @@ -10,6 +10,7 @@ import org.fossify.messages.extensions.updateLastConversationMessage import org.fossify.messages.helpers.IS_MMS import org.fossify.messages.helpers.MESSAGE_ID import org.fossify.messages.helpers.THREAD_ID +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages class DeleteSmsReceiver : BroadcastReceiver() { @@ -23,6 +24,7 @@ class DeleteSmsReceiver : BroadcastReceiver() { context.deleteMessage(messageId, isMms) context.updateLastConversationMessage(threadId) refreshMessages() + refreshConversations() } } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt index e00d2f5e..a60fb72f 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/MarkAsReadReceiver.kt @@ -9,7 +9,7 @@ import org.fossify.messages.extensions.conversationsDB import org.fossify.messages.extensions.markThreadMessagesRead import org.fossify.messages.helpers.MARK_AS_READ import org.fossify.messages.helpers.THREAD_ID -import org.fossify.messages.helpers.refreshMessages +import org.fossify.messages.helpers.refreshConversations class MarkAsReadReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { @@ -20,7 +20,7 @@ class MarkAsReadReceiver : BroadcastReceiver() { ensureBackgroundThread { context.markThreadMessagesRead(threadId) context.conversationsDB.markRead(threadId) - refreshMessages() + refreshConversations() } } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt index ece60b34..a92d0936 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/MmsReceiver.kt @@ -21,6 +21,7 @@ import org.fossify.messages.extensions.shouldUnarchive import org.fossify.messages.extensions.showReceivedMessageNotification import org.fossify.messages.extensions.updateConversationArchivedStatus import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.models.Message @@ -93,6 +94,7 @@ class MmsReceiver : MmsReceivedReceiver() { context.updateConversationArchivedStatus(mms.threadId, false) } refreshMessages() + refreshConversations() } } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/MmsSentReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/MmsSentReceiver.kt index 7732b367..17fad536 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/MmsSentReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/MmsSentReceiver.kt @@ -12,6 +12,7 @@ import org.fossify.commons.extensions.showErrorToast import org.fossify.commons.extensions.toast import org.fossify.messages.R import org.fossify.messages.extensions.deleteMessage +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages import java.io.File @@ -52,6 +53,7 @@ class MmsSentReceiver : SendStatusReceiver() { override fun updateAppDatabase(context: Context, intent: Intent, receiverResultCode: Int) { refreshMessages() + refreshConversations() } companion object { diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/ScheduledMessageReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/ScheduledMessageReceiver.kt index e3ab0ba8..8764c4fc 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/ScheduledMessageReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/ScheduledMessageReceiver.kt @@ -14,6 +14,7 @@ import org.fossify.messages.extensions.getAddresses import org.fossify.messages.extensions.messagesDB import org.fossify.messages.helpers.SCHEDULED_MESSAGE_ID import org.fossify.messages.helpers.THREAD_ID +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.messaging.sendMessageCompat @@ -52,6 +53,7 @@ class ScheduledMessageReceiver : BroadcastReceiver() { context.deleteScheduledMessage(messageId) context.conversationsDB.deleteThreadId(messageId) refreshMessages() + refreshConversations() } catch (e: Exception) { context.showErrorToast(e) } catch (e: Error) { diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt index cebd6c9f..81b7744c 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt @@ -13,8 +13,18 @@ import org.fossify.commons.helpers.SimpleContactsHelper import org.fossify.commons.helpers.ensureBackgroundThread import org.fossify.commons.models.PhoneNumber import org.fossify.commons.models.SimpleContact -import org.fossify.messages.extensions.* +import org.fossify.messages.extensions.getConversations +import org.fossify.messages.extensions.getNameFromAddress +import org.fossify.messages.extensions.getNotificationBitmap +import org.fossify.messages.extensions.getThreadId +import org.fossify.messages.extensions.insertNewSMS +import org.fossify.messages.extensions.insertOrUpdateConversation +import org.fossify.messages.extensions.messagesDB +import org.fossify.messages.extensions.shouldUnarchive +import org.fossify.messages.extensions.showReceivedMessageNotification +import org.fossify.messages.extensions.updateConversationArchivedStatus import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages import org.fossify.messages.models.Message @@ -112,6 +122,7 @@ class SmsReceiver : BroadcastReceiver() { context.updateConversationArchivedStatus(threadId, false) } refreshMessages() + refreshConversations() context.showReceivedMessageNotification(newMessageId, address, body, threadId, bitmap) } } diff --git a/app/src/main/kotlin/org/fossify/messages/receivers/SmsStatusSentReceiver.kt b/app/src/main/kotlin/org/fossify/messages/receivers/SmsStatusSentReceiver.kt index 584787d0..1a92924b 100644 --- a/app/src/main/kotlin/org/fossify/messages/receivers/SmsStatusSentReceiver.kt +++ b/app/src/main/kotlin/org/fossify/messages/receivers/SmsStatusSentReceiver.kt @@ -11,7 +11,13 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.ProcessLifecycleOwner import org.fossify.commons.extensions.getMyContactsCursor import org.fossify.commons.helpers.ensureBackgroundThread -import org.fossify.messages.extensions.* +import org.fossify.messages.extensions.getMessageRecipientAddress +import org.fossify.messages.extensions.getNameFromAddress +import org.fossify.messages.extensions.getThreadId +import org.fossify.messages.extensions.messagesDB +import org.fossify.messages.extensions.messagingUtils +import org.fossify.messages.extensions.notificationHelper +import org.fossify.messages.helpers.refreshConversations import org.fossify.messages.helpers.refreshMessages /** Handles updating databases and states when a SMS message is sent. */ @@ -48,6 +54,7 @@ class SmsStatusSentReceiver : SendStatusReceiver() { context.messagesDB.updateType(messageId, type) refreshMessages() + refreshConversations() } } }