diff --git a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java index 2b9c1e8ec..9399d31f2 100644 --- a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java @@ -44,15 +44,15 @@ import org.briarproject.briar.api.conversation.ConversationMessageHeader; import org.briarproject.briar.api.conversation.DeletionResult; import org.briarproject.briar.api.socialbackup.BackupExistsException; import org.briarproject.briar.api.socialbackup.BackupMetadata; +import org.briarproject.briar.api.socialbackup.BackupPayload; +import org.briarproject.briar.api.socialbackup.ContactData; import org.briarproject.briar.api.socialbackup.DarkCrystal; import org.briarproject.briar.api.socialbackup.ReturnShardPayload; import org.briarproject.briar.api.socialbackup.Shard; -import org.briarproject.briar.api.socialbackup.BackupPayload; import org.briarproject.briar.api.socialbackup.ShardMessageHeader; import org.briarproject.briar.api.socialbackup.ShardReceivedEvent; import org.briarproject.briar.api.socialbackup.SocialBackupManager; import org.briarproject.briar.client.ConversationClientImpl; -import org.briarproject.briar.api.socialbackup.ContactData; import java.util.ArrayList; import java.util.Collection; @@ -234,18 +234,24 @@ class SocialBackupManagerImpl extends ConversationClientImpl return false; } - public ReturnShardPayload getReturnShardPayload(Transaction txn, ContactId contactId) throws DbException { - GroupId groupId = getContactGroup(db.getContact(txn, contactId)).getId(); - return new ReturnShardPayload(getRemoteShard(txn, groupId), getRemoteBackup(txn, groupId)); + public ReturnShardPayload getReturnShardPayload(Transaction txn, + ContactId contactId) throws DbException { + GroupId groupId = + getContactGroup(db.getContact(txn, contactId)).getId(); + return new ReturnShardPayload(getRemoteShard(txn, groupId), + getRemoteBackup(txn, groupId)); } - public byte[] getReturnShardPayloadBytes(Transaction txn, ContactId contactId) throws DbException { - return messageEncoder.encodeReturnShardPayload(getReturnShardPayload(txn, contactId)); + public byte[] getReturnShardPayloadBytes(Transaction txn, + ContactId contactId) throws DbException { + return messageEncoder.encodeReturnShardPayload( + getReturnShardPayload(txn, contactId)); } public boolean amCustodian(Transaction txn, ContactId contactId) { try { - GroupId groupId = getContactGroup(db.getContact(txn, contactId)).getId(); + GroupId groupId = + getContactGroup(db.getContact(txn, contactId)).getId(); return findMessage(txn, groupId, SHARD, false) != null; } catch (DbException e) { return false; @@ -356,7 +362,8 @@ class SocialBackupManagerImpl extends ConversationClientImpl .getMessage(txn, messageEntry.getKey()); MessageStatus status = db.getMessageStatus(txn, contactId, messageEntry.getKey()); - headers.add(createShardMessageHeader(message, meta, status)); + headers.add( + createShardMessageHeader(message, meta, status)); } } return headers; @@ -395,6 +402,11 @@ class SocialBackupManagerImpl extends ConversationClientImpl public DeletionResult deleteMessages(Transaction txn, ContactId c, Set messageIds) throws DbException { DeletionResult result = new DeletionResult(); + GroupId g = getContactGroup(db.getContact(txn, c)).getId(); + for (MessageId m : messageIds) { + db.deleteMessage(txn, m); + db.deleteMessageMetadata(txn, m); + } return result; } @@ -421,7 +433,9 @@ class SocialBackupManagerImpl extends ConversationClientImpl } private BackupPayload createBackupPayload(Transaction txn, - SecretKey secret, List contactData, int version) + SecretKey secret, + List contactData, + int version) throws DbException { Identity identity = identityManager.getIdentity(txn); return backupPayloadEncoder.encodeBackupPayload(secret, identity, @@ -431,7 +445,8 @@ class SocialBackupManagerImpl extends ConversationClientImpl private List loadContactData(Transaction txn) throws DbException { Collection contacts = contactManager.getContacts(txn); - List contactData = new ArrayList<>(); + List contactData = + new ArrayList<>(); for (Contact c : contacts) { // Skip contacts that are in the process of being removed Group contactGroup = getContactGroup(c); @@ -439,7 +454,9 @@ class SocialBackupManagerImpl extends ConversationClientImpl Map props = getTransportProperties(txn, c.getId()); Shard shard = getRemoteShard(txn, contactGroup.getId()); - contactData.add(new org.briarproject.briar.api.socialbackup.ContactData(c, props, shard)); + contactData + .add(new org.briarproject.briar.api.socialbackup.ContactData( + c, props, shard)); } return contactData; } @@ -519,7 +536,9 @@ class SocialBackupManagerImpl extends ConversationClientImpl throw new DbException(e); } } - private void updateBackup(Transaction txn, List contactData) + + private void updateBackup(Transaction txn, + List contactData) throws DbException { BackupMetadata backupMetadata = requireNonNull(getBackupMetadata(txn)); int newVersion = backupMetadata.getVersion() + 1;