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 676e4cbf0..7cb699882 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
@@ -334,23 +334,19 @@ class ConversationVisitor implements
return new ConversationNoticeItem(
R.layout.list_item_conversation_notice_out, text, r);
default: // REVOKE
+ String revokeText;
if (r.isLocal()) {
- String revokeText =
- ctx.getString(R.string.remote_wipe_revoke_sent,
- contactName.getValue()) + " " + UiUtils
- .formatDateAbsolute(ctx,
- r.getMessageExpiry());
+ revokeText = ctx.getString(R.string.remote_wipe_revoke_sent,
+ contactName.getValue());
return new ConversationNoticeItem(
R.layout.list_item_conversation_notice_out,
revokeText, r);
} else {
- String revokeText =
+ revokeText =
ctx.getString(R.string.remote_wipe_revoke_received,
- contactName.getValue()) + " " + UiUtils
- .formatDateAbsolute(ctx,
- r.getMessageExpiry());
+ contactName.getValue());
return new ConversationNoticeItem(
- R.layout.list_item_conversation_notice_out,
+ R.layout.list_item_conversation_notice_in,
revokeText, r);
}
}
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index 4b43cd2b5..94ce64f26 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -750,7 +750,7 @@
Remote Wipe
Your assigned trusted wipers
Activate remote wipe
- %1$s may no longer activate a remote wipe.
+ You have removed %1$s as a remote wiper.
You can no longer activate a remote wipe for %1$s.
diff --git a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/MessageParser.java b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/MessageParser.java
index 1e897459c..a9dbd5f34 100644
--- a/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/MessageParser.java
+++ b/briar-api/src/main/java/org/briarproject/briar/api/remotewipe/MessageParser.java
@@ -7,4 +7,6 @@ public interface MessageParser {
void parseSetupMessage(BdfList body) throws FormatException;
void parseWipeMessage(BdfList body) throws FormatException;
+
+ void parseRevokeMessage(BdfList body) throws FormatException;
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/remotewipe/MessageParserImpl.java b/briar-core/src/main/java/org/briarproject/briar/remotewipe/MessageParserImpl.java
index e37e92591..68ebb954a 100644
--- a/briar-core/src/main/java/org/briarproject/briar/remotewipe/MessageParserImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/remotewipe/MessageParserImpl.java
@@ -21,4 +21,9 @@ public class MessageParserImpl implements MessageParser {
public void parseWipeMessage(BdfList body) throws FormatException {
}
+
+ @Override
+ public void parseRevokeMessage(BdfList body) throws FormatException {
+
+ }
}
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 fa9eec0b5..a472b0584 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
@@ -411,6 +411,14 @@ public class RemoteWipeManagerImpl extends ConversationClientImpl
createMessageHeader(message, meta, status,
WIPE));
}
+ } else if (meta.getLong(MSG_KEY_MESSAGE_TYPE).intValue() ==
+ REVOKE.getValue()) {
+ Message message = clientHelper
+ .getMessage(txn, messageEntry.getKey());
+ MessageStatus status = db.getMessageStatus(txn, contactId,
+ messageEntry.getKey());
+ headers.add(
+ createMessageHeader(message, meta, status, REVOKE));
}
}
return headers;