diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java index c8b41ae4c7..1cc2be8f65 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java @@ -488,11 +488,12 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc startActivityForResult(Helper.getChooser(getContext(), intent), ActivitySetup.REQUEST_RINGTONE_OUTBOUND); return true; } else if (itemId == R.string.title_rule_select_sound_audio) { - Intent intent = new Intent(); - intent.setAction(Intent.ACTION_GET_CONTENT); + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setType("audio/*"); + Helper.openAdvanced(getContext(), intent); startActivityForResult(Helper.getChooser(getContext(), intent), ActivitySetup.REQUEST_AUDIO_OUTBOUND); return true; } diff --git a/app/src/main/java/eu/faircode/email/FragmentRule.java b/app/src/main/java/eu/faircode/email/FragmentRule.java index c912d86b9d..ad9a884fd2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentRule.java +++ b/app/src/main/java/eu/faircode/email/FragmentRule.java @@ -830,11 +830,12 @@ public class FragmentRule extends FragmentBase { startActivityForResult(Helper.getChooser(getContext(), intent), REQUEST_RINGTONE); return true; } else if (itemId == R.string.title_rule_select_sound_audio) { - Intent intent = new Intent(); - intent.setAction(Intent.ACTION_GET_CONTENT); + Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setType("audio/*"); + Helper.openAdvanced(getContext(), intent); startActivityForResult(Helper.getChooser(getContext(), intent), REQUEST_AUDIO); return true; }