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,