diff --git a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupExchangeManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupExchangeManagerImpl.java index f991b520b..f08527859 100644 --- a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupExchangeManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupExchangeManagerImpl.java @@ -4,17 +4,13 @@ import org.briarproject.bramble.api.FormatException; import org.briarproject.bramble.api.Predicate; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.contact.ContactExchangeConstants; -import org.briarproject.bramble.api.contact.ContactExchangeManager; +import org.briarproject.bramble.api.contact.ContactExchangeCrypto; import org.briarproject.bramble.api.contact.ContactExchangeRecordTypes; import org.briarproject.bramble.api.contact.ContactManager; -import org.briarproject.bramble.api.crypto.PublicKey; import org.briarproject.bramble.api.crypto.SecretKey; -import org.briarproject.bramble.api.data.BdfDictionary; import org.briarproject.bramble.api.data.BdfList; import org.briarproject.bramble.api.db.DatabaseComponent; import org.briarproject.bramble.api.db.DbException; -import org.briarproject.bramble.api.identity.IdentityManager; -import org.briarproject.bramble.api.identity.LocalAuthor; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.plugin.TransportId; import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection; @@ -29,10 +25,9 @@ import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.transport.StreamReaderFactory; import org.briarproject.bramble.api.transport.StreamWriter; import org.briarproject.bramble.api.transport.StreamWriterFactory; -import org.briarproject.bramble.api.contact.ContactExchangeCrypto; +import org.briarproject.briar.api.socialbackup.BackupPayload; 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.SocialBackupExchangeManager; import java.io.EOFException; @@ -42,15 +37,10 @@ import java.io.OutputStream; import java.util.Map; import java.util.logging.Logger; -import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; import javax.inject.Inject; -import sun.java2d.xr.XRBackendNative; - import static java.util.logging.Logger.getLogger; -import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_SIGNATURE_LENGTH; -import static org.briarproject.bramble.util.ValidationUtils.checkLength; import static org.briarproject.bramble.util.ValidationUtils.checkSize; @Immutable @@ -115,7 +105,8 @@ class SocialBackupExchangeManagerImpl implements SocialBackupExchangeManager { @Override public void sendReturnShard(DuplexTransportConnection conn, SecretKey masterKey, - boolean verified, ReturnShardPayload returnShardPayload) throws IOException, DbException { + boolean verified, ReturnShardPayload returnShardPayload) + throws IOException, DbException { boolean alice = true; // Get the transport connection's input and output streams InputStream in = conn.getReader().getInputStream(); @@ -151,7 +142,8 @@ class SocialBackupExchangeManagerImpl implements SocialBackupExchangeManager { // Exchange contact info long localTimestamp = clock.currentTimeMillis(); - sendShardPayload(recordWriter, localProperties, returnShardPayload, localTimestamp); + sendShardPayload(recordWriter, localProperties, returnShardPayload, + localTimestamp); receiveAcknowledgement(recordReader); // Send EOF on the outgoing stream 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 b58dbef83..b7a58e7d5 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 @@ -239,6 +239,10 @@ class SocialBackupManagerImpl extends ConversationClientImpl 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 boolean amCustodian(Transaction txn, ContactId contactId) { try { GroupId groupId = getContactGroup(db.getContact(txn, contactId)).getId(); diff --git a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupModule.java b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupModule.java index 2d9e3a960..b624024cb 100644 --- a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupModule.java @@ -8,6 +8,7 @@ import org.briarproject.bramble.api.sync.validation.ValidationManager; import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.versioning.ClientVersioningManager; import org.briarproject.briar.api.conversation.ConversationManager; +import org.briarproject.briar.api.socialbackup.SocialBackupExchangeManager; import org.briarproject.briar.api.socialbackup.SocialBackupManager; import javax.inject.Inject; @@ -90,4 +91,9 @@ public class SocialBackupModule { org.briarproject.briar.api.socialbackup.MessageParser messageParser(MessageParserImpl messageParser) { return messageParser; } + + @Provides + SocialBackupExchangeManager socialBackupExchangeManager(SocialBackupExchangeManagerImpl socialBackupExchangeManager) { + return socialBackupExchangeManager; + } }