Make database transaction explicit

pull/175/head
nielsandriesse 5 years ago
parent 9611f06e25
commit 488f821881

@ -184,15 +184,17 @@ final class DeviceLinkingModal : Modal, DeviceLinkingSessionDelegate {
let signedDeviceLink = DeviceLink(between: master, and: deviceLink.slave) let signedDeviceLink = DeviceLink(between: master, and: deviceLink.slave)
LokiFileServerAPI.addDeviceLink(signedDeviceLink).done(on: DispatchQueue.main) { [weak self] in LokiFileServerAPI.addDeviceLink(signedDeviceLink).done(on: DispatchQueue.main) { [weak self] in
SSKEnvironment.shared.messageSender.send(linkingAuthorizationMessage, success: { SSKEnvironment.shared.messageSender.send(linkingAuthorizationMessage, success: {
let hexEncodedPublicKey = deviceLink.slave.hexEncodedPublicKey let storage = OWSPrimaryStorage.shared()
let thread = TSContactThread.getOrCreateThread(contactId: hexEncodedPublicKey) let slaveHexEncodedPublicKey = deviceLink.slave.hexEncodedPublicKey
thread.save() storage.dbReadWriteConnection.readWrite { transaction in
let thread = TSContactThread.getOrCreateThread(withContactId: slaveHexEncodedPublicKey, transaction: transaction)
thread.save(with: transaction)
}
let _ = SSKEnvironment.shared.syncManager.syncAllContacts() let _ = SSKEnvironment.shared.syncManager.syncAllContacts()
let _ = SSKEnvironment.shared.syncManager.syncAllGroups() let _ = SSKEnvironment.shared.syncManager.syncAllGroups()
let _ = SSKEnvironment.shared.syncManager.syncAllOpenGroups() let _ = SSKEnvironment.shared.syncManager.syncAllOpenGroups()
let storage = OWSPrimaryStorage.shared()
storage.dbReadWriteConnection.readWrite { transaction in storage.dbReadWriteConnection.readWrite { transaction in
storage.setFriendRequestStatus(.friends, for: hexEncodedPublicKey, transaction: transaction) storage.setFriendRequestStatus(.friends, for: slaveHexEncodedPublicKey, transaction: transaction)
} }
DispatchQueue.main.async { DispatchQueue.main.async {
self?.dismiss(animated: true, completion: nil) self?.dismiss(animated: true, completion: nil)

Loading…
Cancel
Save