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())
|
suggestions.postValue(repository.suggestions())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun search(query: String?, filter: Filter) {
|
fun search(query: String?, filter: Filter) =
|
||||||
viewModelScope.launch(IO) {
|
viewModelScope.launch(IO) {
|
||||||
val result =repository.search(query, filter)
|
val result =repository.search(query, filter)
|
||||||
searchResults.postValue(result)
|
searchResults.postValue(result)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fun forceReload(reloadType: ReloadType) = viewModelScope.launch(IO) {
|
fun forceReload(reloadType: ReloadType) = viewModelScope.launch(IO) {
|
||||||
when (reloadType) {
|
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.shape.MaterialShapeDrawable
|
||||||
import com.google.android.material.textfield.TextInputEditText
|
import com.google.android.material.textfield.TextInputEditText
|
||||||
import com.google.android.material.transition.MaterialFadeThrough
|
import com.google.android.material.transition.MaterialFadeThrough
|
||||||
|
import kotlinx.coroutines.Job
|
||||||
import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent
|
import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
@ -63,6 +64,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
|
||||||
private lateinit var searchAdapter: SearchAdapter
|
private lateinit var searchAdapter: SearchAdapter
|
||||||
private var query: String? = null
|
private var query: String? = null
|
||||||
|
|
||||||
|
private var job: Job? = null
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
enterTransition = MaterialFadeThrough().addTarget(view)
|
enterTransition = MaterialFadeThrough().addTarget(view)
|
||||||
|
@ -184,7 +187,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
|
||||||
binding.voiceSearch.isGone = query.isNotEmpty()
|
binding.voiceSearch.isGone = query.isNotEmpty()
|
||||||
binding.clearText.isVisible = query.isNotEmpty()
|
binding.clearText.isVisible = query.isNotEmpty()
|
||||||
val filter = getFilter()
|
val filter = getFilter()
|
||||||
libraryViewModel.search(query, filter)
|
job?.cancel()
|
||||||
|
job = libraryViewModel.search(query, filter)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getFilter(): Filter {
|
private fun getFilter(): Filter {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue