search conversations too, not just messages

This commit is contained in:
tibbi 2021-02-15 22:07:50 +01:00
parent 131b1a44c3
commit a53652042b
2 changed files with 11 additions and 3 deletions

View File

@ -11,7 +11,9 @@ import androidx.core.view.MenuItemCompat
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.conversationsDB
import com.simplemobiletools.smsmessenger.extensions.messagesDB import com.simplemobiletools.smsmessenger.extensions.messagesDB
import com.simplemobiletools.smsmessenger.models.SearchResult
import kotlinx.android.synthetic.main.activity_search.* import kotlinx.android.synthetic.main.activity_search.*
class SearchActivity : SimpleActivity() { class SearchActivity : SimpleActivity() {
@ -75,11 +77,14 @@ class SearchActivity : SimpleActivity() {
search_placeholder_2.beGoneIf(text.length >= 2) search_placeholder_2.beGoneIf(text.length >= 2)
if (text.length >= 2) { if (text.length >= 2) {
ensureBackgroundThread { ensureBackgroundThread {
val messages = messagesDB.getMessagesWithText("%$text%") val searchQuery = "%$text%"
val messages = messagesDB.getMessagesWithText(searchQuery)
val conversations = conversationsDB.getConversationsWithText(searchQuery)
if (text == mLastSearchedText) { if (text == mLastSearchedText) {
val searchResults = ArrayList<SearchResult>()
runOnUiThread { runOnUiThread {
search_results_list.beVisibleIf(messages.isNotEmpty()) search_results_list.beVisibleIf(searchResults.isNotEmpty())
search_placeholder.beVisibleIf(messages.isEmpty()) search_placeholder.beVisibleIf(searchResults.isEmpty())
} }
} }
} }

View File

@ -17,6 +17,9 @@ interface ConversationsDao {
@Query("SELECT * FROM conversations WHERE read = 0") @Query("SELECT * FROM conversations WHERE read = 0")
fun getUnreadConversations(): List<Conversation> fun getUnreadConversations(): List<Conversation>
@Query("SELECT * FROM conversations WHERE title LIKE :text")
fun getConversationsWithText(text: String): List<Conversation>
@Query("UPDATE conversations SET read = 1 WHERE thread_id = :threadId") @Query("UPDATE conversations SET read = 1 WHERE thread_id = :threadId")
fun markRead(threadId: Long) fun markRead(threadId: Long)