mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-02-11 01:10:48 +01:00
allow setting an OTG folder as the home folder
This commit is contained in:
parent
7bc23b8fbc
commit
345af31cd0
@ -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')
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user