mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 23:05:26 +02:00
fix: Fix folder access test
Signed-off-by: Myzel394 <50424412+Myzel394@users.noreply.github.com>
This commit is contained in:
parent
b076b8c8ab
commit
f77aeb78c6
@ -2,7 +2,6 @@ package app.myzel394.alibi.ui.components.SettingsScreen.Tiles
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
@ -97,35 +96,40 @@ fun SaveFolderTile(
|
|||||||
|
|
||||||
val successMessage = stringResource(R.string.ui_settings_option_saveFolder_success)
|
val successMessage = stringResource(R.string.ui_settings_option_saveFolder_success)
|
||||||
fun updateValue(path: String?) {
|
fun updateValue(path: String?) {
|
||||||
if (path == null) {
|
if (path != null && path != RECORDER_MEDIA_SELECTED_VALUE) {
|
||||||
return
|
context.contentResolver.takePersistableUriPermission(
|
||||||
}
|
path.toUri(),
|
||||||
|
Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
|
)
|
||||||
|
|
||||||
if (!BatchesFolder.canAccessFolder(context, path.toUri())) {
|
if (!BatchesFolder.canAccessFolder(context, path.toUri())) {
|
||||||
showError = true
|
showError = true
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (settings.saveFolder != null && settings.saveFolder != RECORDER_MEDIA_SELECTED_VALUE) {
|
runCatching {
|
||||||
runCatching {
|
|
||||||
// Clean up
|
|
||||||
val grantedURIs = context.contentResolver.persistedUriPermissions;
|
|
||||||
|
|
||||||
grantedURIs.forEach { permission ->
|
|
||||||
context.contentResolver.releasePersistableUriPermission(
|
context.contentResolver.releasePersistableUriPermission(
|
||||||
permission.uri,
|
path.toUri(),
|
||||||
Intent.FLAG_GRANT_READ_URI_PERMISSION
|
Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path != RECORDER_MEDIA_SELECTED_VALUE) {
|
runCatching {
|
||||||
context.contentResolver.takePersistableUriPermission(
|
// Clean up
|
||||||
Uri.parse(path),
|
val grantedURIs = context.contentResolver.persistedUriPermissions;
|
||||||
Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
|
||||||
)
|
grantedURIs.forEach { permission ->
|
||||||
|
if (permission.uri == path?.toUri()) {
|
||||||
|
return@forEach
|
||||||
|
}
|
||||||
|
|
||||||
|
context.contentResolver.releasePersistableUriPermission(
|
||||||
|
permission.uri,
|
||||||
|
Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||||
|
or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
scope.launch {
|
scope.launch {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user