Skip to content

Commit 61c2bfd

Browse files
author
Peter
committed
Block repeated passport attachment callback
1 parent 8df0a69 commit 61c2bfd

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

‎submodules/TelegramUI/TelegramUI/LegacySecureIdAttachmentMenu.swift‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,25 @@ func presentLegacySecureIdAttachmentMenu(context: AccountContext, present: @esca
5151
mappedIntent = TGPassportAttachIntentSelfie
5252
}
5353

54+
var uploadStarted = false
55+
5456
guard let attachMenu = TGPassportAttachMenu.present(with: legacyController.context, parentController: emptyController, menuController: nil, title: "", intent: mappedIntent, uploadAction: { signal, completed in
5557
if let signal = signal {
58+
if uploadStarted {
59+
completed?()
60+
return
61+
}
62+
uploadStarted = true
63+
let statusController = OverlayStatusController(theme: presentationData.theme, strings: presentationData.strings, type: .loading(cancelled: nil))
64+
let statusDisposable = (Signal<Never, NoError> { subscriber in
65+
present(statusController)
66+
return ActionDisposable {
67+
statusController.dismiss()
68+
}
69+
}
70+
|> runOn(.mainQueue())
71+
|> delay(0.1, queue: .mainQueue())).start()
72+
5673
let _ = (processedLegacySecureIdAttachmentItems(postbox: context.account.postbox, signal: signal)
5774
|> mapToSignal { resources -> Signal<([TelegramMediaResource], SecureIdRecognizedDocumentData?), NoError> in
5875
switch type {
@@ -70,6 +87,7 @@ func presentLegacySecureIdAttachmentMenu(context: AccountContext, present: @esca
7087
}
7188
|> deliverOnMainQueue).start(next: { resourcesAndData in
7289
completion(resourcesAndData.0, resourcesAndData.1)
90+
statusDisposable.dispose()
7391
completed?()
7492
})
7593
} else {

0 commit comments

Comments
 (0)