Append signature/referenced message only when sending

This commit is contained in:
M66B 2019-07-27 08:39:35 +02:00
parent 78c83b1f35
commit 8fc3813961
3 changed files with 18 additions and 11 deletions

View File

@ -488,8 +488,11 @@ class Core {
if (!message.content)
throw new IllegalArgumentException("Message body missing");
EntityIdentity identity =
(message.identity == null ? null : db.identity().getIdentity(message.identity));
// Drafts/sent message are added with signature and referenced text
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);
} else {

View File

@ -1351,14 +1351,11 @@ public class FragmentCompose extends FragmentBase {
attachments.remove(attachment);
}
EntityIdentity identity =
(message.identity == null ? null : db.identity().getIdentity(message.identity));
// Build message
Properties props = MessageHelper.getSessionProperties(null, false);
Session isession = Session.getInstance(props, null);
MimeMessage imessage = new MimeMessage(isession);
MessageHelper.build(context, message, attachments, identity, imessage);
MessageHelper.build(context, message, attachments, null, imessage);
// Serialize message
ByteArrayOutputStream os = new ByteArrayOutputStream();
@ -1383,6 +1380,10 @@ public class FragmentCompose extends FragmentBase {
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);
switch (resultCode) {
case OpenPgpApi.RESULT_CODE_SUCCESS:

View File

@ -338,12 +338,15 @@ public class MessageHelper {
StringBuilder body = new StringBuilder();
body.append(Helper.readText(message.getFile(context)));
if (identity != null && !TextUtils.isEmpty(identity.signature))
body.append(identity.signature);
// When sending message
if (identity != null) {
if (!TextUtils.isEmpty(identity.signature))
body.append(identity.signature);
File refFile = message.getRefFile(context);
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());