diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt
index 05fb9b32..fbdcd87b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/camera/activities/SettingsActivity.kt
@@ -12,17 +12,17 @@ import android.view.View
import android.widget.AdapterView
import com.simplemobiletools.camera.Constants
import com.simplemobiletools.camera.R
-import com.simplemobiletools.camera.dialogs.WritePermissionDialog
import com.simplemobiletools.filepicker.dialogs.FilePickerDialog
import com.simplemobiletools.filepicker.extensions.getBasePath
import com.simplemobiletools.filepicker.extensions.getHumanReadablePath
-import com.simplemobiletools.filepicker.extensions.needsStupidWritePermissions
+import com.simplemobiletools.filepicker.extensions.isShowingWritePermissions
import kotlinx.android.synthetic.main.activity_settings.*
import java.io.File
class SettingsActivity : SimpleActivity() {
val OPEN_DOCUMENT_TREE = 1
- var mCurrPath: String = ""
+ var mCurrPath = ""
+ var mWantedPath = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -69,19 +69,9 @@ class SettingsActivity : SimpleActivity() {
}
override fun onSuccess(pickedPath: String) {
- mCurrPath = if (pickedPath.length == 1) pickedPath else pickedPath.trimEnd('/')
- if (!File(pickedPath).canWrite() && needsStupidWritePermissions(pickedPath) && mConfig.treeUri.isEmpty()) {
- WritePermissionDialog(this@SettingsActivity, object : WritePermissionDialog.OnWritePermissionListener {
- override fun onCancelled() {
- mCurrPath = mConfig.savePhotosFolder
- }
-
- override fun onConfirmed() {
- val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
- startActivityForResult(intent, OPEN_DOCUMENT_TREE)
- }
- })
- } else {
+ mWantedPath = pickedPath
+ if (!isShowingWritePermissions(File(pickedPath), mConfig.treeUri, OPEN_DOCUMENT_TREE)) {
+ mCurrPath = if (pickedPath.length == 1) pickedPath else pickedPath.trimEnd('/')
mConfig.savePhotosFolder = mCurrPath
settings_save_photos.text = getHumanPath()
}
@@ -107,11 +97,13 @@ class SettingsActivity : SimpleActivity() {
super.onActivityResult(requestCode, resultCode, resultData)
if (requestCode == OPEN_DOCUMENT_TREE) {
if (resultCode == Activity.RESULT_OK && resultData != null) {
+ mCurrPath = mWantedPath
mConfig.savePhotosFolder = mCurrPath
settings_save_photos.text = getHumanPath()
saveTreeUri(resultData)
} else {
mCurrPath = mConfig.savePhotosFolder
+ settings_save_photos.text = getHumanPath()
}
}
}
@@ -119,7 +111,7 @@ class SettingsActivity : SimpleActivity() {
@TargetApi(Build.VERSION_CODES.KITKAT)
private fun saveTreeUri(resultData: Intent) {
val treeUri = resultData.data
- mConfig.treeUri = resultData.data.toString()
+ mConfig.treeUri = treeUri.toString()
val takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
contentResolver.takePersistableUriPermission(treeUri, takeFlags)
diff --git a/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/WritePermissionDialog.kt b/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/WritePermissionDialog.kt
deleted file mode 100644
index 30bb75ec..00000000
--- a/app/src/main/kotlin/com/simplemobiletools/camera/dialogs/WritePermissionDialog.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.simplemobiletools.camera.dialogs
-
-import android.content.Context
-import android.support.v7.app.AlertDialog
-import android.view.LayoutInflater
-import com.simplemobiletools.camera.R
-
-class WritePermissionDialog(val context: Context, val listener: OnWritePermissionListener) {
- var dialog: AlertDialog? = null
-
- init {
- val view = LayoutInflater.from(context).inflate(R.layout.dialog_write_permission, null)
-
- dialog = AlertDialog.Builder(context)
- .setTitle(context.resources.getString(R.string.confirm_storage_access_title))
- .setView(view)
- .setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() })
- .setOnCancelListener { listener.onCancelled() }
- .create()
-
- dialog?.show()
- }
-
- private fun dialogConfirmed() {
- dialog?.dismiss()
- listener.onConfirmed()
- }
-
- interface OnWritePermissionListener {
- fun onConfirmed()
-
- fun onCancelled()
- }
-}
diff --git a/app/src/main/res/layout/dialog_write_permission.xml b/app/src/main/res/layout/dialog_write_permission.xml
deleted file mode 100644
index 5cb3ae03..00000000
--- a/app/src/main/res/layout/dialog_write_permission.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index eb395c4d..48be56ec 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -14,8 +14,6 @@
Keine Galerie App verfügbar
Keine gültige Auflösung mit gewähltem Seitenverhältnis gefunden, nutze maximale Auflösung
OK
- Confirm external storage access
- Please choose the root folder of the SD card to grant write access on the next screen
Einstellungen
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 1b1d452b..82acd4d6 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -14,8 +14,6 @@
Nessuna app galleria disponibile
No valid resolution with selected aspect ratio found, using max resolution
OK
- Confirm external storage access
- Please choose the root folder of the SD card to grant write access on the next screen
Impostazioni
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index cb5d7d0b..f5235d4c 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -14,8 +14,6 @@
利用可能なギャラリーアプリがありません
No valid resolution with selected aspect ratio found, using max resolution
OK
- Confirm external storage access
- Please choose the root folder of the SD card to grant write access on the next screen
設定
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 019a6235..586e027a 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -14,8 +14,6 @@
Nėra galerijos programėlės
Nerasta tinkamos raiškos su with pasirinktu kraštinių santykiu, naudojant maksimalią raišką
Gerai
- Patvirtinti išorinės saugyklos prieigą
- Pasirinkite šakninį sd kortelės aplankalą, kad patvirtintumėte įrašymo leidimą kitame aplankale
Nustatymai
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index dedeff36..3d6b8147 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -14,8 +14,6 @@
Nenhuma aplicação de galeria disponível
Nenhuma resolução encontrada que seja compatível com o rácio selecionado, a utilizar a resolução máxima
OK
- Confirmação de acesso ao armazenamento externo
- Por favor escolha a pasta raiz do cartão SD para conceder o acesso de escrita no próximo ecrã
Definições
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index a1ed24e3..e27d3f1b 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -14,8 +14,6 @@
Нет доступного приложения-галереи
No valid resolution with selected aspect ratio found, using max resolution
OK
- Confirm external storage access
- Please choose the root folder of the SD card to grant write access on the next screen
Настройки
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 065aaabd..3c386970 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -14,8 +14,6 @@
Ingen galleri-app finns tillgänglig
No valid resolution with selected aspect ratio found, using max resolution
OK
- Confirm external storage access
- Please choose the root folder of the SD card to grant write access on the next screen
Inställningar
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d09db181..5bad914a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,8 +14,6 @@
No gallery app available
No valid resolution with selected aspect ratio found, using max resolution
OK
- Confirm external storage access
- Please choose the root folder of the SD card to grant write access on the next screen
Settings