Fixed showing drafts with unavailable attachments

pull/160/head
M66B 6 years ago
parent d60ff43ed4
commit 6957a15c0a

@ -2347,6 +2347,9 @@ public class FragmentCompose extends FragmentBase {
} }
} }
Log.i("Attachments=" + attachments.size() +
" available=" + available + " downloading=" + downloading);
// Attachment deleted // Attachment deleted
if (available < last_available) if (available < last_available)
onAction(R.id.action_save); onAction(R.id.action_save);
@ -2355,8 +2358,6 @@ public class FragmentCompose extends FragmentBase {
rvAttachment.setTag(downloading); rvAttachment.setTag(downloading);
checkInternet(); checkInternet();
checkDraft(draft.id);
} }
}); });
@ -2367,10 +2368,12 @@ public class FragmentCompose extends FragmentBase {
if (draft == null || draft.ui_hide != 0) if (draft == null || draft.ui_hide != 0)
finish(); finish();
else { else {
Log.i("Draft content=" + draft.content);
if (draft.content && state == State.NONE)
showDraft(draft);
tvNoInternet.setTag(draft.content); tvNoInternet.setTag(draft.content);
checkInternet(); 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<EntityMessage>() {
@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<EntityAttachment> 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) { private void showDraft(long id) {
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putLong("id", id); args.putLong("id", id);

Loading…
Cancel
Save