diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt index e479091e..590c1277 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -19,10 +19,7 @@ import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.FilePickerDialog import com.simplemobiletools.commons.dialogs.PropertiesDialog import com.simplemobiletools.commons.dialogs.RenameItemDialog -import com.simplemobiletools.commons.extensions.formatSize -import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor -import com.simplemobiletools.commons.extensions.getMimeTypeFromPath -import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.filemanager.R import com.simplemobiletools.filemanager.activities.SimpleActivity @@ -215,17 +212,29 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList, targetPath: String) { + private fun compress(paths: Array, targetPath: String): Boolean { val BUFFER_SIZE = 8192 - var origin: BufferedInputStream? - val out = ZipOutputStream(BufferedOutputStream(FileOutputStream(targetPath))) + var out: ZipOutputStream? = null try { + out = ZipOutputStream(BufferedOutputStream(FileOutputStream(targetPath))) + var origin: BufferedInputStream? val data = ByteArray(BUFFER_SIZE) for (i in paths.indices) { @@ -243,9 +252,13 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList activity.toast(R.string.empty_name) + name.isAValidFilename() -> { + val newFile = File(file.parent, "$name.zip") + if (newFile.exists()) { + activity.toast(R.string.name_taken) + return@OnClickListener + } + + dismiss() + callback(newFile.absolutePath) + } + else -> activity.toast(R.string.invalid_name) + } }) } }