From a3a754b570944fe6086abe25db46d5b5ca2d544c Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 16 Jul 2021 17:37:19 -0300 Subject: [PATCH] Rework blocking manager. --- .../src/Messages/OWSBlockingManager.swift | 58 ++----------------- 1 file changed, 4 insertions(+), 54 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSBlockingManager.swift b/SignalServiceKit/src/Messages/OWSBlockingManager.swift index 89a57682be..920a23ea12 100644 --- a/SignalServiceKit/src/Messages/OWSBlockingManager.swift +++ b/SignalServiceKit/src/Messages/OWSBlockingManager.swift @@ -35,14 +35,6 @@ public class OWSBlockingManager: NSObject { // A map of group id-to-group model. let blockedGroupMap: [Data: TSGroupModel] - // required init(blockedPhoneNumbers: Set, - // blockedUUIDSet: Set, - // blockedGroupMap: [Data: TSGroupModel]) { - // self.blockedPhoneNumbers = blockedPhoneNumbers - // self.blockedUUIDSet = blockedUUIDSet - // self.blockedGroupMap = blockedGroupMap - // } - static var empty: State { State(blockedPhoneNumbers: Set(), blockedUUIDStrings: Set(), @@ -331,17 +323,6 @@ public class OWSBlockingManager: NSObject { return blockedAddresses } -// @objc -// public func addBlockedAddressWithSneakyTransaction(_ address: SignalServiceAddress, -// blockMode: BlockMode) { -// guard !isAddressBlocked(address) else { -// return -// } -// databaseStorage.write { transaction in -// addBlockedAddress(address, blockMode: blockMode, transaction: transaction) -// } -// } - @objc public func addBlockedAddress(_ address: SignalServiceAddress, blockMode: BlockMode, @@ -403,8 +384,6 @@ public class OWSBlockingManager: NSObject { return } - Logger.info("removeBlockedAddress: \(address)") - let state: State? = unfairLock.withLock { let oldState = self.currentState @@ -436,6 +415,8 @@ public class OWSBlockingManager: NSObject { return } + Logger.info("removeBlockedAddress: \(address)") + if wasLocallyInitiated { // The block state changed, schedule a backup with the storage service storageServiceManager.recordPendingUpdates(updatedAddresses: [address]) @@ -484,17 +465,6 @@ public class OWSBlockingManager: NSObject { unfairLock.withLock { self.currentState.blockedGroupMap[groupId] } } -// @objc -// public func addBlockedGroupWithSneakyTransaction(groupModel: TSGroupModel, -// blockMode: BlockMode) { -// guard !isGroupIdBlocked(groupModel.groupId) else { -// return -// } -// databaseStorage.write { transaction in -// addBlockedGroup(groupModel: groupModel, blockMode: blockMode, transaction: transaction) -// } -// } - @objc public func addBlockedGroup(groupModel: TSGroupModel, blockMode: BlockMode, @@ -502,8 +472,6 @@ public class OWSBlockingManager: NSObject { let groupId = groupModel.groupId owsAssertDebug(GroupManager.isValidGroupIdOfAnyKind(groupId)) - Logger.info("groupId: \(groupId.hexadecimalString)") - let state: State? = unfairLock.withLock { let oldState = self.currentState @@ -529,6 +497,8 @@ public class OWSBlockingManager: NSObject { return } + Logger.info("groupId: \(groupId.hexadecimalString)") + TSGroupThread.ensureGroupIdMapping(forGroupId: groupId, transaction: transaction) // Quit the group if we're a member. @@ -652,16 +622,6 @@ public class OWSBlockingManager: NSObject { } } - // - (void)addBlockedThread:(TSThread *)thread blockMode:(BlockMode)blockMode - // { - // if ([self isThreadBlocked:thread]) { - // return - // } - // DatabaseStorageWrite(self.databaseStorage, ^(SDSAnyWriteTransaction *transaction) { - // [self addBlockedThread:thread blockMode:blockMode transaction:transaction] - // }) - // } - @objc public func removeBlockedThread(_ thread: TSThread, wasLocallyInitiated: Bool, @@ -679,16 +639,6 @@ public class OWSBlockingManager: NSObject { } } - // - (void)removeBlockedThread:(TSThread *)thread wasLocallyInitiated:(BOOL)wasLocallyInitiated - // { - // if (![self isThreadBlocked:thread]) { - // return - // } - // DatabaseStorageWrite(self.databaseStorage, ^(SDSAnyWriteTransaction *transaction) { - // [self removeBlockedThread:thread wasLocallyInitiated:wasLocallyInitiated transaction:transaction] - // }) - // } - // MARK: - Updates // This should be called every time the block list changes.