Append signature/referenced message only when sending

pull/159/head
M66B 5 years ago
parent 78c83b1f35
commit 8fc3813961

@ -488,8 +488,11 @@ class Core {
if (!message.content) if (!message.content)
throw new IllegalArgumentException("Message body missing"); throw new IllegalArgumentException("Message body missing");
EntityIdentity identity = // Drafts/sent message are added with signature and referenced text
(message.identity == null ? null : db.identity().getIdentity(message.identity)); EntityIdentity identity = null;
if (message.identity != null &&
(EntityFolder.DRAFTS.equals(folder.type) || EntityFolder.SENT.equals(folder.type)))
identity = db.identity().getIdentity(message.identity);
imessage = MessageHelper.from(context, message, identity, isession); imessage = MessageHelper.from(context, message, identity, isession);
} else { } else {

@ -1351,14 +1351,11 @@ public class FragmentCompose extends FragmentBase {
attachments.remove(attachment); attachments.remove(attachment);
} }
EntityIdentity identity =
(message.identity == null ? null : db.identity().getIdentity(message.identity));
// Build message // Build message
Properties props = MessageHelper.getSessionProperties(null, false); Properties props = MessageHelper.getSessionProperties(null, false);
Session isession = Session.getInstance(props, null); Session isession = Session.getInstance(props, null);
MimeMessage imessage = new MimeMessage(isession); MimeMessage imessage = new MimeMessage(isession);
MessageHelper.build(context, message, attachments, identity, imessage); MessageHelper.build(context, message, attachments, null, imessage);
// Serialize message // Serialize message
ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream();
@ -1383,6 +1380,10 @@ public class FragmentCompose extends FragmentBase {
Log.logExtras(result); Log.logExtras(result);
} }
// Identity to store sign key ID into
EntityIdentity identity =
(message.identity == null ? null : db.identity().getIdentity(message.identity));
int resultCode = result.getIntExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR); int resultCode = result.getIntExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR);
switch (resultCode) { switch (resultCode) {
case OpenPgpApi.RESULT_CODE_SUCCESS: case OpenPgpApi.RESULT_CODE_SUCCESS:

@ -338,12 +338,15 @@ public class MessageHelper {
StringBuilder body = new StringBuilder(); StringBuilder body = new StringBuilder();
body.append(Helper.readText(message.getFile(context))); body.append(Helper.readText(message.getFile(context)));
if (identity != null && !TextUtils.isEmpty(identity.signature)) // When sending message
body.append(identity.signature); if (identity != null) {
if (!TextUtils.isEmpty(identity.signature))
File refFile = message.getRefFile(context); body.append(identity.signature);
if (refFile.exists())
body.append(Helper.readText(refFile)); File refFile = message.getRefFile(context);
if (refFile.exists())
body.append(Helper.readText(refFile));
}
String plainContent = HtmlHelper.getText(body.toString()); String plainContent = HtmlHelper.getText(body.toString());

Loading…
Cancel
Save