Skip to content

Commit e330dad

Browse files
chore: refactor bridge part
1 parent bcbd5db commit e330dad

6 files changed

Lines changed: 24 additions & 38 deletions

File tree

ios/Modules/Helper/DevHelper.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ public class DevHelper {
1111
}
1212

1313
public static var devSettings: RCTDevSettings? {
14-
return ReactHostManager.module(type: RCTDevSettings.self)
14+
return ReactAppProvider.getModule(type: RCTDevSettings.self)
1515
}
1616

1717
public static var devMenu: RCTDevMenu? {
18-
return ReactHostManager.module(type: RCTDevMenu.self)
18+
return ReactAppProvider.getModule(type: RCTDevMenu.self)
1919
}
2020

2121
public static func setDebugMode(enabled: Bool) {

ios/Modules/Helper/ReactAppProvider.swift

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,16 @@ import ReactAppDependencyProvider
55

66
open class ReactAppProvider: RCTAppDelegate {
77

8-
var reactRootViewName: String = "App"
8+
public static let defaultName = "App"
99

10-
public func setUpProvider(moduleName: String = "App", reactRootViewName: String = "App") {
10+
var reactRootViewName: String = defaultName
11+
12+
public func setUpProvider(moduleName: String = ReactAppProvider.defaultName, reactRootViewName: String = ReactAppProvider.defaultName) {
1113
self.moduleName = moduleName
1214
self.reactRootViewName = reactRootViewName
1315
automaticallyLoadReactNativeWindow = false
1416
dependencyProvider = RCTAppDependencyProvider()
15-
initialProps = [:]
16-
window = UIApplication
17-
.shared
18-
.connectedScenes
19-
.compactMap { $0 as? UIWindowScene }
20-
.first?
21-
.windows
22-
.first { $0.isKeyWindow } ?? UIWindow(frame: UIScreen.main.bounds)
17+
window = MendixReactWindow(frame: UIScreen.main.bounds)
2318
}
2419

2520
public override func sourceURL(for bridge: RCTBridge) -> URL? {
@@ -53,8 +48,8 @@ open class ReactAppProvider: RCTAppDelegate {
5348
return UIApplication.shared.delegate as? ReactAppProvider
5449
}
5550

56-
public func isReactAppActive() -> Bool {
57-
return bridge != nil
51+
public static func isReactAppActive() -> Bool {
52+
return unsafeBridge != nil
5853
}
5954

6055
public func changeRoot(to controller: UIViewController) {
@@ -65,4 +60,16 @@ open class ReactAppProvider: RCTAppDelegate {
6560
public var rootView: UIView? {
6661
return window.rootViewController?.view
6762
}
63+
64+
public static func getModule<T: NSObject>(type: T.Type) -> T? {
65+
return unsafeBridge?.moduleRegistry.module(for: type.self) as? T
66+
}
67+
68+
public static func getModule(name: String) -> Any? {
69+
return unsafeBridge?.moduleRegistry.module(forName: name)
70+
}
71+
72+
public static var unsafeBridge: RCTBridge? {
73+
return RCTBridge.current()
74+
}
6875
}

ios/Modules/Helper/ReactHostManager.swift

Lines changed: 0 additions & 21 deletions
This file was deleted.

ios/Modules/Helper/TapGestureRecognizerHelper.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TapGestureRecognizerHelper {
1717
private var tapGestureRecognizer: UITapGestureRecognizer?
1818

1919
@objc private func handleTapAction(_ gestureRecognizer: UITapGestureRecognizer) {
20-
if gestureRecognizer.state == .ended && ReactAppProvider.shared()?.isReactAppActive() == true , let onTapAction {
20+
if gestureRecognizer.state == .ended && ReactAppProvider.isReactAppActive() == true , let onTapAction {
2121
onTapAction(gestureRecognizer)
2222
}
2323
}

ios/Modules/Helper/UnsafeMxFunction.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ enum UnsafeMxFunction {
2020
}
2121

2222
var target: NSObject? {
23-
return ReactHostManager.module(name: className) as? NSObject
23+
return ReactAppProvider.getModule(name: className) as? NSObject
2424
}
2525

2626
func perform() {

ios/Modules/ReactNative.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ open class ReactNative: NSObject, RCTReloadListener {
140140
}
141141

142142
@objc private func appReloadAction(_ gestureRecognizer: UITapGestureRecognizer) {
143-
if gestureRecognizer.state == .ended && ReactAppProvider.shared()?.isReactAppActive() == true {
143+
if gestureRecognizer.state == .ended && ReactAppProvider.isReactAppActive() == true {
144144
reloadWithState()
145145
}
146146
}

0 commit comments

Comments
 (0)