|
@@ -11,26 +11,20 @@ import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEm
|
11
|
11
|
import com.reactnativenavigation.NavigationApplication;
|
12
|
12
|
import com.reactnativenavigation.controllers.NavigationActivity;
|
13
|
13
|
|
14
|
|
-import java.util.List;
|
15
|
|
-
|
16
|
14
|
public class NavigationReactInstance {
|
17
|
15
|
|
18
|
16
|
private final ReactInstanceManager reactInstanceManager;
|
19
|
17
|
private OnJsDevReloadListener onJsDevReloadListener;
|
20
|
18
|
|
21
|
|
- public interface ReactContextCreator {
|
22
|
|
- List<ReactPackage> createReactPackages();
|
23
|
|
- }
|
24
|
|
-
|
25
|
19
|
public interface OnJsDevReloadListener {
|
26
|
20
|
void onJsDevReload();
|
27
|
21
|
}
|
28
|
22
|
|
29
|
|
- public NavigationReactInstance(final ReactContextCreator reactContextCreator) {
|
30
|
|
- reactInstanceManager = createReactInstanceManager(reactContextCreator);
|
|
23
|
+ public NavigationReactInstance() {
|
|
24
|
+ reactInstanceManager = createReactInstanceManager();
|
31
|
25
|
|
32
|
26
|
if (NavigationApplication.instance.isDebug()) {
|
33
|
|
- replaceJsDevReloadListener(reactContextCreator);
|
|
27
|
+ replaceJsDevReloadListener();
|
34
|
28
|
}
|
35
|
29
|
}
|
36
|
30
|
|
|
@@ -75,7 +69,7 @@ public class NavigationReactInstance {
|
75
|
69
|
reactInstanceManager.onHostDestroy();
|
76
|
70
|
}
|
77
|
71
|
|
78
|
|
- private void replaceJsDevReloadListener(final ReactContextCreator reactContextCreator) {
|
|
72
|
+ private void replaceJsDevReloadListener() {
|
79
|
73
|
new JsDevReloadListenerReplacer(reactInstanceManager, new JsDevReloadListenerReplacer.Listener() {
|
80
|
74
|
@Override
|
81
|
75
|
public void onJsDevReload() {
|
|
@@ -85,7 +79,7 @@ public class NavigationReactInstance {
|
85
|
79
|
}).replace();
|
86
|
80
|
}
|
87
|
81
|
|
88
|
|
- private ReactInstanceManager createReactInstanceManager(final ReactContextCreator reactContextCreator) {
|
|
82
|
+ private ReactInstanceManager createReactInstanceManager() {
|
89
|
83
|
ReactInstanceManager.Builder builder = ReactInstanceManager.builder()
|
90
|
84
|
.setApplication(NavigationApplication.instance)
|
91
|
85
|
.setJSMainModuleName(NavigationApplication.instance.getJsEntryFileName())
|
|
@@ -93,7 +87,7 @@ public class NavigationReactInstance {
|
93
|
87
|
.setUseDeveloperSupport(NavigationApplication.instance.isDebug())
|
94
|
88
|
.setInitialLifecycleState(LifecycleState.BEFORE_RESUME);
|
95
|
89
|
|
96
|
|
- for (ReactPackage reactPackage : reactContextCreator.createReactPackages()) {
|
|
90
|
+ for (ReactPackage reactPackage : NavigationApplication.instance.createReactPackages()) {
|
97
|
91
|
builder.addPackage(reactPackage);
|
98
|
92
|
}
|
99
|
93
|
|