@@ -52,33 +52,12 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
5252
5353 ensureBackgroundThread {
5454 getProperFileDirItems { fileDirItems ->
55- FileDirItem .sorting = config.getFolderSorting(currentMimeType)
56- fileDirItems.sort()
5755 val listItems = getListItemsFromFileDirItems(fileDirItems)
58- runOnUiThread {
59- ItemsAdapter (this as SimpleActivity , listItems, this , mimetypes_list, false , items_fastscroller, null ) {
60- tryOpenPathIntent((it as ListItem ).path, false )
61- }.apply {
62- mimetypes_list.adapter = this
63- }
64-
65- if (areSystemAnimationsEnabled) {
66- mimetypes_list.scheduleLayoutAnimation()
67- }
68-
69- val dateFormat = config.dateFormat
70- val timeFormat = getTimeFormat()
71- items_fastscroller.setViews(mimetypes_list) {
72- val listItem = getRecyclerAdapter()?.listItems?.getOrNull(it)
73- items_fastscroller.updateBubbleText(listItem?.getBubbleText(this , dateFormat, timeFormat) ? : " " )
74- }
75- }
56+ setupAdapter(listItems)
7657 }
7758 }
7859 }
7960
80- private fun getRecyclerAdapter () = mimetypes_list.adapter as ? ItemsAdapter
81-
8261 override fun onCreateOptionsMenu (menu : Menu ): Boolean {
8362 menuInflater.inflate(R .menu.menu, menu)
8463 setupSearch(menu)
@@ -121,9 +100,63 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
121100 R .id.reduce_column_count -> reduceColumnCount()
122101 else -> return super .onOptionsItemSelected(item)
123102 }
103+
124104 return true
125105 }
126106
107+ override fun refreshFragment () {}
108+
109+ override fun deleteFiles (files : ArrayList <FileDirItem >) {}
110+
111+ override fun selectedPaths (paths : ArrayList <String >) {}
112+
113+ override fun searchQueryChanged (text : String ) {}
114+
115+ override fun setupDateTimeFormat () {}
116+
117+ override fun setupFontSize () {}
118+
119+ override fun toggleFilenameVisibility () {
120+ config.displayFilenames = ! config.displayFilenames
121+ }
122+
123+ override fun increaseColumnCount () {}
124+
125+ override fun reduceColumnCount () {}
126+
127+ override fun finishActMode () {}
128+
129+ private fun setupSearch (menu : Menu ) {
130+ val searchManager = getSystemService(Context .SEARCH_SERVICE ) as SearchManager
131+ searchMenuItem = menu.findItem(R .id.search)
132+ (searchMenuItem!! .actionView as SearchView ).apply {
133+ setSearchableInfo(searchManager.getSearchableInfo(componentName))
134+ isSubmitButtonEnabled = false
135+ queryHint = getString(R .string.search)
136+ setOnQueryTextListener(object : SearchView .OnQueryTextListener {
137+ override fun onQueryTextSubmit (query : String ) = false
138+
139+ override fun onQueryTextChange (newText : String ): Boolean {
140+ if (isSearchOpen) {
141+ }
142+ return true
143+ }
144+ })
145+ }
146+
147+ MenuItemCompat .setOnActionExpandListener(searchMenuItem, object : MenuItemCompat .OnActionExpandListener {
148+ override fun onMenuItemActionExpand (item : MenuItem ? ): Boolean {
149+ isSearchOpen = true
150+ return true
151+ }
152+
153+ override fun onMenuItemActionCollapse (item : MenuItem ? ): Boolean {
154+ isSearchOpen = false
155+ return true
156+ }
157+ })
158+ }
159+
127160 private fun getProperFileDirItems (callback : (ArrayList <FileDirItem >) -> Unit ) {
128161 val fileDirItems = ArrayList <FileDirItem >()
129162 val showHidden = config.shouldShowHidden
@@ -187,6 +220,30 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
187220 callback(fileDirItems)
188221 }
189222
223+ private fun setupAdapter (listItems : ArrayList <ListItem >) {
224+ FileDirItem .sorting = config.getFolderSorting(currentMimeType)
225+ listItems.sort()
226+
227+ runOnUiThread {
228+ ItemsAdapter (this as SimpleActivity , listItems, this , mimetypes_list, false , items_fastscroller, null ) {
229+ tryOpenPathIntent((it as ListItem ).path, false )
230+ }.apply {
231+ mimetypes_list.adapter = this
232+ }
233+
234+ if (areSystemAnimationsEnabled) {
235+ mimetypes_list.scheduleLayoutAnimation()
236+ }
237+
238+ val dateFormat = config.dateFormat
239+ val timeFormat = getTimeFormat()
240+ items_fastscroller.setViews(mimetypes_list) {
241+ val listItem = getRecyclerAdapter()?.listItems?.getOrNull(it)
242+ items_fastscroller.updateBubbleText(listItem?.getBubbleText(this , dateFormat, timeFormat) ? : " " )
243+ }
244+ }
245+ }
246+
190247 private fun getListItemsFromFileDirItems (fileDirItems : ArrayList <FileDirItem >): ArrayList <ListItem > {
191248 val listItems = ArrayList <ListItem >()
192249 fileDirItems.forEach {
@@ -196,64 +253,17 @@ class MimeTypesActivity : SimpleActivity(), ItemOperationsListener {
196253 return listItems
197254 }
198255
199- private fun setupSearch (menu : Menu ) {
200- val searchManager = getSystemService(Context .SEARCH_SERVICE ) as SearchManager
201- searchMenuItem = menu.findItem(R .id.search)
202- (searchMenuItem!! .actionView as SearchView ).apply {
203- setSearchableInfo(searchManager.getSearchableInfo(componentName))
204- isSubmitButtonEnabled = false
205- queryHint = getString(R .string.search)
206- setOnQueryTextListener(object : SearchView .OnQueryTextListener {
207- override fun onQueryTextSubmit (query : String ) = false
208-
209- override fun onQueryTextChange (newText : String ): Boolean {
210- if (isSearchOpen) {
211- }
212- return true
213- }
214- })
215- }
216-
217- MenuItemCompat .setOnActionExpandListener(searchMenuItem, object : MenuItemCompat .OnActionExpandListener {
218- override fun onMenuItemActionExpand (item : MenuItem ? ): Boolean {
219- isSearchOpen = true
220- return true
221- }
222-
223- override fun onMenuItemActionCollapse (item : MenuItem ? ): Boolean {
224- isSearchOpen = false
225- return true
226- }
227- })
228- }
256+ private fun getRecyclerAdapter () = mimetypes_list.adapter as ? ItemsAdapter
229257
230258 private fun showSortingDialog () {
231259 ChangeSortingDialog (this , currentMimeType) {
260+ val listItems = getRecyclerAdapter()?.listItems
261+ if (listItems != null ) {
262+ setupAdapter(listItems as ArrayList <ListItem >)
263+ }
232264 }
233265 }
234266
235- override fun refreshFragment () {}
236-
237- override fun deleteFiles (files : ArrayList <FileDirItem >) {}
238-
239- override fun selectedPaths (paths : ArrayList <String >) {}
240-
241- override fun searchQueryChanged (text : String ) {}
242-
243- override fun setupDateTimeFormat () {}
244-
245- override fun setupFontSize () {}
246-
247- override fun toggleFilenameVisibility () {
248- config.displayFilenames = ! config.displayFilenames
249- }
250-
251- override fun increaseColumnCount () {}
252-
253- override fun reduceColumnCount () {}
254-
255- override fun finishActMode () {}
256-
257267 private fun changeViewType () {
258268 ChangeViewTypeDialog (this , currentMimeType, true ) { }
259269 }
0 commit comments