From ad2c644f29480111968fe8efc95649ce4f6f1380 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 16 Feb 2018 18:30:21 +0100 Subject: [PATCH] updating commons to 3.11.52 --- app/build.gradle | 2 +- .../filemanager/adapters/ItemsAdapter.kt | 2 +- .../filemanager/dialogs/CompressAsDialog.kt | 12 +++---- .../dialogs/CreateNewItemDialog.kt | 14 ++++----- .../filemanager/dialogs/SaveAsDialog.kt | 18 +++++------ .../filemanager/fragments/ItemsFragment.kt | 31 ++----------------- 6 files changed, 25 insertions(+), 54 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index df2ce8d6..2762d3bf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -45,7 +45,7 @@ ext { } dependencies { - implementation 'com.simplemobiletools:commons:3.11.45' + implementation 'com.simplemobiletools:commons:3.11.52' implementation files('../libs/RootTools.jar') 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 d03b2893..acb2014f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt @@ -183,7 +183,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList Unit) { private val view = activity.layoutInflater.inflate(R.layout.dialog_compress_as, null) init { - val file = File(path) val filename = path.getFilenameFromPath() - val indexOfDot = if (filename.contains('.') && file.isFile) filename.lastIndexOf(".") else filename.length + val indexOfDot = if (filename.contains('.') && !activity.getIsPathDirectory(path)) filename.lastIndexOf(".") else filename.length val baseFilename = filename.substring(0, indexOfDot) - var realPath = file.parent.trimEnd('/') + var realPath = path.getParentPath() view.apply { file_name.setText(baseFilename) @@ -44,14 +42,14 @@ class CompressAsDialog(val activity: BaseSimpleActivity, val path: String, val c when { name.isEmpty() -> activity.toast(R.string.empty_name) name.isAValidFilename() -> { - val newFile = File(realPath, "$name.zip") - if (newFile.exists()) { + val newPath = "$realPath/$name.zip" + if (activity.doesFilePathExist(newPath)) { activity.toast(R.string.name_taken) return@OnClickListener } dismiss() - callback(newFile.absolutePath) + callback(newPath) } else -> activity.toast(R.string.invalid_name) } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt index fae1d61c..ad00cffe 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/CreateNewItemDialog.kt @@ -25,18 +25,18 @@ class CreateNewItemDialog(val activity: BaseSimpleActivity, val path: String, va if (name.isEmpty()) { activity.toast(R.string.empty_name) } else if (name.isAValidFilename()) { - val file = File(path, name) - if (file.exists()) { + val newPath = "$path/$name" + if (activity.doesFilePathExist(newPath)) { activity.toast(R.string.name_taken) return@OnClickListener } if (view.dialog_radio_group.checkedRadioButtonId == R.id.dialog_radio_directory) { - createDirectory("$path/$name", this) { + createDirectory(newPath, this) { callback(it) } } else { - createFile("$path/$name", this) { + createFile(newPath, this) { callback(it) } } @@ -51,7 +51,7 @@ class CreateNewItemDialog(val activity: BaseSimpleActivity, val path: String, va private fun createDirectory(path: String, alertDialog: AlertDialog, callback: (Boolean) -> Unit) { when { activity.needsStupidWritePermissions(this.path) -> activity.handleSAFDialog(path) { - val documentFile = activity.getDocumentFile(path) + val documentFile = activity.getDocumentFile(path.getParentPath()) if (documentFile == null) { val error = String.format(activity.getString(R.string.could_not_create_folder), path) activity.showErrorToast(error) @@ -72,14 +72,14 @@ class CreateNewItemDialog(val activity: BaseSimpleActivity, val path: String, va try { if (activity.needsStupidWritePermissions(path)) { activity.handleSAFDialog(path) { - val documentFile = activity.getDocumentFile(path) + val documentFile = activity.getDocumentFile(path.getParentPath()) if (documentFile == null) { val error = String.format(activity.getString(R.string.could_not_create_file), path) activity.showErrorToast(error) callback(false) return@handleSAFDialog } - documentFile.createFile("", path.getFilenameFromPath()) + documentFile.createFile(path.getMimeType(), path.getFilenameFromPath()) success(alertDialog) } } else if (File(path).createNewFile()) { diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/SaveAsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/SaveAsDialog.kt index c90cc3c8..efacd18e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/SaveAsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/dialogs/SaveAsDialog.kt @@ -8,16 +8,15 @@ import com.simplemobiletools.commons.dialogs.FilePickerDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.filemanager.R import kotlinx.android.synthetic.main.dialog_save_as.view.* -import java.io.File class SaveAsDialog(val activity: BaseSimpleActivity, var path: String, val callback: (savePath: String) -> Unit) { init { if (path.isEmpty()) { - path = "${activity.internalStoragePath}/${System.currentTimeMillis()}.txt" + path = "${activity.internalStoragePath}/${activity.getCurrentFormattedDateTime()}.txt" } - var realPath = File(path).parent.trimEnd('/') + var realPath = path.getParentPath() val view = activity.layoutInflater.inflate(R.layout.dialog_save_as, null).apply { save_as_path.text = activity.humanizePath(realPath) @@ -60,20 +59,21 @@ class SaveAsDialog(val activity: BaseSimpleActivity, var path: String, val callb return@setOnClickListener } - val newFile = File(realPath, "$filename.$extension") - if (!newFile.name.isAValidFilename()) { + val newFilename = "$filename.$extension" + val newPath = "$realPath/$newFilename" + if (!newFilename.isAValidFilename()) { activity.toast(R.string.filename_invalid_characters) return@setOnClickListener } - if (newFile.exists()) { - val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newFile.name) + if (activity.doesFilePathExist(newPath)) { + val title = String.format(activity.getString(R.string.file_already_exists_overwrite), newFilename) ConfirmationDialog(activity, title) { - callback(newFile.absolutePath) + callback(newPath) dismiss() } } else { - callback(newFile.absolutePath) + callback(newPath) dismiss() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt index fa3cae28..6ae32c77 100644 --- a/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/filemanager/fragments/ItemsFragment.kt @@ -200,8 +200,8 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb continue } - val children = getChildrenCount(file) - val size = if (file.isDirectory && context?.config?.sorting == SORT_BY_SIZE) getDirectorySize(file) else file.length() + val children = file.getDirectChildrenCount(showHidden) + val size = if (file.isDirectory && context?.config?.sorting == SORT_BY_SIZE) file.getProperSize(showHidden) else file.length() val fileDirItem = FileDirItem(curPath, curName, file.isDirectory, children, size) items.add(fileDirItem) } @@ -209,33 +209,6 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb callback(path, items) } - private fun getChildrenCount(file: File): Int { - val fileList: Array? = file.list() ?: return 0 - - if (file.isDirectory) { - return if (showHidden) { - fileList!!.size - } else { - fileList!!.count { fileName -> fileName[0] != '.' } - } - } - return 0 - } - - private fun getDirectorySize(directory: File): Long { - if (directory.exists()) { - val fileList = directory.listFiles() ?: return 0 - return fileList.indices.map { - if (fileList[it].isDirectory) { - getDirectorySize(fileList[it]) - } else { - fileList[it].length() - } - }.sum() - } - return 0 - } - private fun itemClicked(item: FileDirItem) { if (item.isDirectory) { (activity as? MainActivity)?.apply {