Remove explicit option to store downloads in app data folder

App data is typically deleted during app uninstallation, which some users are unaware of. The folder is also inaccessible externally by default in Android 11+, which is also annoying to users.

(cherry picked from commit 8a5d8c96ef65abfd7e0dce0f9530849e0afabf34)
This commit is contained in:
arkon 2022-01-01 10:44:27 -05:00 committed by Jobobby04
parent 0792ef3b1f
commit 7459a19e64

View File

@ -6,7 +6,6 @@ import android.content.ActivityNotFoundException
import android.content.Intent
import android.os.Bundle
import android.os.Environment
import androidx.core.content.ContextCompat
import androidx.core.net.toUri
import androidx.core.text.buildSpannedString
import androidx.preference.PreferenceScreen
@ -227,7 +226,7 @@ class SettingsDownloadController : SettingsController() {
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
val activity = activity!!
val currentDir = preferences.downloadsDirectory().get()
val externalDirs = (getExternalDirs() + File(activity.getString(R.string.custom_dir))).map(File::toString)
val externalDirs = listOf(getDefaultDownloadDir(), File(activity.getString(R.string.custom_dir))).map(File::toString)
var selectedIndex = externalDirs.indexOfFirst { it in currentDir }
return MaterialAlertDialogBuilder(activity)
@ -246,13 +245,12 @@ class SettingsDownloadController : SettingsController() {
.create()
}
private fun getExternalDirs(): List<File> {
private fun getDefaultDownloadDir(): File {
val defaultDir = Environment.getExternalStorageDirectory().absolutePath +
File.separator + resources?.getString(R.string.app_name) +
File.separator + "downloads"
return mutableListOf(File(defaultDir)) +
ContextCompat.getExternalFilesDirs(activity!!, "").filterNotNull()
return File(defaultDir)
}
}