Always sort lists of API versions for easier comparison.

This commit is contained in:
akwizgran
2022-08-02 17:54:02 +01:00
parent 1699d6b5f8
commit 42e2926d61
4 changed files with 16 additions and 3 deletions

View File

@@ -85,7 +85,8 @@ public class MailboxProperties {
onion.equals(m.onion) &&
authToken.equals(m.authToken) &&
NullSafety.equals(inboxId, m.inboxId) &&
NullSafety.equals(outboxId, m.outboxId);
NullSafety.equals(outboxId, m.outboxId) &&
serverSupports.equals(m.serverSupports);
}
return false;
}

View File

@@ -67,6 +67,13 @@ public class MailboxStatus {
return attemptsSinceSuccess;
}
/**
* Returns the mailbox's supported API versions.
*/
public List<MailboxVersion> getServerSupports() {
return serverSupports;
}
/**
* @return true if this status indicates a problem with the mailbox.
*/

View File

@@ -52,6 +52,7 @@ import java.util.Map.Entry;
import javax.annotation.concurrent.Immutable;
import javax.inject.Inject;
import static java.util.Collections.sort;
import static org.briarproject.bramble.api.client.ContactGroupConstants.GROUP_KEY_CONTACT_ID;
import static org.briarproject.bramble.api.identity.Author.FORMAT_VERSION;
import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH;
@@ -474,6 +475,8 @@ class ClientHelperImpl implements ClientHelper {
list.add(new MailboxVersion(element.getLong(0).intValue(),
element.getLong(1).intValue()));
}
// Sort the list of versions for easier comparison
sort(list);
return list;
}

View File

@@ -22,7 +22,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
@@ -35,6 +34,7 @@ import okhttp3.Response;
import okhttp3.ResponseBody;
import static com.fasterxml.jackson.databind.MapperFeature.BLOCK_UNSAFE_POLYMORPHIC_BASE_TYPES;
import static java.util.Collections.sort;
import static java.util.Objects.requireNonNull;
import static okhttp3.internal.Util.EMPTY_REQUEST;
import static org.briarproject.bramble.util.IoUtils.copyAndClose;
@@ -125,6 +125,8 @@ class MailboxApiImpl implements MailboxApi {
if (major < 0 || minor < 0) throw new ApiException();
serverSupports.add(new MailboxVersion(major, minor));
}
// Sort the list of versions for easier comparison
sort(serverSupports);
return serverSupports;
}
@@ -245,7 +247,7 @@ class MailboxApiImpl implements MailboxApi {
if (time < 1) throw new ApiException();
list.add(new MailboxFile(MailboxFileId.fromString(name), time));
}
Collections.sort(list);
sort(list);
return list;
} catch (JacksonException | InvalidMailboxIdException e) {
throw new ApiException();