From 90a8fc898a7fe0ced1df88ca8b216796aec3ecf8 Mon Sep 17 00:00:00 2001 From: Peter Storch Date: Sun, 1 Nov 2020 21:11:45 +0100 Subject: [PATCH] fix #491 crash export on android 11 --- .../io/file/importer/DirectoryChooserActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/DirectoryChooserActivity.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/DirectoryChooserActivity.java index 870fc2599..4ae6b4665 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/DirectoryChooserActivity.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/DirectoryChooserActivity.java @@ -43,6 +43,10 @@ public abstract class DirectoryChooserActivity extends AppCompatActivity { if (resultCode == Activity.RESULT_OK) { Uri directoryUri = resultData.getData(); + int takeFlags = resultData.getFlags(); + takeFlags &= (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); + getContentResolver().takePersistableUriPermission(directoryUri, takeFlags); + startActivity(createNextActivityIntent(directoryUri)); } } @@ -74,7 +78,7 @@ public abstract class DirectoryChooserActivity extends AppCompatActivity { @Override protected DocumentFile configureDirectoryChooserIntent(Intent intent) { super.configureDirectoryChooserIntent(intent); - intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); + intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); return PreferencesUtils.getDefaultExportDirectoryUri(this); }