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.13.1' propVersionName = '3.13.2' kotlin_version = '1.2.21' support_libs = '27.0.2' } Loading commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Activity.kt +39 −13 Original line number Diff line number Diff line Loading @@ -335,12 +335,14 @@ fun BaseSimpleActivity.deleteFoldersBg(folders: ArrayList<FileDirItem>, deleteMe wasSuccess = true if (index == folders.size - 1) { runOnUiThread { callback?.invoke(wasSuccess) } } } } } } fun BaseSimpleActivity.deleteFolder(folder: FileDirItem, deleteMediaOnly: Boolean = true, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (Looper.myLooper() == Looper.getMainLooper()) { Loading @@ -357,7 +359,9 @@ fun BaseSimpleActivity.deleteFolderBg(fileDirItem: FileDirItem, deleteMediaOnly: if (folder.exists()) { val filesArr = folder.listFiles() if (filesArr == null) { runOnUiThread { callback?.invoke(true) } return } Loading @@ -371,8 +375,10 @@ fun BaseSimpleActivity.deleteFolderBg(fileDirItem: FileDirItem, deleteMediaOnly: deleteFileBg(fileDirItem, true) { } } } runOnUiThread { callback?.invoke(true) } } fun BaseSimpleActivity.deleteFiles(files: ArrayList<FileDirItem>, allowDeleteFolder: Boolean = false, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (Looper.myLooper() == Looper.getMainLooper()) { Loading @@ -386,7 +392,9 @@ fun BaseSimpleActivity.deleteFiles(files: ArrayList<FileDirItem>, allowDeleteFol fun BaseSimpleActivity.deleteFilesBg(files: ArrayList<FileDirItem>, allowDeleteFolder: Boolean = false, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (files.isEmpty()) { runOnUiThread { callback?.invoke(true) } return } Loading @@ -399,12 +407,14 @@ fun BaseSimpleActivity.deleteFilesBg(files: ArrayList<FileDirItem>, allowDeleteF } if (index == files.size - 1) { runOnUiThread { callback?.invoke(wasSuccess) } } } } } } fun BaseSimpleActivity.deleteFile(fileDirItem: FileDirItem, allowDeleteFolder: Boolean = false, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (Looper.myLooper() == Looper.getMainLooper()) { Loading @@ -423,8 +433,10 @@ fun BaseSimpleActivity.deleteFileBg(fileDirItem: FileDirItem, allowDeleteFolder: var fileDeleted = !path.startsWith(OTG_PATH) && ((!file.exists() && file.length() == 0L) || file.delete()) if (fileDeleted) { rescanDeletedPath(path) { runOnUiThread { callback?.invoke(true) } } } else { if (file.isDirectory && allowDeleteFolder) { fileDeleted = deleteRecursively(file) Loading Loading @@ -479,7 +491,9 @@ fun BaseSimpleActivity.renameFile(oldPath: String, newPath: String, callback: (( handleSAFDialog(newPath) { val document = getDocumentFile(oldPath) if (document == null || (File(oldPath).isDirectory != document.isDirectory)) { runOnUiThread { callback?.invoke(false) } return@handleSAFDialog } Loading @@ -491,35 +505,47 @@ fun BaseSimpleActivity.renameFile(oldPath: String, newPath: String, callback: (( if (!baseConfig.keepLastModified) { updateLastModified(newPath, System.currentTimeMillis()) } runOnUiThread { callback?.invoke(true) } } } else { runOnUiThread { callback?.invoke(false) } } } catch (e: SecurityException) { showErrorToast(e) runOnUiThread { callback?.invoke(false) } } } } else if (File(oldPath).renameTo(File(newPath))) { if (File(newPath).isDirectory) { deleteFromMediaStore(oldPath) scanPath(newPath) { runOnUiThread { callback?.invoke(true) } } } else { if (!baseConfig.keepLastModified) { File(newPath).setLastModified(System.currentTimeMillis()) } updateInMediaStore(oldPath, newPath) scanPaths(arrayListOf(oldPath, newPath)) { runOnUiThread { callback?.invoke(true) } } } } else { runOnUiThread { callback?.invoke(false) } } } fun Activity.hideKeyboard() { val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager 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.13.1' propVersionName = '3.13.2' kotlin_version = '1.2.21' support_libs = '27.0.2' } Loading
commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Activity.kt +39 −13 Original line number Diff line number Diff line Loading @@ -335,12 +335,14 @@ fun BaseSimpleActivity.deleteFoldersBg(folders: ArrayList<FileDirItem>, deleteMe wasSuccess = true if (index == folders.size - 1) { runOnUiThread { callback?.invoke(wasSuccess) } } } } } } fun BaseSimpleActivity.deleteFolder(folder: FileDirItem, deleteMediaOnly: Boolean = true, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (Looper.myLooper() == Looper.getMainLooper()) { Loading @@ -357,7 +359,9 @@ fun BaseSimpleActivity.deleteFolderBg(fileDirItem: FileDirItem, deleteMediaOnly: if (folder.exists()) { val filesArr = folder.listFiles() if (filesArr == null) { runOnUiThread { callback?.invoke(true) } return } Loading @@ -371,8 +375,10 @@ fun BaseSimpleActivity.deleteFolderBg(fileDirItem: FileDirItem, deleteMediaOnly: deleteFileBg(fileDirItem, true) { } } } runOnUiThread { callback?.invoke(true) } } fun BaseSimpleActivity.deleteFiles(files: ArrayList<FileDirItem>, allowDeleteFolder: Boolean = false, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (Looper.myLooper() == Looper.getMainLooper()) { Loading @@ -386,7 +392,9 @@ fun BaseSimpleActivity.deleteFiles(files: ArrayList<FileDirItem>, allowDeleteFol fun BaseSimpleActivity.deleteFilesBg(files: ArrayList<FileDirItem>, allowDeleteFolder: Boolean = false, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (files.isEmpty()) { runOnUiThread { callback?.invoke(true) } return } Loading @@ -399,12 +407,14 @@ fun BaseSimpleActivity.deleteFilesBg(files: ArrayList<FileDirItem>, allowDeleteF } if (index == files.size - 1) { runOnUiThread { callback?.invoke(wasSuccess) } } } } } } fun BaseSimpleActivity.deleteFile(fileDirItem: FileDirItem, allowDeleteFolder: Boolean = false, callback: ((wasSuccess: Boolean) -> Unit)? = null) { if (Looper.myLooper() == Looper.getMainLooper()) { Loading @@ -423,8 +433,10 @@ fun BaseSimpleActivity.deleteFileBg(fileDirItem: FileDirItem, allowDeleteFolder: var fileDeleted = !path.startsWith(OTG_PATH) && ((!file.exists() && file.length() == 0L) || file.delete()) if (fileDeleted) { rescanDeletedPath(path) { runOnUiThread { callback?.invoke(true) } } } else { if (file.isDirectory && allowDeleteFolder) { fileDeleted = deleteRecursively(file) Loading Loading @@ -479,7 +491,9 @@ fun BaseSimpleActivity.renameFile(oldPath: String, newPath: String, callback: (( handleSAFDialog(newPath) { val document = getDocumentFile(oldPath) if (document == null || (File(oldPath).isDirectory != document.isDirectory)) { runOnUiThread { callback?.invoke(false) } return@handleSAFDialog } Loading @@ -491,35 +505,47 @@ fun BaseSimpleActivity.renameFile(oldPath: String, newPath: String, callback: (( if (!baseConfig.keepLastModified) { updateLastModified(newPath, System.currentTimeMillis()) } runOnUiThread { callback?.invoke(true) } } } else { runOnUiThread { callback?.invoke(false) } } } catch (e: SecurityException) { showErrorToast(e) runOnUiThread { callback?.invoke(false) } } } } else if (File(oldPath).renameTo(File(newPath))) { if (File(newPath).isDirectory) { deleteFromMediaStore(oldPath) scanPath(newPath) { runOnUiThread { callback?.invoke(true) } } } else { if (!baseConfig.keepLastModified) { File(newPath).setLastModified(System.currentTimeMillis()) } updateInMediaStore(oldPath, newPath) scanPaths(arrayListOf(oldPath, newPath)) { runOnUiThread { callback?.invoke(true) } } } } else { runOnUiThread { callback?.invoke(false) } } } fun Activity.hideKeyboard() { val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager Loading