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 1e9b9c0a..628e516d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -408,6 +408,7 @@ class ThreadActivity : SimpleActivity() { } private fun deleteMessages(messagesToRemove: List) { + val deletePosition = threadItems.indexOf(messagesToRemove.first()) messages.removeAll(messagesToRemove.toSet()) threadItems = getThreadItems() @@ -416,7 +417,7 @@ class ThreadActivity : SimpleActivity() { finish() } else { getOrCreateThreadAdapter().apply { - updateMessages(threadItems) + updateMessages(threadItems, scrollPosition = deletePosition) finishActMode() } } @@ -441,7 +442,6 @@ class ThreadActivity : SimpleActivity() { updateScheduledMessagesThreadId(messages, fakeThreadId) threadId = fakeThreadId } - refreshMessages() } private fun fetchNextMessages() { diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt index 12dd23d5..0fa9e199 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt @@ -230,7 +230,9 @@ class ThreadAdapter( fun updateMessages(newMessages: ArrayList, scrollPosition: Int = newMessages.lastIndex) { val latestMessages = newMessages.toMutableList() submitList(latestMessages) { - recyclerView.scrollToPosition(scrollPosition) + if (scrollPosition != -1) { + recyclerView.scrollToPosition(scrollPosition) + } } }