diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java index b5f4103c1c..14adad2f49 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsNotifications.java @@ -730,9 +730,14 @@ public class FragmentOptionsNotifications extends FragmentBase implements Shared if (uri == null) // silent sound prefs.edit().putString("sound", "").apply(); else { - if ("content".equals(uri.getScheme())) + if ("content".equals(uri.getScheme())) { + try { + getContext().getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION); + } catch (Throwable ex) { + Log.w(ex); + } prefs.edit().putString("sound", uri.toString()).apply(); - else + } else prefs.edit().remove("sound").apply(); } } diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java index 3769d0e146..5c98a203cf 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java @@ -740,9 +740,14 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc if (uri == null) // no/silent sound prefs.edit().remove("sound_sent").apply(); else { - if ("content".equals(uri.getScheme())) + if ("content".equals(uri.getScheme())) { + try { + getContext().getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION); + } catch (Throwable ex) { + Log.w(ex); + } prefs.edit().putString("sound_sent", uri.toString()).apply(); - else + } else prefs.edit().remove("sound_sent").apply(); } }