Loading build.gradle +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ buildscript { propMinSdkVersion = 16 propTargetSdkVersion = propCompileSdkVersion propVersionCode = 1 propVersionName = '3.11.38' propVersionName = '3.11.39' kotlin_version = '1.2.21' support_libs = '27.0.2' } Loading commons/src/main/kotlin/com/simplemobiletools/commons/dialogs/FilePickerDialog.kt +1 −1 Original line number Diff line number Diff line Loading @@ -167,7 +167,7 @@ class FilePickerDialog(val activity: BaseSimpleActivity, private fun getItems(path: String, callback: (List<FileDirItem>) -> Unit) { if (path.startsWith(OTG_PATH)) { activity.getOTGItems(path, callback) activity.getOTGItems(path, showHidden, callback) } else { getRegularItems(path, callback) } Loading commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Context-storage.kt +2 −2 Original line number Diff line number Diff line Loading @@ -283,7 +283,7 @@ fun Context.updateLastModified(path: String, lastModified: Long) { } } fun Context.getOTGItems(path: String, callback: (ArrayList<FileDirItem>) -> Unit) { fun Context.getOTGItems(path: String, countHiddenItems: Boolean, callback: (ArrayList<FileDirItem>) -> Unit) { val items = ArrayList<FileDirItem>() val OTGTreeUri = baseConfig.OTGTreeUri var rootUri = DocumentFile.fromTreeUri(applicationContext, Uri.parse(OTGTreeUri)) Loading Loading @@ -319,7 +319,7 @@ fun Context.getOTGItems(path: String, callback: (ArrayList<FileDirItem>) -> Unit if (file.exists()) { val filePath = file.uri.toString().substring(basePath.length) val decodedPath = OTG_PATH + "/" + URLDecoder.decode(filePath, "UTF-8") items.add(FileDirItem(decodedPath, file.name, file.isDirectory, file.listFiles()?.size ?: 0, file.length())) items.add(FileDirItem(decodedPath, file.name, file.isDirectory, file.listFiles()?.size ?: 0, file.getItemSize(countHiddenItems))) } } callback(items) Loading commons/src/main/kotlin/com/simplemobiletools/commons/extensions/DocumentFile.kt 0 → 100644 +29 −0 Original line number Diff line number Diff line package com.simplemobiletools.commons.extensions import android.support.v4.provider.DocumentFile fun DocumentFile.getItemSize(countHiddenItems: Boolean): Long { return if (isDirectory) { getDirectorySize(this, countHiddenItems) } else { length() } } private fun getDirectorySize(dir: DocumentFile, countHiddenItems: Boolean): Long { var size = 0L if (dir.exists()) { val files = dir.listFiles() if (files != null) { for (i in files.indices) { val file = files[i] if (file.isDirectory) { size += getDirectorySize(file, countHiddenItems) } else if (!file.name.startsWith(".") || countHiddenItems) { size += file.length() } } } } return size } commons/src/main/kotlin/com/simplemobiletools/commons/extensions/File.kt +4 −3 Original line number Diff line number Diff line Loading @@ -138,9 +138,10 @@ private fun getDirectoryFileCount(dir: File, countHiddenItems: Boolean): Int { val files = dir.listFiles() if (files != null) { for (i in files.indices) { if (files[i].isDirectory) { count += getDirectoryFileCount(files[i], countHiddenItems) } else if (!files[i].isHidden && !dir.isHidden || countHiddenItems) { val file = files[i] if (file.isDirectory) { count += getDirectoryFileCount(file, countHiddenItems) } else if (!file.isHidden || countHiddenItems) { count++ } } Loading Loading
build.gradle +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ buildscript { propMinSdkVersion = 16 propTargetSdkVersion = propCompileSdkVersion propVersionCode = 1 propVersionName = '3.11.38' propVersionName = '3.11.39' kotlin_version = '1.2.21' support_libs = '27.0.2' } Loading
commons/src/main/kotlin/com/simplemobiletools/commons/dialogs/FilePickerDialog.kt +1 −1 Original line number Diff line number Diff line Loading @@ -167,7 +167,7 @@ class FilePickerDialog(val activity: BaseSimpleActivity, private fun getItems(path: String, callback: (List<FileDirItem>) -> Unit) { if (path.startsWith(OTG_PATH)) { activity.getOTGItems(path, callback) activity.getOTGItems(path, showHidden, callback) } else { getRegularItems(path, callback) } Loading
commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Context-storage.kt +2 −2 Original line number Diff line number Diff line Loading @@ -283,7 +283,7 @@ fun Context.updateLastModified(path: String, lastModified: Long) { } } fun Context.getOTGItems(path: String, callback: (ArrayList<FileDirItem>) -> Unit) { fun Context.getOTGItems(path: String, countHiddenItems: Boolean, callback: (ArrayList<FileDirItem>) -> Unit) { val items = ArrayList<FileDirItem>() val OTGTreeUri = baseConfig.OTGTreeUri var rootUri = DocumentFile.fromTreeUri(applicationContext, Uri.parse(OTGTreeUri)) Loading Loading @@ -319,7 +319,7 @@ fun Context.getOTGItems(path: String, callback: (ArrayList<FileDirItem>) -> Unit if (file.exists()) { val filePath = file.uri.toString().substring(basePath.length) val decodedPath = OTG_PATH + "/" + URLDecoder.decode(filePath, "UTF-8") items.add(FileDirItem(decodedPath, file.name, file.isDirectory, file.listFiles()?.size ?: 0, file.length())) items.add(FileDirItem(decodedPath, file.name, file.isDirectory, file.listFiles()?.size ?: 0, file.getItemSize(countHiddenItems))) } } callback(items) Loading
commons/src/main/kotlin/com/simplemobiletools/commons/extensions/DocumentFile.kt 0 → 100644 +29 −0 Original line number Diff line number Diff line package com.simplemobiletools.commons.extensions import android.support.v4.provider.DocumentFile fun DocumentFile.getItemSize(countHiddenItems: Boolean): Long { return if (isDirectory) { getDirectorySize(this, countHiddenItems) } else { length() } } private fun getDirectorySize(dir: DocumentFile, countHiddenItems: Boolean): Long { var size = 0L if (dir.exists()) { val files = dir.listFiles() if (files != null) { for (i in files.indices) { val file = files[i] if (file.isDirectory) { size += getDirectorySize(file, countHiddenItems) } else if (!file.name.startsWith(".") || countHiddenItems) { size += file.length() } } } } return size }
commons/src/main/kotlin/com/simplemobiletools/commons/extensions/File.kt +4 −3 Original line number Diff line number Diff line Loading @@ -138,9 +138,10 @@ private fun getDirectoryFileCount(dir: File, countHiddenItems: Boolean): Int { val files = dir.listFiles() if (files != null) { for (i in files.indices) { if (files[i].isDirectory) { count += getDirectoryFileCount(files[i], countHiddenItems) } else if (!files[i].isHidden && !dir.isHidden || countHiddenItems) { val file = files[i] if (file.isDirectory) { count += getDirectoryFileCount(file, countHiddenItems) } else if (!file.isHidden || countHiddenItems) { count++ } } Loading