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