|
|
@ -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)
|
|
|
|