From 6a031f598fd871d6baa96148352dbde48163c97d Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Fri, 13 Mar 2020 13:13:37 +0800 Subject: [PATCH 1/4] Allow custom instance manager --- .../cn/reactnative/modules/update/UpdateContext.java | 12 +++++++++++- .../cn/reactnative/modules/update/UpdateModule.java | 6 +++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java b/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java index 1902701..56459d0 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java @@ -20,7 +20,8 @@ public class UpdateContext { private File rootDir; private Executor executor; - public static boolean DEBUG = false; + public static boolean DEBUG = true; + private static ReactInstanceManager mReactInstanceManager; public UpdateContext(Context context) { this.context = context; @@ -160,6 +161,15 @@ public class UpdateContext { this.clearUp(); } + + public static void setCustomInstanceManager(ReactInstanceManager instanceManager) { + mReactInstanceManager = instanceManager; + } + + public ReactInstanceManager getCustomReactInstanceManager() { + return mReactInstanceManager; + } + public static String getBundleUrl(Context context) { return new UpdateContext(context.getApplicationContext()).getBundleUrl(); } diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java b/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java index 92ccc53..5038479 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java @@ -127,7 +127,11 @@ public class UpdateModule extends ReactContextBaseJavaModule{ updateContext.switchVersion(hash); Activity activity = getCurrentActivity(); Application application = activity.getApplication(); - ReactInstanceManager instanceManager = ((ReactApplication) application).getReactNativeHost().getReactInstanceManager(); + ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager(); + + if (instanceManager == null) { + instanceManager = ((ReactApplication) application).getReactNativeHost().getReactInstanceManager(); + } try { Field jsBundleField = instanceManager.getClass().getDeclaredField("mJSBundleFile"); From 5053a89cfab14ed2474b6d15ce6f296af382f5c3 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Thu, 2 Apr 2020 00:48:19 +0800 Subject: [PATCH 2/4] backup domain --- lib/getHost.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/getHost.js b/lib/getHost.js index b5e97b1..b0a46aa 100644 --- a/lib/getHost.js +++ b/lib/getHost.js @@ -1,4 +1,4 @@ -let availableDomain = 'update.reactnative.cn'; +let availableDomain = 'update.react-native.cn'; function ping(domain, rejectImmediate) { return new Promise((resolve, reject) => { From 437eb4f10f673267b297590e871037274ef99353 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Thu, 2 Apr 2020 00:48:46 +0800 Subject: [PATCH 3/4] v5.5.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 616ceca..2e21a5e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-update", - "version": "5.5.6", + "version": "5.5.7", "description": "react-native hot update", "main": "lib/index.js", "scripts": { From 7c8f2d493f9c2eb9ef666521a9110be41f1e22a0 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Thu, 2 Apr 2020 12:06:32 +0800 Subject: [PATCH 4/4] import instancemanager --- .../main/java/cn/reactnative/modules/update/UpdateContext.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java b/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java index 56459d0..25cb6d6 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java @@ -5,6 +5,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log; +import com.facebook.react.ReactInstanceManager; import java.util.concurrent.Executor; import java.util.concurrent.Executors;