Skip to content

Commit d80a54a

Browse files
committed
fix: replace ReactNativeHost with ReactHost
1 parent 75a179b commit d80a54a

2 files changed

Lines changed: 13 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
## Changed
1111

1212
- Update example app to React Native 0.83
13+
- Replaced ReactNativeHost with ReactHost
1314

1415
## Fixed
1516

android/src/main/java/com/reactnativeandroidwidget/oss/HeadlessJsTaskWorker.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@
3333
import androidx.work.WorkerParameters;
3434

3535
import com.facebook.react.ReactApplication;
36+
import com.facebook.react.ReactHost;
3637
import com.facebook.react.ReactInstanceEventListener;
37-
import com.facebook.react.ReactInstanceManager;
38-
import com.facebook.react.ReactNativeHost;
3938
import com.facebook.react.bridge.ReactContext;
4039
import com.facebook.react.bridge.UiThreadUtil;
4140
import com.facebook.react.jstasks.HeadlessJsTaskConfig;
@@ -72,16 +71,17 @@ public ListenableFuture<Result> startWork() {
7271
protected abstract HeadlessJsTaskConfig getTaskConfig(Data data);
7372

7473
protected void startTask(final HeadlessJsTaskConfig taskConfig) {
75-
final ReactInstanceManager reactInstanceManager = this.getReactNativeHost().getReactInstanceManager();
76-
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
74+
ReactHost reactHost = this.getReactHost();
75+
ReactContext reactContext = reactHost.getCurrentReactContext();
76+
7777
if (reactContext == null) {
78-
reactInstanceManager.addReactInstanceEventListener(new ReactInstanceEventListener() {
78+
reactHost.addReactInstanceEventListener(new ReactInstanceEventListener() {
7979
public void onReactContextInitialized(ReactContext reactContext) {
8080
HeadlessJsTaskWorker.this.invokeStartTask(reactContext, taskConfig);
81-
reactInstanceManager.removeReactInstanceEventListener(this);
81+
reactHost.removeReactInstanceEventListener(this);
8282
}
8383
});
84-
reactInstanceManager.createReactContextInBackground();
84+
reactHost.start();
8585
} else {
8686
this.invokeStartTask(reactContext, taskConfig);
8787
}
@@ -94,9 +94,9 @@ private void invokeStartTask(ReactContext reactContext, final HeadlessJsTaskConf
9494
}
9595

9696
private void cleanUpTask() {
97-
if (this.getReactNativeHost().hasInstance()) {
98-
ReactInstanceManager reactInstanceManager = this.getReactNativeHost().getReactInstanceManager();
99-
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
97+
ReactHost reactNativeHost = this.getReactHost();
98+
if (reactNativeHost != null) {
99+
ReactContext reactContext = reactNativeHost.getCurrentReactContext();
100100
if (reactContext != null) {
101101
HeadlessJsTaskContext headlessJsTaskContext = HeadlessJsTaskContext.getInstance(reactContext);
102102
headlessJsTaskContext.removeTaskEventListener(this);
@@ -125,7 +125,7 @@ public void onHeadlessJsTaskFinish(int taskId) {
125125
}
126126
}
127127

128-
protected ReactNativeHost getReactNativeHost() {
129-
return ((ReactApplication) this.getApplicationContext()).getReactNativeHost();
128+
private ReactHost getReactHost() {
129+
return ((ReactApplication) this.getApplicationContext()).getReactHost();
130130
}
131131
}

0 commit comments

Comments
 (0)