diff --git a/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/ReturnShardPayload.java b/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/ReturnShardPayload.java index 68d51ace4..abf927cc1 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/ReturnShardPayload.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/ReturnShardPayload.java @@ -22,4 +22,9 @@ public class ReturnShardPayload { public BackupPayload getBackupPayload() { return backupPayload; } + + public boolean equals(ReturnShardPayload otherReturnShardPayload) { + return shard.equals(otherReturnShardPayload.getShard()) && backupPayload + .equals(otherReturnShardPayload.getBackupPayload()); + } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/Shard.java b/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/Shard.java index 766fb8088..e4b5f5258 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/Shard.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/Shard.java @@ -2,6 +2,8 @@ package org.briarproject.briar.api.socialbackup; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import java.util.Arrays; + import javax.annotation.concurrent.Immutable; @Immutable @@ -22,4 +24,9 @@ public class Shard { public byte[] getShard() { return shard; } + + public boolean equals(Shard otherShard) { + return Arrays.equals(secretId, otherShard.getSecretId()) && + Arrays.equals(shard, otherShard.getShard()); + } } diff --git a/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/recovery/SecretOwnerTask.java b/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/recovery/SecretOwnerTask.java index b67420582..77171be84 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/recovery/SecretOwnerTask.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/socialbackup/recovery/SecretOwnerTask.java @@ -2,6 +2,7 @@ package org.briarproject.briar.api.socialbackup.recovery; import org.briarproject.bramble.api.crypto.PublicKey; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.briar.api.socialbackup.ReturnShardPayload; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -39,11 +40,11 @@ public interface SecretOwnerTask { } public static class Success extends State { - private final byte[] remotePayload; + private final ReturnShardPayload remotePayload; - public Success(byte[] remotePayload) { this.remotePayload = remotePayload; } + public Success(ReturnShardPayload remotePayload) { this.remotePayload = remotePayload; } - public byte[] getRemotePayload() { return remotePayload; } + public ReturnShardPayload getRemotePayload() { return remotePayload; } } public static class Failure extends State {