Skip to content

Commit 037d010

Browse files
committed
add renaming
1 parent 5848c68 commit 037d010

File tree

3 files changed

+28
-15
lines changed

3 files changed

+28
-15
lines changed

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy
1313
import com.simplemobiletools.filemanager.Config
1414
import com.simplemobiletools.filemanager.R
1515
import com.simplemobiletools.filemanager.activities.SimpleActivity
16+
import com.simplemobiletools.filemanager.dialogs.RenameItemDialog
1617
import com.simplemobiletools.filepicker.extensions.formatSize
1718
import com.simplemobiletools.filepicker.extensions.isGif
1819
import com.simplemobiletools.filepicker.extensions.toast
@@ -22,7 +23,7 @@ import kotlinx.android.synthetic.main.list_item.view.*
2223
import java.io.File
2324
import java.util.*
2425

25-
class ItemsAdapter(val activity: SimpleActivity, val mItems: List<FileDirItem>, val itemClick: (FileDirItem) -> Unit) :
26+
class ItemsAdapter(val activity: SimpleActivity, val mItems: List<FileDirItem>, val listener: ItemOperationsListener?, val itemClick: (FileDirItem) -> Unit) :
2627
RecyclerView.Adapter<ItemsAdapter.ViewHolder>() {
2728
val multiSelector = MultiSelector()
2829
val views = ArrayList<View>()
@@ -47,6 +48,10 @@ class ItemsAdapter(val activity: SimpleActivity, val mItems: List<FileDirItem>,
4748
val multiSelectorMode = object : ModalMultiSelectorCallback(multiSelector) {
4849
override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
4950
return when (item.itemId) {
51+
R.id.cab_rename -> {
52+
displayRenameDialog()
53+
true
54+
}
5055
R.id.cab_properties -> {
5156
showProperties()
5257
true
@@ -80,6 +85,15 @@ class ItemsAdapter(val activity: SimpleActivity, val mItems: List<FileDirItem>,
8085
}
8186
}
8287

88+
private fun displayRenameDialog() {
89+
RenameItemDialog(activity, getSelectedMedia()[0], object : RenameItemDialog.OnRenameItemListener {
90+
override fun onSuccess() {
91+
actMode?.finish()
92+
listener?.refreshItems()
93+
}
94+
})
95+
}
96+
8397
private fun showProperties() {
8498
val selections = multiSelector.selectedPositions
8599
if (selections.size <= 1) {
@@ -182,4 +196,8 @@ class ItemsAdapter(val activity: SimpleActivity, val mItems: List<FileDirItem>,
182196
}
183197
}
184198
}
199+
200+
interface ItemOperationsListener {
201+
fun refreshItems()
202+
}
185203
}

app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/RenameItemDialog.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ import com.simplemobiletools.filepicker.models.FileDirItem
1111
import kotlinx.android.synthetic.main.rename_item.view.*
1212
import java.io.File
1313

14-
class RenameItemDialog(val context: Context, val path: String, val item: FileDirItem, val listener: OnRenameItemListener) {
14+
class RenameItemDialog(val context: Context, val item: FileDirItem, val listener: OnRenameItemListener) {
1515

1616
init {
1717
val view = LayoutInflater.from(context).inflate(R.layout.rename_item, null)
1818
view.item_name.setText(item.name)
1919

20+
val path = File(item.path).parent
21+
2022
AlertDialog.Builder(context)
2123
.setTitle(context.resources.getString(R.string.rename_item))
2224
.setView(view)

app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.simplemobiletools.filemanager.activities.SimpleActivity
1919
import com.simplemobiletools.filemanager.adapters.ItemsAdapter
2020
import com.simplemobiletools.filemanager.dialogs.CopyDialog
2121
import com.simplemobiletools.filemanager.dialogs.CreateNewItemDialog
22-
import com.simplemobiletools.filemanager.dialogs.RenameItemDialog
2322
import com.simplemobiletools.filepicker.asynctasks.CopyMoveTask
2423
import com.simplemobiletools.filepicker.extensions.*
2524
import com.simplemobiletools.filepicker.models.FileDirItem
@@ -28,7 +27,7 @@ import kotlinx.android.synthetic.main.items_fragment.*
2827
import java.io.File
2928
import java.util.*
3029

31-
class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClickListener, /*ListView.MultiChoiceModeListener, */View.OnTouchListener {
30+
class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClickListener, ItemsAdapter.ItemOperationsListener, View.OnTouchListener {
3231
private var mListener: ItemInteractionListener? = null
3332
private var mSnackbar: Snackbar? = null
3433

@@ -78,7 +77,7 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
7877

7978
mItems = newItems
8079

81-
val adapter = ItemsAdapter(activity as SimpleActivity, mItems) {
80+
val adapter = ItemsAdapter(activity as SimpleActivity, mItems, this) {
8281

8382
}
8483
items_list.adapter = adapter
@@ -204,16 +203,6 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
204203
return true
205204
}*/
206205

207-
private fun displayRenameDialog() {
208-
val item = getSelectedItem() ?: return
209-
210-
RenameItemDialog(context, mPath, item, object : RenameItemDialog.OnRenameItemListener {
211-
override fun onSuccess() {
212-
fillItems()
213-
}
214-
})
215-
}
216-
217206
private fun displayCopyDialog() {
218207
val fileIndexes = getSelectedItemIndexes()
219208
if (fileIndexes.isEmpty())
@@ -328,6 +317,10 @@ class ItemsFragment : android.support.v4.app.Fragment(), AdapterView.OnItemClick
328317
fillItems()
329318
}
330319

320+
override fun refreshItems() {
321+
fillItems()
322+
}
323+
331324
interface ItemInteractionListener {
332325
fun itemClicked(item: FileDirItem)
333326
}

0 commit comments

Comments
 (0)