From b8f43ef99e49a08dad88c21e69680ee4bac2b3fd Mon Sep 17 00:00:00 2001 From: pinpong Date: Thu, 27 Apr 2023 07:42:31 +0200 Subject: [PATCH] fixed hot realod --- ios/Components/AdyenDropIn.swift | 7 ++++++- ios/Components/ApplePayComponent.swift | 7 ++++++- ios/Components/InstantComponent.swift | 11 ++++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ios/Components/AdyenDropIn.swift b/ios/Components/AdyenDropIn.swift index 5670cf3bb..76f50df4a 100644 --- a/ios/Components/AdyenDropIn.swift +++ b/ios/Components/AdyenDropIn.swift @@ -14,12 +14,17 @@ final internal class AdyenDropIn: BaseModule { private var dropInComponent: DropInComponent? + override func invalidate() { + hide(false, event: [:]) + } + override func supportedEvents() -> [String]! { super.supportedEvents() } + @objc func hide(_ success: NSNumber, event: NSDictionary) { DispatchQueue.main.async { [weak self] in guard let self = self else { return } - + self.dropInComponent?.finalizeIfNeeded(with: success.boolValue) { self.cleanUp() self.dropInComponent = nil diff --git a/ios/Components/ApplePayComponent.swift b/ios/Components/ApplePayComponent.swift index b76d374bb..2a6753c59 100644 --- a/ios/Components/ApplePayComponent.swift +++ b/ios/Components/ApplePayComponent.swift @@ -13,7 +13,12 @@ import React @objc(AdyenApplePay) final internal class ApplePayComponent: BaseModule { + override func invalidate() { + hide(false, event: [:]) + } + override func supportedEvents() -> [String]! { super.supportedEvents() } + @objc func hide(_ success: NSNumber, event: NSDictionary) { DispatchQueue.main.async {[weak self] in @@ -41,7 +46,7 @@ final internal class ApplePayComponent: BaseModule { } catch { return sendEvent(error: error) } - + let apiContext = APIContext(environment: parser.environment, clientKey: clientKey) let applePayComponent: Adyen.ApplePayComponent diff --git a/ios/Components/InstantComponent.swift b/ios/Components/InstantComponent.swift index 3155ccc56..65e1827c2 100644 --- a/ios/Components/InstantComponent.swift +++ b/ios/Components/InstantComponent.swift @@ -12,13 +12,18 @@ import React @objc(AdyenInstant) final internal class InstantComponent: BaseModule { + + override func invalidate() { + hide(false, event: [:]) + } + override func supportedEvents() -> [String]! { super.supportedEvents() } @objc func hide(_ success: NSNumber, event: NSDictionary) { DispatchQueue.main.async {[weak self] in guard let self = self else { return } - + self.currentComponent?.finalizeIfNeeded(with: success.boolValue) { self.cleanUp() } @@ -47,7 +52,7 @@ final internal class InstantComponent: BaseModule { component.payment = parser.payment component.delegate = self currentComponent = component - + DispatchQueue.main.async { component.initiatePayment() } @@ -61,7 +66,7 @@ final internal class InstantComponent: BaseModule { } catch { return sendEvent(error: error) } - + DispatchQueue.main.async { [weak self] in self?.actionHandler?.handle(action) }