diff --git a/briar-api/src/org/briarproject/api/blogs/BlogConstants.java b/briar-api/src/org/briarproject/api/blogs/BlogConstants.java index 3c8e8baf839a84e8e13ec848c157e75ee90669f2..7bbaacdb8b2c33bd74c86ee1e5ce0a103479514c 100644 --- a/briar-api/src/org/briarproject/api/blogs/BlogConstants.java +++ b/briar-api/src/org/briarproject/api/blogs/BlogConstants.java @@ -32,6 +32,7 @@ public interface BlogConstants { String KEY_DESCRIPTION = "description"; String KEY_TITLE = "title"; String KEY_TIMESTAMP = "timestamp"; + String KEY_TIME_RECEIVED = "timeReceived"; String KEY_PARENT = "parent"; String KEY_AUTHOR_ID = "id"; String KEY_AUTHOR_NAME = "name"; diff --git a/briar-api/src/org/briarproject/api/blogs/BlogPostHeader.java b/briar-api/src/org/briarproject/api/blogs/BlogPostHeader.java index b3a740bcb9be38c985a595d77cf40c3d926987bf..980ea27eb4005139004322a3a290dd0f888171dd 100644 --- a/briar-api/src/org/briarproject/api/blogs/BlogPostHeader.java +++ b/briar-api/src/org/briarproject/api/blogs/BlogPostHeader.java @@ -11,18 +11,25 @@ public class BlogPostHeader extends PostHeader { @Nullable private final String title; + private final long timeReceived; public BlogPostHeader(@Nullable String title, @NotNull MessageId id, - @Nullable MessageId parentId, long timestamp, + @Nullable MessageId parentId, long timestamp, long timeReceived, @NotNull Author author, @NotNull Status authorStatus, @NotNull String contentType, boolean read) { super(id, parentId, timestamp, author, authorStatus, contentType, read); this.title = title; + this.timeReceived = timeReceived; } @Nullable public String getTitle() { return title; } + + public long getTimeReceived() { + return timeReceived; + } + } diff --git a/briar-core/src/org/briarproject/blogs/BlogManagerImpl.java b/briar-core/src/org/briarproject/blogs/BlogManagerImpl.java index 45b3bbe84729a75f48745421c0c8def1e8d97f55..182ea11869bb779e697910b5c9c73f5230ad75e9 100644 --- a/briar-core/src/org/briarproject/blogs/BlogManagerImpl.java +++ b/briar-core/src/org/briarproject/blogs/BlogManagerImpl.java @@ -55,6 +55,7 @@ import static org.briarproject.api.blogs.BlogConstants.KEY_PARENT; import static org.briarproject.api.blogs.BlogConstants.KEY_PUBLIC_KEY; import static org.briarproject.api.blogs.BlogConstants.KEY_READ; import static org.briarproject.api.blogs.BlogConstants.KEY_TIMESTAMP; +import static org.briarproject.api.blogs.BlogConstants.KEY_TIME_RECEIVED; import static org.briarproject.api.blogs.BlogConstants.KEY_TITLE; import static org.briarproject.api.contact.ContactManager.AddContactHook; import static org.briarproject.api.contact.ContactManager.RemoveContactHook; @@ -376,6 +377,7 @@ class BlogManagerImpl extends BdfIncomingMessageHook implements BlogManager, String title = meta.getOptionalString(KEY_TITLE); long timestamp = meta.getLong(KEY_TIMESTAMP); + long timeReceived = meta.getLong(KEY_TIME_RECEIVED, timestamp); MessageId parentId = null; if (meta.containsKey(KEY_PARENT)) parentId = new MessageId(meta.getRaw(KEY_PARENT)); @@ -394,7 +396,7 @@ class BlogManagerImpl extends BdfIncomingMessageHook implements BlogManager, String contentType = meta.getString(KEY_CONTENT_TYPE); boolean read = meta.getBoolean(KEY_READ); - return new BlogPostHeader(title, id, parentId, timestamp, author, - authorStatus, contentType, read); + return new BlogPostHeader(title, id, parentId, timestamp, timeReceived, + author, authorStatus, contentType, read); } } diff --git a/briar-core/src/org/briarproject/blogs/BlogPostValidator.java b/briar-core/src/org/briarproject/blogs/BlogPostValidator.java index 1ff0e2d46163c1bb78341e120a1b47de370d6dc0..d412f10aea4ebd7f5bf4948f213b59abce090cea 100644 --- a/briar-core/src/org/briarproject/blogs/BlogPostValidator.java +++ b/briar-core/src/org/briarproject/blogs/BlogPostValidator.java @@ -34,6 +34,7 @@ import static org.briarproject.api.blogs.BlogConstants.KEY_PARENT; import static org.briarproject.api.blogs.BlogConstants.KEY_PUBLIC_KEY; import static org.briarproject.api.blogs.BlogConstants.KEY_READ; import static org.briarproject.api.blogs.BlogConstants.KEY_TIMESTAMP; +import static org.briarproject.api.blogs.BlogConstants.KEY_TIME_RECEIVED; import static org.briarproject.api.blogs.BlogConstants.KEY_TITLE; import static org.briarproject.api.blogs.BlogConstants.MAX_BLOG_POST_BODY_LENGTH; import static org.briarproject.api.blogs.BlogConstants.MAX_BLOG_POST_TITLE_LENGTH; @@ -119,6 +120,7 @@ class BlogPostValidator extends BdfMessageValidator { ); meta.put(KEY_AUTHOR, author); meta.put(KEY_TIMESTAMP, m.getTimestamp()); + meta.put(KEY_TIME_RECEIVED, clock.currentTimeMillis()); if (parent != null) { meta.put(KEY_PARENT, parent); dependencies = Collections.singletonList(new MessageId(parent));