Skip to content

Commit d6fdbc4

Browse files
committed
scroll to the message containing the searched string
1 parent 2990f3b commit d6fdbc4

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SearchActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import com.simplemobiletools.smsmessenger.R
1717
import com.simplemobiletools.smsmessenger.adapters.SearchResultsAdapter
1818
import com.simplemobiletools.smsmessenger.extensions.conversationsDB
1919
import com.simplemobiletools.smsmessenger.extensions.messagesDB
20+
import com.simplemobiletools.smsmessenger.helpers.SEARCHED_MESSAGE_ID
2021
import com.simplemobiletools.smsmessenger.helpers.THREAD_ID
2122
import com.simplemobiletools.smsmessenger.helpers.THREAD_TITLE
2223
import com.simplemobiletools.smsmessenger.models.Conversation
@@ -131,6 +132,7 @@ class SearchActivity : SimpleActivity() {
131132
Intent(this, ThreadActivity::class.java).apply {
132133
putExtra(THREAD_ID, (it as SearchResult).threadId)
133134
putExtra(THREAD_TITLE, it.title)
135+
putExtra(SEARCHED_MESSAGE_ID, it.messageId)
134136
startActivity(this)
135137
}
136138
}.apply {

app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,15 @@ class ThreadActivity : SimpleActivity() {
8888
if (it) {
8989
setupButtons()
9090
setupCachedMessages {
91+
val searchedMessageId = intent.getLongExtra(SEARCHED_MESSAGE_ID, -1L)
92+
intent.removeExtra(SEARCHED_MESSAGE_ID)
93+
if (searchedMessageId != -1L) {
94+
val index = threadItems.indexOfFirst { (it as? Message)?.id == searchedMessageId }
95+
if (index != -1) {
96+
thread_messages_list.smoothScrollToPosition(index)
97+
}
98+
}
99+
91100
setupThread()
92101
}
93102
} else {

app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const val THREAD_TEXT = "thread_text"
99
const val THREAD_NUMBER = "thread_number"
1010
const val THREAD_ATTACHMENT_URI = "thread_attachment_uri"
1111
const val THREAD_ATTACHMENT_URIS = "thread_attachment_uris"
12+
const val SEARCHED_MESSAGE_ID = "searched_message_id"
1213
const val USE_SIM_ID_PREFIX = "use_sim_id_"
1314
const val NOTIFICATION_CHANNEL = "simple_sms_messenger"
1415
const val SHOW_CHARACTER_COUNTER = "show_character_counter"

0 commit comments

Comments
 (0)