mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 00:59:49 +01:00
Fix handling of E164-only contacts in incoming block sync message.
This commit is contained in:
@@ -153,7 +153,7 @@ object SyncMessageProcessor {
|
||||
syncMessage.verified != null -> handleSynchronizeVerifiedMessage(context, syncMessage.verified!!)
|
||||
syncMessage.stickerPackOperation.isNotEmpty() -> handleSynchronizeStickerPackOperation(syncMessage.stickerPackOperation, envelope.timestamp!!)
|
||||
syncMessage.configuration != null -> handleSynchronizeConfigurationMessage(context, syncMessage.configuration!!, envelope.timestamp!!)
|
||||
syncMessage.blocked != null -> handleSynchronizeBlockedListMessage(syncMessage.blocked!!)
|
||||
syncMessage.blocked != null -> handleSynchronizeBlockedListMessage(syncMessage.blocked!!, envelope.timestamp!!)
|
||||
syncMessage.fetchLatest?.type != null -> handleSynchronizeFetchMessage(syncMessage.fetchLatest!!.type!!, envelope.timestamp!!)
|
||||
syncMessage.messageRequestResponse != null -> handleSynchronizeMessageRequestResponse(syncMessage.messageRequestResponse!!, envelope.timestamp!!)
|
||||
syncMessage.outgoingPayment != null -> handleSynchronizeOutgoingPayment(syncMessage.outgoingPayment!!, envelope.timestamp!!)
|
||||
@@ -1095,11 +1095,13 @@ object SyncMessageProcessor {
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleSynchronizeBlockedListMessage(blockMessage: Blocked) {
|
||||
val addresses: List<SignalServiceAddress> = blockMessage.acis.mapNotNull { SignalServiceAddress.fromRaw(it, null).orNull() }
|
||||
val groupIds: List<ByteArray> = blockMessage.groupIds.map { it.toByteArray() }
|
||||
private fun handleSynchronizeBlockedListMessage(blockMessage: Blocked, envelopeTimestamp: Long) {
|
||||
val blockedAcis = blockMessage.acis.mapNotNull { ACI.parseOrNull(it) }
|
||||
val blockedE164s = blockMessage.numbers
|
||||
val blockedGroupIds = blockMessage.groupIds.map { it.toByteArray() }
|
||||
log(envelopeTimestamp, "Synchronize block message. Counts: (ACI: ${blockedAcis.size}, E164: ${blockedE164s.size}, Group: ${blockedGroupIds.size})")
|
||||
|
||||
SignalDatabase.recipients.applyBlockedUpdate(addresses, groupIds)
|
||||
SignalDatabase.recipients.applyBlockedUpdate(blockedE164s, blockedAcis, blockedGroupIds)
|
||||
}
|
||||
|
||||
private fun handleSynchronizeFetchMessage(fetchType: FetchLatest.Type, envelopeTimestamp: Long) {
|
||||
|
||||
Reference in New Issue
Block a user