handle home screen update for unsend request

This commit is contained in:
ryanzhao
2021-08-12 14:14:37 +10:00
parent 8b6b02911f
commit 9ab285c3be
8 changed files with 39 additions and 15 deletions

View File

@@ -13,7 +13,7 @@ interface MessageDataProvider {
fun getMessageID(serverID: Long): Long?
fun getMessageID(serverId: Long, threadId: Long): Pair<Long, Boolean>?
fun deleteMessage(messageID: Long, isSms: Boolean)
fun updateMessageAsDeleted(messageID: Long)
fun updateMessageAsDeleted(timestamp: Long, author: String)
fun getServerHashForMessage(messageID: Long): String?
fun getDatabaseAttachment(attachmentId: Long): DatabaseAttachment?
fun getAttachmentStream(attachmentId: Long): SessionServiceAttachmentStream?

View File

@@ -157,13 +157,12 @@ fun MessageReceiver.handleUnsendRequest(message: UnsendRequest) {
val author = message.author ?: return
val messageIdToDelete = storage.getMessageIdInDatabase(timestamp, author) ?: return
if (!messageDataProvider.isOutgoingMessage(messageIdToDelete)) {
// TODO: Mark this message as read
// TODO: Cancel the notification of this message
}
messageDataProvider.getServerHashForMessage(messageIdToDelete)?.let { serverHash ->
SnodeAPI.deleteMessage(author, listOf(serverHash))
}
messageDataProvider.updateMessageAsDeleted(messageIdToDelete)
messageDataProvider.updateMessageAsDeleted(timestamp, author)
}
//endregion