Skip to content

Commit f71419b

Browse files
committed
fix android reload
1 parent eabacaa commit f71419b

File tree

2 files changed

+32
-31
lines changed

2 files changed

+32
-31
lines changed

android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java

+14-13
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
import android.app.Activity;
44
import android.content.Context;
55
import android.util.Log;
6+
7+
import com.facebook.react.ReactActivity;
68
import com.facebook.react.ReactApplication;
9+
import com.facebook.react.ReactDelegate;
710
import com.facebook.react.ReactInstanceManager;
811
import com.facebook.react.bridge.JSBundleLoader;
912
import com.facebook.react.bridge.Promise;
@@ -12,16 +15,10 @@
1215
import com.facebook.react.bridge.UiThreadUtil;
1316
import com.fasterxml.jackson.databind.ObjectMapper;
1417

15-
import org.json.JSONObject;
16-
1718
import java.io.File;
1819
import java.io.IOException;
1920
import java.lang.reflect.Field;
20-
import java.util.HashMap;
2121
import java.util.Map;
22-
import java.util.Optional;
23-
import java.util.regex.Matcher;
24-
import java.util.regex.Pattern;
2522

2623
public class UpdateModuleImpl {
2724

@@ -146,13 +143,17 @@ public void run() {
146143
if (currentActivity == null) {
147144
return;
148145
}
149-
150-
currentActivity.runOnUiThread(new Runnable() {
151-
@Override
152-
public void run() {
153-
currentActivity.recreate();
154-
}
155-
});
146+
try {
147+
final ReactDelegate reactDelegate = ((ReactActivity) currentActivity).getReactDelegate();
148+
reactDelegate.reload();
149+
} catch (Throwable e) {
150+
currentActivity.runOnUiThread(new Runnable() {
151+
@Override
152+
public void run() {
153+
currentActivity.recreate();
154+
}
155+
});
156+
}
156157
}
157158
}
158159
});

android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java

+18-18
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
import java.util.HashMap;
1010
import java.util.Map;
1111

12-
/**
13-
* Created by tdzl2003 on 3/31/16.
14-
*/
1512
public class UpdatePackage extends TurboReactPackage {
1613
@Nullable
1714
@Override
@@ -25,21 +22,24 @@ public NativeModule getModule(String name, ReactApplicationContext reactContext)
2522

2623
@Override
2724
public ReactModuleInfoProvider getReactModuleInfoProvider() {
28-
return () -> {
29-
final Map<String, ReactModuleInfo> moduleInfos = new HashMap<>();
30-
boolean isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
31-
moduleInfos.put(
32-
UpdateModuleImpl.NAME,
33-
new ReactModuleInfo(
34-
UpdateModuleImpl.NAME,
35-
UpdateModuleImpl.NAME,
36-
false, // canOverrideExistingModule
37-
false, // needsEagerInit
38-
true, // hasConstants
39-
false, // isCxxModule
40-
isTurboModule // isTurboModule
41-
));
42-
return moduleInfos;
25+
return new ReactModuleInfoProvider() {
26+
@Override
27+
public Map<String, ReactModuleInfo> getReactModuleInfos() {
28+
final Map<String, ReactModuleInfo> moduleInfos = new HashMap<>();
29+
boolean isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
30+
moduleInfos.put(
31+
UpdateModuleImpl.NAME,
32+
new ReactModuleInfo(
33+
UpdateModuleImpl.NAME,
34+
UpdateModuleImpl.NAME,
35+
false, // canOverrideExistingModule
36+
false, // needsEagerInit
37+
true, // hasConstants
38+
false, // isCxxModule
39+
isTurboModule // isTurboModule
40+
));
41+
return moduleInfos;
42+
}
4343
};
4444
}
4545
}

0 commit comments

Comments
 (0)