-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Expand file tree
/
Copy pathReactGateway.java
More file actions
71 lines (56 loc) · 2.27 KB
/
ReactGateway.java
File metadata and controls
71 lines (56 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.reactnativenavigation.react;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import com.facebook.react.ReactHost;
import com.facebook.react.ReactNativeHost;
import com.reactnativenavigation.NavigationActivity;
import androidx.annotation.NonNull;
public class ReactGateway {
private final ReactHost host;
private final NavigationReactInitializer initializer;
private final JsDevReloadHandler jsDevReloadHandler;
public ReactGateway(ReactHost host) {
this.host = host;
initializer = new NavigationReactInitializer(host);
jsDevReloadHandler = new JsDevReloadHandler(host.getDevSupportManager());
if (host instanceof BundleDownloadListenerProvider) {
((BundleDownloadListenerProvider) host).setBundleLoaderListener(jsDevReloadHandler);
}
}
public void onActivityCreated(NavigationActivity activity) {
initializer.onActivityCreated();
jsDevReloadHandler.setReloadListener(activity);
}
public void onActivityResumed(NavigationActivity activity) {
initializer.onActivityResumed(activity);
jsDevReloadHandler.onActivityResumed(activity);
}
public boolean onNewIntent(Intent intent) {
if (host.getCurrentReactContext() != null) {
host.onNewIntent(intent);
return true;
}
return false;
}
public void onConfigurationChanged(NavigationActivity activity, @NonNull Configuration newConfig) {
host.onConfigurationChanged(activity);
}
public void onActivityPaused(NavigationActivity activity) {
initializer.onActivityPaused(activity);
jsDevReloadHandler.onActivityPaused(activity);
}
public void onActivityDestroyed(NavigationActivity activity) {
jsDevReloadHandler.removeReloadListener(activity);
initializer.onActivityDestroyed(activity);
}
public boolean onKeyUp(Activity activity, int keyCode) {
return jsDevReloadHandler.onKeyUp(activity, keyCode);
}
public void onBackPressed() {
host.onBackPressed();
}
public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
host.onActivityResult(activity, requestCode, resultCode, data);
}
}