mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Sort files returned by getFiles by time (oldest first).
This commit is contained in:
@@ -11,6 +11,7 @@ import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
interface MailboxApi {
|
||||
@@ -130,7 +131,7 @@ interface MailboxApi {
|
||||
}
|
||||
|
||||
@JsonSerialize
|
||||
class MailboxFile {
|
||||
class MailboxFile implements Comparable<MailboxFile> {
|
||||
public final MailboxId name;
|
||||
public final long time;
|
||||
|
||||
@@ -138,6 +139,13 @@ interface MailboxApi {
|
||||
this.name = name;
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(@Nonnull MailboxApi.MailboxFile mailboxFile) {
|
||||
//noinspection UseCompareMethod
|
||||
return time < mailboxFile.time ? -1 :
|
||||
(time == mailboxFile.time ? 0 : 1);
|
||||
}
|
||||
}
|
||||
|
||||
@Immutable
|
||||
|
||||
@@ -17,6 +17,7 @@ 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;
|
||||
@@ -200,6 +201,7 @@ class MailboxApiImpl implements MailboxApi {
|
||||
if (time < 1) throw new ApiException();
|
||||
list.add(new MailboxFile(MailboxId.fromString(name), time));
|
||||
}
|
||||
Collections.sort(list);
|
||||
return list;
|
||||
} catch (JacksonException e) {
|
||||
throw new ApiException();
|
||||
|
||||
@@ -194,14 +194,10 @@ public class MailboxIntegrationTest extends BrambleTestCase {
|
||||
file3downloaded);
|
||||
byte[] downloadedBytes2 = readBytes(file2downloaded);
|
||||
byte[] downloadedBytes3 = readBytes(file3downloaded);
|
||||
// file order is not preserved, so we don't know what file is which
|
||||
if (downloadedBytes2.length == bytes2.length) {
|
||||
assertArrayEquals(bytes2, downloadedBytes2);
|
||||
assertArrayEquals(bytes3, downloadedBytes3);
|
||||
} else {
|
||||
assertArrayEquals(bytes2, downloadedBytes3);
|
||||
assertArrayEquals(bytes3, downloadedBytes2);
|
||||
}
|
||||
// file order is preserved (sorted by time),
|
||||
// so we know what file is which
|
||||
assertArrayEquals(bytes2, downloadedBytes2);
|
||||
assertArrayEquals(bytes3, downloadedBytes3);
|
||||
|
||||
// contact can't download files again, even if knowing name
|
||||
File file2forbidden = folder.newFile();
|
||||
|
||||
Reference in New Issue
Block a user