react-native-navigation 8.3.1 → 8.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationTurboModule.kt
CHANGED
|
@@ -36,20 +36,22 @@ class NavigationTurboModule(
|
|
|
36
36
|
override fun onHostPause() {
|
|
37
37
|
super.onHostPause()
|
|
38
38
|
UiUtils.runOnMainThread {
|
|
39
|
-
navigator()
|
|
39
|
+
navigator()?.onHostPause()
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
override fun onHostResume() {
|
|
44
44
|
eventEmitter = EventEmitter(reactContext)
|
|
45
|
-
navigator()
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
navigator()?.let { navigator: Navigator ->
|
|
46
|
+
navigator.setEventEmitter(eventEmitter)
|
|
47
|
+
layoutFactory.init(
|
|
48
|
+
activity(),
|
|
49
|
+
eventEmitter,
|
|
50
|
+
navigator.childRegistry,
|
|
51
|
+
(reactApplicationContext.applicationContext as NavigationApplication).externalComponents
|
|
52
|
+
)
|
|
53
|
+
UiUtils.runOnMainThread { navigator.onHostResume() }
|
|
54
|
+
}
|
|
53
55
|
}
|
|
54
56
|
})
|
|
55
57
|
}
|
|
@@ -82,7 +84,7 @@ class NavigationTurboModule(
|
|
|
82
84
|
handle {
|
|
83
85
|
Log.d("NavigationTurboModule", "setRoot handle ${Thread.currentThread()}")
|
|
84
86
|
val viewController = layoutFactory.create(layoutTree)
|
|
85
|
-
navigator()
|
|
87
|
+
navigator()?.setRoot(
|
|
86
88
|
viewController,
|
|
87
89
|
NativeCommandListener("setRoot", commandId, promise, eventEmitter, now)
|
|
88
90
|
)
|
|
@@ -93,12 +95,12 @@ class NavigationTurboModule(
|
|
|
93
95
|
handle {
|
|
94
96
|
val defaultOptions = parse(options)
|
|
95
97
|
layoutFactory.defaultOptions = defaultOptions
|
|
96
|
-
navigator()
|
|
98
|
+
navigator()?.defaultOptions = defaultOptions
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
override fun mergeOptions(componentId: String?, options: ReadableMap?) {
|
|
101
|
-
handle { navigator()
|
|
103
|
+
handle { navigator()?.mergeOptions(componentId, parse(options)) }
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
override fun push(
|
|
@@ -110,7 +112,7 @@ class NavigationTurboModule(
|
|
|
110
112
|
val layoutTree = LayoutNodeParser.parse(jsonParser.parse(layout))
|
|
111
113
|
handle {
|
|
112
114
|
val viewController = layoutFactory.create(layoutTree)
|
|
113
|
-
navigator()
|
|
115
|
+
navigator()?.push(
|
|
114
116
|
componentId,
|
|
115
117
|
viewController,
|
|
116
118
|
NativeCommandListener("push", commandId, promise, eventEmitter, now)
|
|
@@ -125,7 +127,7 @@ class NavigationTurboModule(
|
|
|
125
127
|
promise: Promise
|
|
126
128
|
) {
|
|
127
129
|
handle {
|
|
128
|
-
navigator()
|
|
130
|
+
navigator()?.pop(
|
|
129
131
|
componentId,
|
|
130
132
|
parse(options),
|
|
131
133
|
NativeCommandListener("pop", commandId, promise, eventEmitter, now)
|
|
@@ -140,7 +142,7 @@ class NavigationTurboModule(
|
|
|
140
142
|
promise: Promise
|
|
141
143
|
) {
|
|
142
144
|
handle {
|
|
143
|
-
navigator()
|
|
145
|
+
navigator()?.popTo(
|
|
144
146
|
componentId,
|
|
145
147
|
parse(options),
|
|
146
148
|
NativeCommandListener("popTo", commandId, promise, eventEmitter, now)
|
|
@@ -155,7 +157,7 @@ class NavigationTurboModule(
|
|
|
155
157
|
promise: Promise
|
|
156
158
|
) {
|
|
157
159
|
handle {
|
|
158
|
-
navigator()
|
|
160
|
+
navigator()?.popToRoot(
|
|
159
161
|
componentId,
|
|
160
162
|
parse(options),
|
|
161
163
|
NativeCommandListener("popToRoot", commandId, promise, eventEmitter, now)
|
|
@@ -175,7 +177,7 @@ class NavigationTurboModule(
|
|
|
175
177
|
val layoutTree = LayoutNodeParser.parse(jsonParser.parse(children.getMap(i)))
|
|
176
178
|
_children.add(layoutFactory.create(layoutTree))
|
|
177
179
|
}
|
|
178
|
-
navigator()
|
|
180
|
+
navigator()?.setStackRoot(
|
|
179
181
|
componentId,
|
|
180
182
|
_children,
|
|
181
183
|
NativeCommandListener("setStackRoot", commandId, promise, eventEmitter, now)
|
|
@@ -187,7 +189,7 @@ class NavigationTurboModule(
|
|
|
187
189
|
val layoutTree = LayoutNodeParser.parse(jsonParser.parse(layout))
|
|
188
190
|
handle {
|
|
189
191
|
val viewController = layoutFactory.create(layoutTree)
|
|
190
|
-
navigator()
|
|
192
|
+
navigator()?.showModal(
|
|
191
193
|
viewController,
|
|
192
194
|
NativeCommandListener("showModal", commandId, promise, eventEmitter, now)
|
|
193
195
|
)
|
|
@@ -201,8 +203,8 @@ class NavigationTurboModule(
|
|
|
201
203
|
promise: Promise
|
|
202
204
|
) {
|
|
203
205
|
handle {
|
|
204
|
-
navigator()
|
|
205
|
-
navigator()
|
|
206
|
+
navigator()?.mergeOptions(componentId, parse(options))
|
|
207
|
+
navigator()?.dismissModal(
|
|
206
208
|
componentId,
|
|
207
209
|
NativeCommandListener("dismissModal", commandId, promise, eventEmitter, now)
|
|
208
210
|
)
|
|
@@ -211,7 +213,7 @@ class NavigationTurboModule(
|
|
|
211
213
|
|
|
212
214
|
override fun dismissAllModals(commandId: String, options: ReadableMap?, promise: Promise) {
|
|
213
215
|
handle {
|
|
214
|
-
navigator()
|
|
216
|
+
navigator()?.dismissAllModals(
|
|
215
217
|
parse(options),
|
|
216
218
|
NativeCommandListener("dismissAllModals", commandId, promise, eventEmitter, now)
|
|
217
219
|
)
|
|
@@ -222,7 +224,7 @@ class NavigationTurboModule(
|
|
|
222
224
|
val layoutTree = LayoutNodeParser.parse(jsonParser.parse(layout))
|
|
223
225
|
handle {
|
|
224
226
|
val viewController = layoutFactory.create(layoutTree)
|
|
225
|
-
navigator()
|
|
227
|
+
navigator()?.showOverlay(
|
|
226
228
|
viewController,
|
|
227
229
|
NativeCommandListener("showOverlay", commandId, promise, eventEmitter, now)
|
|
228
230
|
)
|
|
@@ -231,7 +233,7 @@ class NavigationTurboModule(
|
|
|
231
233
|
|
|
232
234
|
override fun dismissOverlay(commandId: String, componentId: String, promise: Promise) {
|
|
233
235
|
handle {
|
|
234
|
-
navigator()
|
|
236
|
+
navigator()?.dismissOverlay(
|
|
235
237
|
componentId,
|
|
236
238
|
NativeCommandListener("dismissOverlay", commandId, promise, eventEmitter, now)
|
|
237
239
|
)
|
|
@@ -240,7 +242,7 @@ class NavigationTurboModule(
|
|
|
240
242
|
|
|
241
243
|
override fun dismissAllOverlays(commandId: String, promise: Promise) {
|
|
242
244
|
handle {
|
|
243
|
-
navigator()
|
|
245
|
+
navigator()?.dismissAllOverlays(
|
|
244
246
|
NativeCommandListener(
|
|
245
247
|
"dismissAllOverlays",
|
|
246
248
|
commandId,
|
|
@@ -263,25 +265,36 @@ class NavigationTurboModule(
|
|
|
263
265
|
null
|
|
264
266
|
) Options.EMPTY else Options.parse(
|
|
265
267
|
ctx,
|
|
266
|
-
TypefaceLoader(
|
|
268
|
+
TypefaceLoader(reactApplicationContext),
|
|
267
269
|
jsonParser.parse(mergeOptions)
|
|
268
270
|
)
|
|
269
271
|
}
|
|
270
272
|
|
|
271
|
-
private fun navigator(): Navigator {
|
|
272
|
-
|
|
273
|
+
private fun navigator(): Navigator? {
|
|
274
|
+
val navigator = activity()?.navigator
|
|
275
|
+
if (navigator == null) {
|
|
276
|
+
Log.e("NavigationTurboModule", "navigator is null!")
|
|
277
|
+
}
|
|
278
|
+
return navigator
|
|
273
279
|
}
|
|
274
280
|
|
|
275
281
|
private fun handle(task: Runnable) {
|
|
276
282
|
UiThread.post {
|
|
277
|
-
|
|
283
|
+
activity()?.let {
|
|
284
|
+
if (it.isFinishing) {
|
|
285
|
+
return@let
|
|
286
|
+
}
|
|
278
287
|
task.run()
|
|
279
288
|
}
|
|
280
289
|
}
|
|
281
290
|
}
|
|
282
291
|
|
|
283
|
-
private fun activity(): NavigationActivity {
|
|
284
|
-
|
|
292
|
+
private fun activity(): NavigationActivity? {
|
|
293
|
+
val activity = reactApplicationContext.currentActivity as NavigationActivity?
|
|
294
|
+
if (activity == null) {
|
|
295
|
+
Log.e("NavigationTurboModule", "current activity is null!")
|
|
296
|
+
}
|
|
297
|
+
return currentActivity as NavigationActivity?
|
|
285
298
|
}
|
|
286
299
|
|
|
287
300
|
companion object {
|