diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index fdbb8f1559..3b5f63fb42 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -50,6 +50,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Environment; import android.os.LocaleList; import android.os.Parcelable; import android.provider.CalendarContract; @@ -3119,9 +3120,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0 ? View.VISIBLE : View.GONE); - ibStoreMedia.setVisibility( - images.size() > 0 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q - ? View.VISIBLE : View.GONE); + ibStoreMedia.setVisibility(images.size() > 0 ? View.VISIBLE : View.GONE); } private void bindCalendar(final TupleMessageEx message, EntityAttachment attachment) { @@ -3477,13 +3476,16 @@ public class AdapterMessage extends RecyclerView.Adapter() { @Override - @RequiresApi(api = Build.VERSION_CODES.Q) protected Uri onExecute(Context context, Bundle args) throws IOException { long id = args.getLong("id"); ContentResolver resolver = context.getContentResolver(); - Uri collection = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY); + String folder = context.getString(R.string.app_name); + Uri collection = (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q + ? MediaStore.Images.Media.EXTERNAL_CONTENT_URI + : MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY)); + File pictures = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); DB db = DB.getInstance(context); List attachments = db.attachment().getAttachments(id); @@ -3494,7 +3496,7 @@ public class AdapterMessage extends RecyclerView.Adapter= Build.VERSION_CODES.Q) + values.put(MediaStore.Images.Media.IS_PENDING, 1); Uri uri = resolver.insert(collection, values); if (uri == null) @@ -3535,11 +3544,13 @@ public class AdapterMessage extends RecyclerView.Adapter= Build.VERSION_CODES.Q) + values.put(MediaStore.Images.Media.IS_PENDING, 0); values.put(MediaStore.Images.Media.DATE_ADDED, System.currentTimeMillis() / 1000); resolver.update(uri, values, null, null); - db.attachment().setMediaUri(attachment.id, uri.toString()); + attachment.media_uri = uri.toString(); + db.attachment().setMediaUri(attachment.id, attachment.media_uri); } // Viewing the containing folder is not possible @@ -3551,7 +3562,6 @@ public class AdapterMessage extends RecyclerView.Adapter