diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java index 87e9435f4..c9cecd611 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationVisitor.java @@ -6,6 +6,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.R; import org.briarproject.briar.android.attachment.AttachmentItem; +import org.briarproject.briar.android.util.UiUtils; import org.briarproject.briar.api.blog.BlogInvitationRequest; import org.briarproject.briar.api.blog.BlogInvitationResponse; import org.briarproject.briar.api.conversation.ConversationMessageVisitor; @@ -16,7 +17,6 @@ import org.briarproject.briar.api.introduction.IntroductionResponse; import org.briarproject.briar.api.messaging.PrivateMessageHeader; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest; import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse; -import org.briarproject.briar.api.remotewipe.MessageType; import org.briarproject.briar.api.remotewipe.RemoteWipeMessageHeader; import org.briarproject.briar.api.socialbackup.ShardMessageHeader; @@ -315,16 +315,22 @@ class ConversationVisitor implements switch (r.getMessageType()) { case SETUP: if (r.isLocal()) { - String text = ctx.getString(R.string.remote_wipe_setup_sent, contactName.getValue()); + String text = ctx.getString(R.string.remote_wipe_setup_sent, + contactName.getValue()); return new ConversationNoticeItem( - R.layout.list_item_conversation_notice_out, text, r); + R.layout.list_item_conversation_notice_out, text, + r); } else { - String text = ctx.getString(R.string.remote_wipe_setup_received, contactName.getValue()); + String text = + ctx.getString(R.string.remote_wipe_setup_received, + contactName.getValue()); return new ConversationNoticeItem( R.layout.list_item_conversation_notice_in, text, r); } default: // WIPE - String text = ctx.getString(R.string.remote_wipe_wipe_sent, contactName.getValue()); + String text = ctx.getString(R.string.remote_wipe_wipe_sent, + contactName.getValue()) + " " + UiUtils + .formatDateAbsolute(ctx, r.getMessageExpiry()); return new ConversationNoticeItem( R.layout.list_item_conversation_notice_out, text, r); } diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 1151fed0e..b100a5f2e 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -747,7 +747,7 @@ %1$s has added you as a remote wiper. You have added %1$s as a remote wiper. - You have sent an activate remote wipe signal to %1$s. + You have sent an activate remote wipe signal to %1$s. It expires Remote Wipe Your assigned trusted wipers Activate remote wipe diff --git a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeConstants.java b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeConstants.java index b759387d9..5915bf415 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeConstants.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeConstants.java @@ -1,4 +1,4 @@ -package org.briarproject.briar.remotewipe; +package org.briarproject.briar.api.remotewipe; public interface RemoteWipeConstants { diff --git a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeMessageHeader.java b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeMessageHeader.java index 2e7c1d010..51bc096b6 100644 --- a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeMessageHeader.java +++ b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/RemoteWipeMessageHeader.java @@ -34,6 +34,10 @@ public class RemoteWipeMessageHeader extends ConversationMessageHeader { return type; } + public long getMessageExpiry() { + return (getTimestamp() + RemoteWipeConstants.MAX_MESSAGE_AGE); + } + @Override public T accept(ConversationMessageVisitor v) { return v.visitRemoteWipeMessage(this); diff --git a/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java index 5dc5f1d1e..6b2a6cc6c 100644 --- a/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/remotewipe/RemoteWipeManagerImpl.java @@ -50,14 +50,14 @@ import static java.util.logging.Logger.getLogger; import static org.briarproject.briar.api.remotewipe.MessageType.SETUP; import static org.briarproject.briar.api.remotewipe.MessageType.WIPE; import static org.briarproject.briar.client.MessageTrackerConstants.MSG_KEY_READ; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.GROUP_KEY_CONTACT_ID; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.GROUP_KEY_RECEIVED_WIPE; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.GROUP_KEY_WIPERS; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.MAX_MESSAGE_AGE; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.MSG_KEY_LOCAL; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.MSG_KEY_MESSAGE_TYPE; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.MSG_KEY_TIMESTAMP; -import static org.briarproject.briar.remotewipe.RemoteWipeConstants.THRESHOLD; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.GROUP_KEY_CONTACT_ID; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.GROUP_KEY_RECEIVED_WIPE; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.GROUP_KEY_WIPERS; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.MAX_MESSAGE_AGE; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.MSG_KEY_LOCAL; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.MSG_KEY_MESSAGE_TYPE; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.MSG_KEY_TIMESTAMP; +import static org.briarproject.briar.api.remotewipe.RemoteWipeConstants.THRESHOLD; public class RemoteWipeManagerImpl extends ConversationClientImpl implements RemoteWipeManager, ContactManager.ContactHook,