Loading commons/src/main/kotlin/com/simplemobiletools/commons/activities/BaseSimpleActivity.kt +1 −1 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ open class BaseSimpleActivity : AppCompatActivity() { if (isCopyOperation) { startCopyMove(fileDirItems, FileDirItem(destination), isCopyOperation, copyPhotoVideoOnly, copyHidden) } else { if (isPathOnSD(source) || isPathOnSD(destination) || fileDirItems.first().isDirectory || isNougatPlus()) { if (isPathOnOTG(source) || isPathOnOTG(destination) || isPathOnSD(source) || isPathOnSD(destination) || fileDirItems.first().isDirectory || isNougatPlus()) { handleSAFDialog(source) { startCopyMove(fileDirItems, FileDirItem(destination), isCopyOperation, copyPhotoVideoOnly, copyHidden) } Loading commons/src/main/kotlin/com/simplemobiletools/commons/asynctasks/CopyMoveTask.kt +2 −2 Original line number Diff line number Diff line Loading @@ -30,9 +30,9 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal private val PROGRESS_RECHECK_INTERVAL = 500L private var mListener: WeakReference<CopyMoveListener>? = null private var mMovedFiles: ArrayList<FileDirItem> = ArrayList() private var mMovedFiles = ArrayList<FileDirItem>() private var mDocuments = LinkedHashMap<String, DocumentFile?>() private lateinit var mFiles: ArrayList<FileDirItem> private var mFiles = ArrayList<FileDirItem>() private var mFileCountToCopy = 0 // progress indication Loading commons/src/main/kotlin/com/simplemobiletools/commons/dialogs/FilePickerDialog.kt +7 −6 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.adapters.FilepickerItemsAdapter import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.OTG_PATH import com.simplemobiletools.commons.helpers.SORT_BY_SIZE import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.commons.views.Breadcrumbs import kotlinx.android.synthetic.main.dialog_filepicker.view.* Loading Loading @@ -100,7 +101,7 @@ class FilePickerDialog(val activity: BaseSimpleActivity, private fun tryUpdateItems() { Thread { getItems(currPath) { getItems(currPath, activity.baseConfig.sorting and SORT_BY_SIZE != 0) { activity.runOnUiThread { updateItems(it) } Loading Loading @@ -165,15 +166,15 @@ class FilePickerDialog(val activity: BaseSimpleActivity, mDialog.dismiss() } private fun getItems(path: String, callback: (List<FileDirItem>) -> Unit) { private fun getItems(path: String, getProperFileSize: Boolean, callback: (List<FileDirItem>) -> Unit) { if (path.startsWith(OTG_PATH)) { activity.getOTGItems(path, showHidden, callback) activity.getOTGItems(path, showHidden, getProperFileSize, callback) } else { getRegularItems(path, callback) getRegularItems(path, getProperFileSize, callback) } } private fun getRegularItems(path: String, callback: (List<FileDirItem>) -> Unit) { private fun getRegularItems(path: String, getProperFileSize: Boolean, callback: (List<FileDirItem>) -> Unit) { val items = ArrayList<FileDirItem>() val base = File(path) val files = base.listFiles() Loading @@ -189,7 +190,7 @@ class FilePickerDialog(val activity: BaseSimpleActivity, val curPath = file.absolutePath val curName = curPath.getFilenameFromPath() val size = file.length() val size = if (getProperFileSize) file.getProperSize(showHidden) else file.length() items.add(FileDirItem(curPath, curName, file.isDirectory, getChildren(file), size)) } callback(items) Loading commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Context-storage.kt +3 −3 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, countHiddenItems: Boolean, callback: (ArrayList<FileDirItem>) -> Unit) { fun Context.getOTGItems(path: String, countHiddenItems: Boolean, getProperFileSize: Boolean, callback: (ArrayList<FileDirItem>) -> Unit) { val items = ArrayList<FileDirItem>() val OTGTreeUri = baseConfig.OTGTreeUri var rootUri = DocumentFile.fromTreeUri(applicationContext, Uri.parse(OTGTreeUri)) Loading Loading @@ -319,8 +319,8 @@ fun Context.getOTGItems(path: String, countHiddenItems: Boolean, callback: (Arra 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.getItemSize(countHiddenItems))) val fileSize = if (getProperFileSize) file.getItemSize(countHiddenItems) else file.length() items.add(FileDirItem(decodedPath, file.name, file.isDirectory, file.listFiles()?.size ?: 0, fileSize)) } } callback(items) Loading commons/src/main/kotlin/com/simplemobiletools/commons/helpers/BaseConfig.kt +4 −0 Original line number Diff line number Diff line Loading @@ -151,4 +151,8 @@ open class BaseConfig(val context: Context) { var avoidWhatsNew: Boolean get() = prefs.getBoolean(AVOID_WHATS_NEW, false) set(avoidWhatsNew) = prefs.edit().putBoolean(AVOID_WHATS_NEW, avoidWhatsNew).apply() var sorting: Int get() = prefs.getInt(SORT_ORDER, context.resources.getInteger(R.integer.default_sorting)) set(sorting) = prefs.edit().putInt(SORT_ORDER, sorting).apply() } Loading
commons/src/main/kotlin/com/simplemobiletools/commons/activities/BaseSimpleActivity.kt +1 −1 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ open class BaseSimpleActivity : AppCompatActivity() { if (isCopyOperation) { startCopyMove(fileDirItems, FileDirItem(destination), isCopyOperation, copyPhotoVideoOnly, copyHidden) } else { if (isPathOnSD(source) || isPathOnSD(destination) || fileDirItems.first().isDirectory || isNougatPlus()) { if (isPathOnOTG(source) || isPathOnOTG(destination) || isPathOnSD(source) || isPathOnSD(destination) || fileDirItems.first().isDirectory || isNougatPlus()) { handleSAFDialog(source) { startCopyMove(fileDirItems, FileDirItem(destination), isCopyOperation, copyPhotoVideoOnly, copyHidden) } Loading
commons/src/main/kotlin/com/simplemobiletools/commons/asynctasks/CopyMoveTask.kt +2 −2 Original line number Diff line number Diff line Loading @@ -30,9 +30,9 @@ class CopyMoveTask(val activity: BaseSimpleActivity, val copyOnly: Boolean = fal private val PROGRESS_RECHECK_INTERVAL = 500L private var mListener: WeakReference<CopyMoveListener>? = null private var mMovedFiles: ArrayList<FileDirItem> = ArrayList() private var mMovedFiles = ArrayList<FileDirItem>() private var mDocuments = LinkedHashMap<String, DocumentFile?>() private lateinit var mFiles: ArrayList<FileDirItem> private var mFiles = ArrayList<FileDirItem>() private var mFileCountToCopy = 0 // progress indication Loading
commons/src/main/kotlin/com/simplemobiletools/commons/dialogs/FilePickerDialog.kt +7 −6 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.adapters.FilepickerItemsAdapter import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.OTG_PATH import com.simplemobiletools.commons.helpers.SORT_BY_SIZE import com.simplemobiletools.commons.models.FileDirItem import com.simplemobiletools.commons.views.Breadcrumbs import kotlinx.android.synthetic.main.dialog_filepicker.view.* Loading Loading @@ -100,7 +101,7 @@ class FilePickerDialog(val activity: BaseSimpleActivity, private fun tryUpdateItems() { Thread { getItems(currPath) { getItems(currPath, activity.baseConfig.sorting and SORT_BY_SIZE != 0) { activity.runOnUiThread { updateItems(it) } Loading Loading @@ -165,15 +166,15 @@ class FilePickerDialog(val activity: BaseSimpleActivity, mDialog.dismiss() } private fun getItems(path: String, callback: (List<FileDirItem>) -> Unit) { private fun getItems(path: String, getProperFileSize: Boolean, callback: (List<FileDirItem>) -> Unit) { if (path.startsWith(OTG_PATH)) { activity.getOTGItems(path, showHidden, callback) activity.getOTGItems(path, showHidden, getProperFileSize, callback) } else { getRegularItems(path, callback) getRegularItems(path, getProperFileSize, callback) } } private fun getRegularItems(path: String, callback: (List<FileDirItem>) -> Unit) { private fun getRegularItems(path: String, getProperFileSize: Boolean, callback: (List<FileDirItem>) -> Unit) { val items = ArrayList<FileDirItem>() val base = File(path) val files = base.listFiles() Loading @@ -189,7 +190,7 @@ class FilePickerDialog(val activity: BaseSimpleActivity, val curPath = file.absolutePath val curName = curPath.getFilenameFromPath() val size = file.length() val size = if (getProperFileSize) file.getProperSize(showHidden) else file.length() items.add(FileDirItem(curPath, curName, file.isDirectory, getChildren(file), size)) } callback(items) Loading
commons/src/main/kotlin/com/simplemobiletools/commons/extensions/Context-storage.kt +3 −3 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, countHiddenItems: Boolean, callback: (ArrayList<FileDirItem>) -> Unit) { fun Context.getOTGItems(path: String, countHiddenItems: Boolean, getProperFileSize: Boolean, callback: (ArrayList<FileDirItem>) -> Unit) { val items = ArrayList<FileDirItem>() val OTGTreeUri = baseConfig.OTGTreeUri var rootUri = DocumentFile.fromTreeUri(applicationContext, Uri.parse(OTGTreeUri)) Loading Loading @@ -319,8 +319,8 @@ fun Context.getOTGItems(path: String, countHiddenItems: Boolean, callback: (Arra 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.getItemSize(countHiddenItems))) val fileSize = if (getProperFileSize) file.getItemSize(countHiddenItems) else file.length() items.add(FileDirItem(decodedPath, file.name, file.isDirectory, file.listFiles()?.size ?: 0, fileSize)) } } callback(items) Loading
commons/src/main/kotlin/com/simplemobiletools/commons/helpers/BaseConfig.kt +4 −0 Original line number Diff line number Diff line Loading @@ -151,4 +151,8 @@ open class BaseConfig(val context: Context) { var avoidWhatsNew: Boolean get() = prefs.getBoolean(AVOID_WHATS_NEW, false) set(avoidWhatsNew) = prefs.edit().putBoolean(AVOID_WHATS_NEW, avoidWhatsNew).apply() var sorting: Int get() = prefs.getInt(SORT_ORDER, context.resources.getInteger(R.integer.default_sorting)) set(sorting) = prefs.edit().putInt(SORT_ORDER, sorting).apply() }