Optimized search
This commit is contained in:
parent
8a050e114b
commit
a1a6e98376
2 changed files with 7 additions and 4 deletions
|
@ -144,12 +144,11 @@ class LibraryViewModel(
|
|||
suggestions.postValue(repository.suggestions())
|
||||
}
|
||||
|
||||
fun search(query: String?, filter: Filter) {
|
||||
fun search(query: String?, filter: Filter) =
|
||||
viewModelScope.launch(IO) {
|
||||
val result =repository.search(query, filter)
|
||||
searchResults.postValue(result)
|
||||
}
|
||||
}
|
||||
|
||||
fun forceReload(reloadType: ReloadType) = viewModelScope.launch(IO) {
|
||||
when (reloadType) {
|
||||
|
|
|
@ -46,6 +46,7 @@ import com.google.android.material.chip.ChipGroup
|
|||
import com.google.android.material.shape.MaterialShapeDrawable
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import com.google.android.material.transition.MaterialFadeThrough
|
||||
import kotlinx.coroutines.Job
|
||||
import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent
|
||||
import java.util.*
|
||||
|
||||
|
@ -63,6 +64,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
|
|||
private lateinit var searchAdapter: SearchAdapter
|
||||
private var query: String? = null
|
||||
|
||||
private var job: Job? = null
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
enterTransition = MaterialFadeThrough().addTarget(view)
|
||||
|
@ -184,7 +187,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
|
|||
binding.voiceSearch.isGone = query.isNotEmpty()
|
||||
binding.clearText.isVisible = query.isNotEmpty()
|
||||
val filter = getFilter()
|
||||
libraryViewModel.search(query, filter)
|
||||
job?.cancel()
|
||||
job = libraryViewModel.search(query, filter)
|
||||
}
|
||||
|
||||
private fun getFilter(): Filter {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue