@@ -7,11 +7,9 @@ import android.net.Uri
77import android.os.Bundle
88import android.support.design.widget.Snackbar
99import android.view.LayoutInflater
10- import android.view.MotionEvent
1110import android.view.View
1211import android.view.ViewGroup
1312import android.webkit.MimeTypeMap
14- import android.widget.AdapterView
1513import com.simplemobiletools.filemanager.Config
1614import com.simplemobiletools.filemanager.PATH
1715import com.simplemobiletools.filemanager.R
@@ -27,7 +25,7 @@ import kotlinx.android.synthetic.main.items_fragment.*
2725import java.io.File
2826import java.util.*
2927
30- class ItemsFragment : android.support.v4.app.Fragment (), AdapterView.OnItemClickListener, ItemsAdapter.ItemOperationsListener, View.OnTouchListener {
28+ class ItemsFragment : android.support.v4.app.Fragment (), ItemsAdapter.ItemOperationsListener {
3129 private var mListener: ItemInteractionListener ? = null
3230 private var mSnackbar: Snackbar ? = null
3331
@@ -78,11 +76,11 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
7876 mItems = newItems
7977
8078 val adapter = ItemsAdapter (activity as SimpleActivity , mItems, this ) {
81-
79+ itemClicked(it)
8280 }
8381 items_list.adapter = adapter
8482 items_list.addItemDecoration(RecyclerViewDivider (context))
85- items_list.setOnTouchListener( this )
83+ items_list.setOnTouchListener { view, motionEvent -> checkDelete(); true }
8684 }
8785
8886 fun setListener (listener : ItemInteractionListener ) {
@@ -125,8 +123,7 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
125123 return 0
126124 }
127125
128- override fun onItemClick (parent : AdapterView <* >, view : View , position : Int , id : Long ) {
129- val item = mItems[position]
126+ fun itemClicked (item : FileDirItem ) {
130127 if (item.isDirectory) {
131128 mListener?.itemClicked(item)
132129 } else {
@@ -177,26 +174,12 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
177174 return type + " /*"
178175 }
179176
180- /* override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean {
181- val menuItem = menu.findItem(R.id.cab_rename)
182- menuItem.isVisible = mSelectedItemsCnt == 1
183- return true
184- }
185-
186- override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
177+ /* override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
187178 when (item.itemId) {
188- R.id.cab_rename -> {
189- displayRenameDialog()
190- mode.finish()
191- }
192179 R.id.cab_copy -> {
193180 displayCopyDialog()
194181 mode.finish()
195182 }
196- R.id.cab_delete -> {
197- prepareForDeleting()
198- mode.finish()
199- }
200183 else -> return false
201184 }
202185
@@ -227,15 +210,6 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
227210 })
228211 }
229212
230- private fun getSelectedItem (): FileDirItem ? {
231- val itemIndexes = getSelectedItemIndexes()
232- if (itemIndexes.isEmpty())
233- return null
234-
235- val itemIndex = itemIndexes[0 ]
236- return mItems[itemIndex]
237- }
238-
239213 private fun getSelectedItemIndexes (): List <Int > {
240214 /* val items = items_list.checkedItemPositions
241215 val cnt = items.size()
@@ -246,21 +220,15 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
246220 return ArrayList ()
247221 }
248222
249- private fun prepareForDeleting () {
250- mToBeDeleted.clear()
251- /* val items = items_list.checkedItemPositions
252- val cnt = items.size()
253- var deletedCnt = 0
254- for (i in 0..cnt - 1) {
255- if (items.valueAt(i)) {
256- val id = items.keyAt(i)
257- val path = mItems[id].path
258- mToBeDeleted.add(path)
259- deletedCnt++
260- }
261- }
223+ override fun prepareForDeleting (paths : ArrayList <String >) {
224+ activity.toast(R .string.deleting)
225+ mToBeDeleted = paths
226+ val deletedCnt = mToBeDeleted.size
227+
228+ if ((activity as SimpleActivity ).isShowingPermDialog(File (mToBeDeleted[0 ])))
229+ return
262230
263- notifyDeletion(deletedCnt)*/
231+ notifyDeletion(deletedCnt)
264232 }
265233
266234 private fun notifyDeletion (cnt : Int ) {
@@ -275,12 +243,10 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
275243 fillItems()
276244 }
277245
278- override fun onTouch ( v : View , event : MotionEvent ): Boolean {
279- if (mSnackbar != null && mSnackbar !! .isShown ) {
246+ fun checkDelete () {
247+ if (mSnackbar?.isShown == true ) {
280248 deleteItems()
281249 }
282-
283- return false
284250 }
285251
286252 private fun deleteItems () {
0 commit comments