|
@@ -16,7 +16,7 @@ import com.reactnativenavigation.bridge.NavigationReactPackage;
|
16
|
16
|
import java.util.ArrayList;
|
17
|
17
|
import java.util.List;
|
18
|
18
|
|
19
|
|
-public class NavigationReactGateway implements ReactGateway {
|
|
19
|
+public class NavigationReactGateway implements ReactGateway, ReactInstanceManager.ReactInstanceEventListener {
|
20
|
20
|
|
21
|
21
|
private OnJsDevReloadListener onJsDevReloadListener;
|
22
|
22
|
private ReactInstanceManager reactInstanceManager;
|
|
@@ -26,10 +26,12 @@ public class NavigationReactGateway implements ReactGateway {
|
26
|
26
|
reactInstanceManager = createReactInstanceManager();
|
27
|
27
|
}
|
28
|
28
|
|
|
29
|
+ @Override
|
29
|
30
|
public void startReactContextOnceInBackgroundAndExecuteJS() {
|
30
|
31
|
if (reactInstanceManager == null) {
|
31
|
32
|
reactInstanceManager = createReactInstanceManager();
|
32
|
33
|
}
|
|
34
|
+
|
33
|
35
|
if (!reactInstanceManager.hasStartedCreatingInitialContext()) {
|
34
|
36
|
reactInstanceManager.createReactContextInBackground();
|
35
|
37
|
}
|
|
@@ -58,6 +60,7 @@ public class NavigationReactGateway implements ReactGateway {
|
58
|
60
|
public void onDestroyApp() {
|
59
|
61
|
reactInstanceManager.onHostDestroy();
|
60
|
62
|
reactInstanceManager.destroy();
|
|
63
|
+ reactInstanceManager.removeReactInstanceEventListener(this);
|
61
|
64
|
reactInstanceManager = null;
|
62
|
65
|
}
|
63
|
66
|
|
|
@@ -105,6 +108,8 @@ public class NavigationReactGateway implements ReactGateway {
|
105
|
108
|
replaceJsDevReloadListener(manager);
|
106
|
109
|
}
|
107
|
110
|
|
|
111
|
+ manager.addReactInstanceEventListener(this);
|
|
112
|
+
|
108
|
113
|
return manager;
|
109
|
114
|
}
|
110
|
115
|
|
|
@@ -131,4 +136,9 @@ public class NavigationReactGateway implements ReactGateway {
|
131
|
136
|
|
132
|
137
|
list.addAll(additionalReactPackages);
|
133
|
138
|
}
|
|
139
|
+
|
|
140
|
+ @Override
|
|
141
|
+ public void onReactContextInitialized(ReactContext context) {
|
|
142
|
+ NavigationApplication.instance.onReactInitialized(context);
|
|
143
|
+ }
|
134
|
144
|
}
|