pull/55/head
Niels Andriesse 6 years ago
parent dba4728d10
commit 2459388a3a

@ -5,7 +5,8 @@ final class SeedVC : OnboardingBaseViewController, DeviceLinkingModalDelegate {
private var mode: Mode = .register { didSet { if mode != oldValue { handleModeChanged() } } }
private var seed: Data! { didSet { updateMnemonic() } }
private var mnemonic: String! { didSet { handleMnemonicChanged() } }
private var timer: Timer?
// MARK: Components
private lazy var registerStackView: UIStackView = {
let result = UIStackView(arrangedSubviews: [ explanationLabel1, UIView.spacer(withHeight: 32), mnemonicLabel, UIView.spacer(withHeight: 24), copyButton, UIView.spacer(withHeight: 8), restoreButton1, linkButton1 ])
@ -345,22 +346,30 @@ final class SeedVC : OnboardingBaseViewController, DeviceLinkingModalDelegate {
present(deviceLinkingModal, animated: true, completion: nil)
let masterHexEncodedPublicKey = masterHexEncodedPublicKeyTextField.text!.trimmingCharacters(in: CharacterSet.whitespaces)
let linkingRequestMessage = DeviceLinkingUtilities.getLinkingRequestMessage(for: masterHexEncodedPublicKey)
(0..<4).forEach { _ in ThreadUtil.enqueue(linkingRequestMessage) }
timer = Timer.scheduledTimer(withTimeInterval: 2, repeats: true) { [weak self] _ in
self?.sendLinkingRequestMessage(linkingRequestMessage)
}
sendLinkingRequestMessage(linkingRequestMessage)
// TODO: Timer
// TODO: Sending bug
} else {
onboardingController.pushDisplayNameVC(from: self)
}
}
private func sendLinkingRequestMessage(_ linkingRequestMessage: DeviceLinkMessage) {
ThreadUtil.enqueue(linkingRequestMessage)
}
func handleDeviceLinkAuthorized(_ deviceLink: DeviceLink) {
timer?.invalidate()
UserDefaults.standard.set(true, forKey: "didUpdateForMainnet")
onboardingController.verificationDidComplete(fromView: self)
}
func handleDeviceLinkingModalDismissed() {
timer?.invalidate()
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.stopLongPollerIfNeeded()
TSAccountManager.sharedInstance().resetForReregistration()

@ -6,7 +6,7 @@ extension OWSPrimaryStorage {
}
public func setDeviceLinks(_ deviceLinks: Set<DeviceLink>, in transaction: YapDatabaseReadWriteTransaction) {
let masterHexEncodedPublicKeys = deviceLinks.map { $0.master.hexEncodedPublicKey }
let masterHexEncodedPublicKeys = Set(deviceLinks.map { $0.master.hexEncodedPublicKey })
guard masterHexEncodedPublicKeys.count == 1 else {
print("[Loki] Found inconsistent set of device links.")
return

Loading…
Cancel
Save