Added option to select default folder

This commit is contained in:
M66B
2023-01-27 09:56:32 +01:00
parent a2aa2d6a51
commit 5cfbeafa82
14 changed files with 137 additions and 34 deletions

View File

@@ -533,18 +533,20 @@ public class FragmentBase extends Fragment {
getArguments().putLong("selected_attachment", attachment);
Log.i("Save attachment id=" + attachment);
final Context context = getContext();
Intent create = new Intent(Intent.ACTION_CREATE_DOCUMENT);
create.addCategory(Intent.CATEGORY_OPENABLE);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
create.setType(intent.getStringExtra("type"));
create.putExtra(Intent.EXTRA_TITLE, intent.getStringExtra("name"));
Helper.openAdvanced(create);
PackageManager pm = getContext().getPackageManager();
Helper.openAdvanced(context, create);
PackageManager pm = context.getPackageManager();
if (create.resolveActivity(pm) == null) { // system whitelisted
Log.w("SAF missing");
ToastEx.makeText(getContext(), R.string.title_no_saf, Toast.LENGTH_LONG).show();
ToastEx.makeText(context, R.string.title_no_saf, Toast.LENGTH_LONG).show();
} else
startActivityForResult(Helper.getChooser(getContext(), create), REQUEST_ATTACHMENT);
startActivityForResult(Helper.getChooser(context, create), REQUEST_ATTACHMENT);
}
private void onStoreAttachments(Intent intent) {
@@ -552,14 +554,16 @@ public class FragmentBase extends Fragment {
getArguments().putLong("selected_message", message);
Log.i("Save attachments message=" + message);
final Context context = getContext();
Intent tree = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
Helper.openAdvanced(tree);
PackageManager pm = getContext().getPackageManager();
Helper.openAdvanced(context, tree);
PackageManager pm = context.getPackageManager();
if (tree.resolveActivity(pm) == null) { // system whitelisted
Log.w("SAF missing");
ToastEx.makeText(getContext(), R.string.title_no_saf, Toast.LENGTH_LONG).show();
ToastEx.makeText(context, R.string.title_no_saf, Toast.LENGTH_LONG).show();
} else
startActivityForResult(Helper.getChooser(getContext(), tree), REQUEST_ATTACHMENTS);
startActivityForResult(Helper.getChooser(context, tree), REQUEST_ATTACHMENTS);
}
private void onSaveAttachment(Intent data) {