From 5344d6aa64f03331904e58b299ac5dda54d30cd0 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Thu, 16 Jul 2020 13:49:46 +1000 Subject: [PATCH] Handle syncing of blocked contacts --- .../securesms/loki/protocol/SyncMessagesProtocol.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/loki/protocol/SyncMessagesProtocol.kt b/src/org/thoughtcrime/securesms/loki/protocol/SyncMessagesProtocol.kt index 26b5bab8b2..4254e60ada 100644 --- a/src/org/thoughtcrime/securesms/loki/protocol/SyncMessagesProtocol.kt +++ b/src/org/thoughtcrime/securesms/loki/protocol/SyncMessagesProtocol.kt @@ -93,11 +93,13 @@ object SyncMessagesProtocol { if (!allUserDevices.contains(content.sender)) { return } Log.d("Loki", "Received a contact sync message.") val contactsInputStream = DeviceContactsInputStream(message.contactsStream.asStream().inputStream) - val contactPublicKeys = contactsInputStream.readAll().map { it.number } - for (contactPublicKey in contactPublicKeys) { + val contacts = contactsInputStream.readAll() + for (contact in contacts) { + val contactPublicKey = contact.number if (contactPublicKey == userPublicKey || !PublicKeyValidation.isValid(contactPublicKey)) { return } val applicationContext = context.applicationContext as ApplicationContext applicationContext.sendSessionRequestIfNeeded(contactPublicKey) + DatabaseFactory.getRecipientDatabase(context).setBlocked(recipient(context, contactPublicKey), contact.isBlocked) } }