Fix coroutine search

pull/1716/head
Alex Baker 3 years ago
parent ebeb343555
commit c0b89a63a5

@ -60,6 +60,7 @@ import org.tasks.dialogs.DialogBuilder
import org.tasks.dialogs.SortDialog
import org.tasks.extensions.Context.toast
import org.tasks.extensions.Fragment.safeStartActivityForResult
import org.tasks.extensions.setOnQueryTextListener
import org.tasks.filters.PlaceFilter
import org.tasks.intents.TaskIntents
import org.tasks.locale.Locale
@ -267,7 +268,6 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
}
menu.findItem(R.id.menu_voice_add).isVisible = device.voiceInputAvailable()
search = menu.findItem(R.id.menu_search).setOnActionExpandListener(this)
(search.actionView as SearchView).setOnQueryTextListener(this)
themeColor.apply(toolbar)
}
@ -559,6 +559,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
}
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
search.setOnQueryTextListener(this)
if (searchQuery == null) {
searchByQuery("")
}
@ -570,6 +571,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
}
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
search.setOnQueryTextListener(null)
listViewModel.searchByFilter(filter)
searchJob?.cancel()
searchQuery = null

@ -0,0 +1,7 @@
package org.tasks.extensions
import android.view.MenuItem
import androidx.appcompat.widget.SearchView
fun MenuItem.setOnQueryTextListener(listener: SearchView.OnQueryTextListener?) =
(actionView as? SearchView)?.setOnQueryTextListener(listener)

@ -39,6 +39,7 @@ import org.tasks.data.PlaceUsage
import org.tasks.databinding.ActivityLocationPickerBinding
import org.tasks.dialogs.DialogBuilder
import org.tasks.extensions.Context.toast
import org.tasks.extensions.setOnQueryTextListener
import org.tasks.injection.InjectingAppCompatActivity
import org.tasks.location.LocationPickerAdapter.OnLocationPicked
import org.tasks.location.LocationSearchAdapter.OnPredictionPicked
@ -120,7 +121,6 @@ class LocationPickerActivity : InjectingAppCompatActivity(), Toolbar.OnMenuItemC
val menu = toolbar.menu
search = menu.findItem(R.id.menu_search)
search.setOnActionExpandListener(this)
(search.actionView as SearchView).setOnQueryTextListener(this)
toolbar.setOnMenuItemClickListener(this)
val themeColor = theme.themeColor
themeColor.applyToStatusBarIcons(this)
@ -378,12 +378,14 @@ class LocationPickerActivity : InjectingAppCompatActivity(), Toolbar.OnMenuItemC
}
override fun onMenuItemActionExpand(item: MenuItem): Boolean {
search.setOnQueryTextListener(this)
searchAdapter!!.submitList(emptyList())
recyclerView.adapter = searchAdapter
return true
}
override fun onMenuItemActionCollapse(item: MenuItem): Boolean {
search.setOnQueryTextListener(null)
recyclerView.adapter = recentsAdapter
if (places.isEmpty()) {
collapseToolbar()

Loading…
Cancel
Save