allow setting an OTG folder as the home folder

This commit is contained in:
tibbi 2018-02-15 15:51:11 +01:00
parent 7bc23b8fbc
commit 345af31cd0
3 changed files with 16 additions and 17 deletions

View File

@ -45,7 +45,7 @@ ext {
}
dependencies {
implementation 'com.simplemobiletools:commons:3.11.36'
implementation 'com.simplemobiletools:commons:3.11.38'
implementation files('../libs/RootTools.jar')

View File

@ -68,6 +68,10 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
override fun actionItemPressed(id: Int) {
if (selectedPositions.isEmpty()) {
return
}
when (id) {
R.id.cab_confirm_selection -> confirmSelection()
R.id.cab_rename -> displayRenameDialog()
@ -176,7 +180,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
private fun copyMoveTo(isCopyOperation: Boolean) {
val files = ArrayList<FileDirItem>()
selectedPositions.forEach { files.add(FileDirItem(fileDirItems[it].path, fileDirItems[it].name)) }
selectedPositions.forEach { fileDirItems[it] }
val source = if (!files[0].isDirectory) File(files[0].path).parent else files[0].path
FilePickerDialog(activity, source, false, activity.config.shouldShowHidden, true) {
@ -215,9 +219,6 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun compressSelection() {
if (selectedPositions.isEmpty())
return
val firstPath = fileDirItems[selectedPositions.first()].path
CompressAsDialog(activity, firstPath) {
activity.handleSAFDialog(firstPath) {
@ -239,9 +240,6 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun decompressSelection() {
if (selectedPositions.isEmpty())
return
val firstPath = fileDirItems[selectedPositions.first()].path
activity.handleSAFDialog(firstPath) {
activity.toast(R.string.decompressing)
@ -350,10 +348,6 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
}
private fun deleteFiles() {
if (selectedPositions.isEmpty()) {
return
}
val files = ArrayList<FileDirItem>(selectedPositions.size)
val removeFiles = ArrayList<FileDirItem>(selectedPositions.size)
val SAFPath = fileDirItems[selectedPositions.first()].path
@ -361,7 +355,7 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
activity.handleSAFDialog(SAFPath) {
selectedPositions.sortedDescending().forEach {
val file = fileDirItems[it]
files.add(FileDirItem(file.path, file.name))
files.add(file)
removeFiles.add(file)
activity.config.removeFavorite(file.path)
}

View File

@ -1,7 +1,9 @@
package com.simplemobiletools.filemanager.helpers
import android.content.Context
import com.simplemobiletools.commons.extensions.getFileDocument
import com.simplemobiletools.commons.extensions.getInternalStoragePath
import com.simplemobiletools.commons.extensions.isPathOnOTG
import com.simplemobiletools.commons.helpers.BaseConfig
import com.simplemobiletools.commons.helpers.SORT_BY_NAME
import java.io.File
@ -23,11 +25,14 @@ class Config(context: Context) : BaseConfig(context) {
var homeFolder: String
get(): String {
var home = prefs.getString(HOME_FOLDER, "")
if (home.isEmpty() || !File(home).exists() || !File(home).isDirectory) {
home = context.getInternalStoragePath()
var path = prefs.getString(HOME_FOLDER, "")
if (path.isEmpty() ||
(context.isPathOnOTG(path) && context.getFileDocument(path)?.isDirectory != true) ||
(!context.isPathOnOTG(path) && !File(path).isDirectory)) {
path = context.getInternalStoragePath()
homeFolder = path
}
return home
return path
}
set(homeFolder) = prefs.edit().putString(HOME_FOLDER, homeFolder).apply()