From 6957a15c0a9aabcd74fe0cb7b2f5f6fcabb34812 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 30 Jul 2019 20:02:23 +0200 Subject: [PATCH] Fixed showing drafts with unavailable attachments --- .../eu/faircode/email/FragmentCompose.java | 47 +++---------------- 1 file changed, 7 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index e092e51e63..fc172ce028 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2347,6 +2347,9 @@ public class FragmentCompose extends FragmentBase { } } + Log.i("Attachments=" + attachments.size() + + " available=" + available + " downloading=" + downloading); + // Attachment deleted if (available < last_available) onAction(R.id.action_save); @@ -2355,8 +2358,6 @@ public class FragmentCompose extends FragmentBase { rvAttachment.setTag(downloading); checkInternet(); - - checkDraft(draft.id); } }); @@ -2367,10 +2368,12 @@ public class FragmentCompose extends FragmentBase { if (draft == null || draft.ui_hide != 0) finish(); else { + Log.i("Draft content=" + draft.content); + if (draft.content && state == State.NONE) + showDraft(draft); + tvNoInternet.setTag(draft.content); checkInternet(); - - checkDraft(draft.id); } } }); @@ -2824,42 +2827,6 @@ public class FragmentCompose extends FragmentBase { } }; - private void checkDraft(long id) { - Bundle args = new Bundle(); - args.putLong("id", id); - - new SimpleTask() { - @Override - protected EntityMessage onExecute(Context context, Bundle args) { - long id = args.getLong("id"); - - DB db = DB.getInstance(context); - - EntityMessage draft = db.message().getMessage(id); - if (draft == null || !draft.content) - return null; - - List attachments = db.attachment().getAttachments(id); - for (EntityAttachment attachment : attachments) - if (!attachment.available) - return null; - - return draft; - } - - @Override - protected void onExecuted(Bundle args, EntityMessage draft) { - if (draft != null && state == State.NONE) - showDraft(draft); - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Helper.unexpectedError(getFragmentManager(), ex); - } - }.execute(this, args, "compose:check"); - } - private void showDraft(long id) { Bundle args = new Bundle(); args.putLong("id", id);