Fixed decrypting attachments

pull/168/head
M66B 6 years ago
parent 04d5b49160
commit 806a240ee8

@ -4122,7 +4122,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
Intent result; Intent result;
File plain = File.createTempFile("plain", "." + id, context.getCacheDir()); File plain = File.createTempFile("plain", "." + message.id, context.getCacheDir());
try { try {
// Decrypt message // Decrypt message
Log.i("Executing " + data.getAction()); Log.i("Executing " + data.getAction());
@ -4141,7 +4141,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
// Write decrypted body // Write decrypted body
Helper.copy(plain, message.getFile(context)); Helper.copy(plain, message.getFile(context));
db.message().setMessageStored(id, new Date().getTime()); db.message().setMessageStored(message.id, new Date().getTime());
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {
@ -4167,15 +4167,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
Helper.writeText(message.getFile(context), html); Helper.writeText(message.getFile(context), html);
// Remove existing attachments // Remove existing attachments
for (EntityAttachment attachment : attachments) db.attachment().deleteAttachments(message.id);
if (attachment.encryption == null)
db.attachment().deleteAttachment(attachment.id);
// Add decrypted attachments // Add decrypted attachments
List<EntityAttachment> remotes = parts.getAttachments(); List<EntityAttachment> remotes = parts.getAttachments();
for (int index = 0; index < remotes.size(); index++) { for (int index = 0; index < remotes.size(); index++) {
EntityAttachment remote = remotes.get(index); EntityAttachment remote = remotes.get(index);
remote.message = id; remote.message = message.id;
remote.sequence = index + 1; remote.sequence = index + 1;
remote.id = db.attachment().insertAttachment(remote); remote.id = db.attachment().insertAttachment(remote);
try { try {
@ -4185,7 +4183,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
} }
db.message().setMessageStored(id, new Date().getTime()); db.message().setMessageStored(message.id, new Date().getTime());
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {

Loading…
Cancel
Save