Clean up ahead of CR.

This commit is contained in:
Matthew Chen 2020-07-23 12:41:58 -03:00
parent 1c8c0b7d5b
commit 30740b5d80
2 changed files with 12 additions and 13 deletions

View File

@ -303,7 +303,7 @@ public class GroupV2UpdatesImpl: NSObject, GroupV2UpdatesSwift {
return GroupManager.ensureLocalProfileHasCommitmentIfNecessary()
}.then(on: DispatchQueue.global()) { () throws -> Promise<TSGroupThread> in
// Try to use individual changes.
return firstly {
return firstly(on: .global()) {
self.fetchAndApplyChangeActionsFromService(groupSecretParamsData: groupSecretParamsData,
groupUpdateMode: groupUpdateMode)
}.recover { (error) throws -> Promise<TSGroupThread> in

View File

@ -637,12 +637,7 @@ public class GroupManager: NSObject {
groupUpdateSourceAddress: SignalServiceAddress?,
infoMessagePolicy: InfoMessagePolicy = .always,
transaction: SDSAnyWriteTransaction) throws -> UpsertGroupResult {
guard let localAddress = tsAccountManager.localAddress else {
throw OWSAssertionError("Missing localAddress.")
}
let mightBeAddingLocalUserToGroup = (groupModel.groupsVersion == .V1 &&
groupModel.groupMembership.isPendingOrNonPendingMember(localAddress))
let mightBeAddingLocalUserToGroup = try mightBeAddingLocalUserToV1Group(groupModel: groupModel)
return try self.tryToUpsertExistingGroupThreadInDatabaseAndCreateInfoMessage(newGroupModel: groupModel,
newDisappearingMessageToken: disappearingMessageToken,
groupUpdateSourceAddress: groupUpdateSourceAddress,
@ -652,6 +647,14 @@ public class GroupManager: NSObject {
transaction: transaction)
}
private static func mightBeAddingLocalUserToV1Group(groupModel: TSGroupModel) throws -> Bool {
guard let localAddress = tsAccountManager.localAddress else {
throw OWSAssertionError("Missing localAddress.")
}
return (groupModel.groupsVersion == .V1 &&
groupModel.groupMembership.isPendingOrNonPendingMember(localAddress))
}
// MARK: - Update Existing Group (Remote)
// Unlike remoteUpsertExistingGroupV1(), this method never inserts.
@ -679,8 +682,7 @@ public class GroupManager: NSObject {
return UpsertGroupResult(action: .unchanged, groupThread: groupThread)
}
let newGroupModel = updateInfo.newGroupModel
let mightBeAddingLocalUserToGroup = (newGroupModel.groupsVersion == .V1 &&
newGroupModel.groupMembership.isPendingOrNonPendingMember(localAddress))
let mightBeAddingLocalUserToGroup = try mightBeAddingLocalUserToV1Group(groupModel: newGroupModel)
return try self.tryToUpsertExistingGroupThreadInDatabaseAndCreateInfoMessage(newGroupModel: newGroupModel,
newDisappearingMessageToken: disappearingMessageToken,
groupUpdateSourceAddress: groupUpdateSourceAddress,
@ -738,14 +740,11 @@ public class GroupManager: NSObject {
groupUpdateSourceAddress: SignalServiceAddress?) -> Promise<TSGroupThread> {
return self.databaseStorage.write(.promise) { (transaction) throws -> UpsertGroupResult in
guard let localAddress = tsAccountManager.localAddress else {
throw OWSAssertionError("Missing localAddress.")
}
let updateInfo = try self.updateInfoV1(groupModel: proposedGroupModel,
dmConfiguration: dmConfiguration,
transaction: transaction)
let newGroupModel = updateInfo.newGroupModel
let mightBeAddingLocalUserToGroup = newGroupModel.groupMembership.isPendingOrNonPendingMember(localAddress)
let mightBeAddingLocalUserToGroup = try mightBeAddingLocalUserToV1Group(groupModel: newGroupModel)
let upsertGroupResult = try self.tryToUpsertExistingGroupThreadInDatabaseAndCreateInfoMessage(newGroupModel: newGroupModel,
newDisappearingMessageToken: dmConfiguration?.asToken,
groupUpdateSourceAddress: groupUpdateSourceAddress,