Rework blocking manager.

This commit is contained in:
Matthew Chen 2021-07-16 17:37:19 -03:00
parent 390718420e
commit a3a754b570

View File

@ -35,14 +35,6 @@ public class OWSBlockingManager: NSObject {
// A map of group id-to-group model.
let blockedGroupMap: [Data: TSGroupModel]
// required init(blockedPhoneNumbers: Set<String>,
// blockedUUIDSet: Set<String>,
// 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.