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;