Fixed deleting drafts

pull/147/head
M66B 7 years ago
parent 1a1445695a
commit 986836598e

@ -1562,13 +1562,11 @@ public class FragmentCompose extends FragmentEx {
draft.bcc = abcc; draft.bcc = abcc;
draft.subject = subject; draft.subject = subject;
draft.received = new Date().getTime(); draft.received = new Date().getTime();
db.message().updateMessage(draft);
draft.write(context, body);
// Execute action // Execute action
if (action == R.id.action_delete) { if (action == R.id.action_delete) {
draft.msgid = null;
draft.ui_hide = true;
db.message().updateMessage(draft);
EntityOperation.queue(db, draft, EntityOperation.DELETE); EntityOperation.queue(db, draft, EntityOperation.DELETE);
Handler handler = new Handler(Looper.getMainLooper()); Handler handler = new Handler(Looper.getMainLooper());
@ -1578,9 +1576,6 @@ public class FragmentCompose extends FragmentEx {
} }
}); });
} else if (action == R.id.action_save || action == R.id.menu_encrypt) { } else if (action == R.id.action_save || action == R.id.menu_encrypt) {
db.message().updateMessage(draft);
draft.write(context, body);
EntityOperation.queue(db, draft, EntityOperation.ADD); EntityOperation.queue(db, draft, EntityOperation.ADD);
Handler handler = new Handler(Looper.getMainLooper()); Handler handler = new Handler(Looper.getMainLooper());
@ -1591,30 +1586,18 @@ public class FragmentCompose extends FragmentEx {
}); });
} else if (action == R.id.action_send) { } else if (action == R.id.action_send) {
db.message().updateMessage(draft);
draft.write(context, body);
// Check data // Check data
if (draft.identity == null) { if (draft.identity == null)
db.setTransactionSuccessful();
throw new IllegalArgumentException(context.getString(R.string.title_from_missing)); throw new IllegalArgumentException(context.getString(R.string.title_from_missing));
}
if (draft.to == null && draft.cc == null && draft.bcc == null) { if (draft.to == null && draft.cc == null && draft.bcc == null)
db.setTransactionSuccessful();
throw new IllegalArgumentException(context.getString(R.string.title_to_missing)); throw new IllegalArgumentException(context.getString(R.string.title_to_missing));
}
// Save message ID
String msgid = draft.msgid;
// Save attachments // Save attachments
List<EntityAttachment> attachments = db.attachment().getAttachments(draft.id); List<EntityAttachment> attachments = db.attachment().getAttachments(draft.id);
for (EntityAttachment attachment : attachments) for (EntityAttachment attachment : attachments)
if (!attachment.available) { if (!attachment.available)
db.setTransactionSuccessful();
throw new IllegalArgumentException(context.getString(R.string.title_attachments_missing)); throw new IllegalArgumentException(context.getString(R.string.title_attachments_missing));
}
// Delete draft (cannot move to outbox) // Delete draft (cannot move to outbox)
EntityOperation.queue(db, draft, EntityOperation.DELETE); EntityOperation.queue(db, draft, EntityOperation.DELETE);

Loading…
Cancel
Save