@@ -32,8 +32,8 @@ class LibraryActivity : BaseActivity(),
32
32
@BindView(R .id.search_pager) lateinit var pager: ViewPager
33
33
@BindView(R .id.pager_tab_strip) lateinit var tabs: TabLayout
34
34
35
- private var mSearchView : SearchView ? = null
36
- private var searchView : MenuItem ? = null
35
+ private var searchView : SearchView ? = null
36
+ private var searchMenuItem : MenuItem ? = null
37
37
private var albumArtistOnly: MenuItem ? = null
38
38
private var pagerAdapter: LibraryPagerAdapter ? = null
39
39
private var scope: Scope ? = null
@@ -43,15 +43,31 @@ class LibraryActivity : BaseActivity(),
43
43
44
44
override fun onQueryTextSubmit (query : String ): Boolean {
45
45
if (! TextUtils .isEmpty(query) && query.trim { it <= ' ' }.isNotEmpty()) {
46
+ closeSearch()
47
+
46
48
val searchIntent = Intent (this , SearchResultsActivity ::class .java)
47
49
searchIntent.putExtra(SearchResultsActivity .QUERY , query.trim { it <= ' ' })
48
50
startActivity(searchIntent)
49
51
}
50
- mSearchView!! .isIconified = true
51
- MenuItemCompat .collapseActionView(searchView)
52
+
52
53
return true
53
54
}
54
55
56
+ private fun closeSearch (): Boolean {
57
+ searchView?.let {
58
+ if (it.isShown) {
59
+ it.isIconified = true
60
+ it.isFocusable = false
61
+ it.clearFocus()
62
+ it.setQuery(" " , false )
63
+ searchMenuItem?.collapseActionView()
64
+ MenuItemCompat .collapseActionView(searchMenuItem)
65
+ return true
66
+ }
67
+ }
68
+ return false
69
+ }
70
+
55
71
override fun onQueryTextChange (newText : String ): Boolean {
56
72
return false
57
73
}
@@ -72,12 +88,12 @@ class LibraryActivity : BaseActivity(),
72
88
73
89
override fun onCreateOptionsMenu (menu : Menu ): Boolean {
74
90
menuInflater.inflate(R .menu.library_search, menu)
75
- searchView = menu.findItem(R .id.library_search_item)
91
+ searchMenuItem = menu.findItem(R .id.library_search_item)
76
92
albumArtistOnly = menu.findItem(R .id.library_album_artist)
77
- mSearchView = MenuItemCompat .getActionView(searchView ) as SearchView
78
- mSearchView !! .queryHint = getString(R .string.library_search_hint)
79
- mSearchView !! .setIconifiedByDefault(true )
80
- mSearchView !! .setOnQueryTextListener(this )
93
+ searchView = MenuItemCompat .getActionView(searchMenuItem ) as SearchView
94
+ searchView !! .queryHint = getString(R .string.library_search_hint)
95
+ searchView !! .setIconifiedByDefault(true )
96
+ searchView !! .setOnQueryTextListener(this )
81
97
presenter.loadArtistPreference()
82
98
return super .onCreateOptionsMenu(menu)
83
99
}
@@ -113,6 +129,13 @@ class LibraryActivity : BaseActivity(),
113
129
presenter.detach()
114
130
}
115
131
132
+ override fun onBackPressed () {
133
+ if (closeSearch()) {
134
+ return
135
+ }
136
+ super .onBackPressed()
137
+ }
138
+
116
139
override fun onPageScrolled (position : Int , positionOffset : Float , positionOffsetPixels : Int ) {
117
140
118
141
}
0 commit comments