Fix header problem with revoke remote wipe messages

This commit is contained in:
ameba23
2021-09-01 11:59:12 +02:00
parent 18d1dd041d
commit 581ecc9aaa
5 changed files with 22 additions and 11 deletions

View File

@@ -334,23 +334,19 @@ class ConversationVisitor implements
return new ConversationNoticeItem( return new ConversationNoticeItem(
R.layout.list_item_conversation_notice_out, text, r); R.layout.list_item_conversation_notice_out, text, r);
default: // REVOKE default: // REVOKE
String revokeText;
if (r.isLocal()) { if (r.isLocal()) {
String revokeText = revokeText = ctx.getString(R.string.remote_wipe_revoke_sent,
ctx.getString(R.string.remote_wipe_revoke_sent, contactName.getValue());
contactName.getValue()) + " " + UiUtils
.formatDateAbsolute(ctx,
r.getMessageExpiry());
return new ConversationNoticeItem( return new ConversationNoticeItem(
R.layout.list_item_conversation_notice_out, R.layout.list_item_conversation_notice_out,
revokeText, r); revokeText, r);
} else { } else {
String revokeText = revokeText =
ctx.getString(R.string.remote_wipe_revoke_received, ctx.getString(R.string.remote_wipe_revoke_received,
contactName.getValue()) + " " + UiUtils contactName.getValue());
.formatDateAbsolute(ctx,
r.getMessageExpiry());
return new ConversationNoticeItem( return new ConversationNoticeItem(
R.layout.list_item_conversation_notice_out, R.layout.list_item_conversation_notice_in,
revokeText, r); revokeText, r);
} }
} }

View File

@@ -750,7 +750,7 @@
<string name="activity_name_remote_wipe">Remote Wipe</string> <string name="activity_name_remote_wipe">Remote Wipe</string>
<string name="assigned_wipers">Your assigned trusted wipers</string> <string name="assigned_wipers">Your assigned trusted wipers</string>
<string name="activate_remote_wipe">Activate remote wipe</string> <string name="activate_remote_wipe">Activate remote wipe</string>
<string name="remote_wipe_revoke_sent">%1$s may no longer activate a remote wipe.</string> <string name="remote_wipe_revoke_sent">You have removed %1$s as a remote wiper.</string>
<string name="remote_wipe_revoke_received">You can no longer activate a remote wipe for %1$s.</string> <string name="remote_wipe_revoke_received">You can no longer activate a remote wipe for %1$s.</string>
<!-- activate --> <!-- activate -->

View File

@@ -7,4 +7,6 @@ public interface MessageParser {
void parseSetupMessage(BdfList body) throws FormatException; void parseSetupMessage(BdfList body) throws FormatException;
void parseWipeMessage(BdfList body) throws FormatException; void parseWipeMessage(BdfList body) throws FormatException;
void parseRevokeMessage(BdfList body) throws FormatException;
} }

View File

@@ -21,4 +21,9 @@ public class MessageParserImpl implements MessageParser {
public void parseWipeMessage(BdfList body) throws FormatException { public void parseWipeMessage(BdfList body) throws FormatException {
} }
@Override
public void parseRevokeMessage(BdfList body) throws FormatException {
}
} }

View File

@@ -411,6 +411,14 @@ public class RemoteWipeManagerImpl extends ConversationClientImpl
createMessageHeader(message, meta, status, createMessageHeader(message, meta, status,
WIPE)); 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; return headers;