fixing some search related glitches

This commit is contained in:
tibbi
2022-06-24 17:56:05 +02:00
parent c0372ecbc1
commit e7c9257378

View File

@@ -190,7 +190,10 @@ class MainActivity : SimpleActivity() {
}
override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
if (isSearchOpen) {
getCurrentFragment()?.onSearchClosed()
}
isSearchOpen = false
main_dialpad_button.beVisible()
return true
@@ -259,7 +262,9 @@ class MainActivity : SimpleActivity() {
view_pager.offscreenPageLimit = 2
view_pager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrollStateChanged(state: Int) {
searchMenuItem?.collapseActionView()
if (state == ViewPager.SCROLL_STATE_SETTLING) {
closeSearch()
}
}
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
@@ -447,11 +452,13 @@ class MainActivity : SimpleActivity() {
}
private fun launchSettings() {
closeSearch()
hideKeyboard()
startActivity(Intent(applicationContext, SettingsActivity::class.java))
}
private fun launchAbout() {
closeSearch()
val licenses = LICENSE_GLIDE or LICENSE_INDICATOR_FAST_SCROLL
val faqItems = arrayListOf(
@@ -474,6 +481,7 @@ class MainActivity : SimpleActivity() {
getCurrentFragment()?.onSearchQueryChanged(searchQuery)
}
}
contacts_fragment?.refreshItems {
if (isSearchOpen) {
getCurrentFragment()?.onSearchQueryChanged(searchQuery)
@@ -482,6 +490,15 @@ class MainActivity : SimpleActivity() {
}
}
private fun closeSearch() {
if (isSearchOpen) {
getAllFragments().forEach {
it?.onSearchQueryChanged("")
}
searchMenuItem?.collapseActionView()
}
}
fun cacheContacts(contacts: List<SimpleContact>) {
try {
cachedContacts.clear()