From 30340890dc339d67e0f72c7fd15c9f575329ba7e Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Thu, 10 Jun 2021 16:45:35 -0700 Subject: [PATCH] Move loadSplitBundleFromServer from DevSupportManagerBase to BridgeDevSupportManager Summary: ## Rationale DevSupportManagerBase.loadSplitBundleFromServer() uses the bridge. So, it's best to move it to DevSupportManagerBase. Changelog: [Internal] Reviewed By: JoshuaGross Differential Revision: D29004064 fbshipit-source-id: 9acfb769d57a44ee4871e1997ff0950c3d66b757 --- .../devsupport/BridgeDevSupportManager.java | 24 +++++++++++++++++ .../devsupport/DevSupportManagerBase.java | 27 +++++-------------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java index 94e152ac22f8af..abe00a900a5601 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java @@ -10,7 +10,9 @@ import android.content.Context; import androidx.annotation.Nullable; import com.facebook.react.bridge.CatalystInstance; +import com.facebook.react.bridge.JSBundleLoader; import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener; +import com.facebook.react.devsupport.interfaces.DevSplitBundleCallback; import com.facebook.react.packagerconnection.RequestHandler; import java.util.Map; @@ -79,4 +81,26 @@ public BridgeDevSupportManager( minNumShakes, customPackagerCommandHandlers); } + + @Override + public void loadSplitBundleFromServer( + final String bundlePath, final DevSplitBundleCallback callback) { + fetchSplitBundleAndCreateBundleLoader( + bundlePath, + new CallbackWithBundleLoader() { + @Override + public void onSuccess(JSBundleLoader bundleLoader) { + bundleLoader.loadScript(getCurrentContext().getCatalystInstance()); + getCurrentContext() + .getJSModule(HMRClient.class) + .registerBundle(getDevServerHelper().getDevServerSplitBundleURL(bundlePath)); + callback.onSuccess(); + } + + @Override + public void onError(String url, Throwable cause) { + callback.onError(url, cause); + } + }); + } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java index 785b78f8050984..99fa2eedb62205 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java @@ -46,7 +46,6 @@ import com.facebook.react.devsupport.interfaces.BundleLoadCallback; import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener; import com.facebook.react.devsupport.interfaces.DevOptionHandler; -import com.facebook.react.devsupport.interfaces.DevSplitBundleCallback; import com.facebook.react.devsupport.interfaces.DevSupportManager; import com.facebook.react.devsupport.interfaces.ErrorCustomizer; import com.facebook.react.devsupport.interfaces.ErrorType; @@ -98,7 +97,7 @@ public interface CallbackWithBundleLoader { private final Context mApplicationContext; private final ShakeDetector mShakeDetector; private final BroadcastReceiver mReloadAppBroadcastReceiver; - protected final DevServerHelper mDevServerHelper; + private final DevServerHelper mDevServerHelper; private final LinkedHashMap mCustomDevOptions = new LinkedHashMap<>(); private final ReactInstanceDevHelper mReactInstanceDevHelper; private final @Nullable String mJSAppBundleName; @@ -869,26 +868,12 @@ public void handleReloadJS() { } } - @Override - public void loadSplitBundleFromServer( - final String bundlePath, final DevSplitBundleCallback callback) { - fetchSplitBundleAndCreateBundleLoader( - bundlePath, - new CallbackWithBundleLoader() { - @Override - public void onSuccess(JSBundleLoader bundleLoader) { - bundleLoader.loadScript(mCurrentContext.getCatalystInstance()); - mCurrentContext - .getJSModule(HMRClient.class) - .registerBundle(mDevServerHelper.getDevServerSplitBundleURL(bundlePath)); - callback.onSuccess(); - } + protected @Nullable ReactContext getCurrentContext() { + return mCurrentContext; + } - @Override - public void onError(String url, Throwable cause) { - callback.onError(url, cause); - } - }); + protected DevServerHelper getDevServerHelper() { + return mDevServerHelper; } public void fetchSplitBundleAndCreateBundleLoader(