Skip to content

Commit 5f0bf8b

Browse files
RSNarafacebook-github-bot
authored andcommitted
Refactor: Remove AsyncDevSupportManager.loadJSBundleFromServer
Summary: ## Rationale - AsyncDevSupportManager.loadSplitBundleFromServer() is an override of DevSupportManager.loadSplitBundleFromServer(), which is used by the bridge. However, AsyncDevSupportManager.loadJSBundleFromServer() has no bridge analogue. This is confusing: Are the methods in AsyncDevSupportManager Venice overrides for bridge related methods? It's easy to think yes, but the answer is no. - AsyncDevSupportManager.loadJSBundleFromServer() is an additional layer of indirection that provides very little value: all it does it create the JSBundleLoader, and call onReactContextCreated. However, it does so in 11 lines of very confusing code. A discussion we don't have to have now: Inheritance hierarchies are very difficult to understand and de-tangle. So, instead of using inheritance to make DevSupportManager work with Venice (via AsyncDevSupportManager), should we just refactor DevSupportManager so that it can be customized to work with Venice? Changelog: [Internal] Reviewed By: JoshuaGross, mdvacca Differential Revision: D27577591 fbshipit-source-id: b64dcd65e9a7c85b89443d860d441a0635547916
1 parent f525ec0 commit 5f0bf8b

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed

ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import com.facebook.react.common.ShakeDetector;
4444
import com.facebook.react.common.futures.SimpleSettableFuture;
4545
import com.facebook.react.devsupport.DevServerHelper.PackagerCommandListener;
46+
import com.facebook.react.devsupport.interfaces.BundleLoadCallback;
4647
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
4748
import com.facebook.react.devsupport.interfaces.DevOptionHandler;
4849
import com.facebook.react.devsupport.interfaces.DevSplitBundleCallback;
@@ -1151,11 +1152,7 @@ public void run() {
11511152
});
11521153
}
11531154

1154-
protected interface BundleLoadCallback {
1155-
void onSuccess();
1156-
}
1157-
1158-
protected void reloadJSFromServer(final String bundleURL, final BundleLoadCallback callback) {
1155+
public void reloadJSFromServer(final String bundleURL, final BundleLoadCallback callback) {
11591156
ReactMarker.logMarker(ReactMarkerConstants.DOWNLOAD_START);
11601157

11611158
mDevLoadingViewController.showForUrl(bundleURL);

ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.facebook.react.bridge.DefaultNativeModuleCallExceptionHandler;
1313
import com.facebook.react.bridge.ReactContext;
1414
import com.facebook.react.bridge.ReadableArray;
15+
import com.facebook.react.devsupport.interfaces.BundleLoadCallback;
1516
import com.facebook.react.devsupport.interfaces.DevOptionHandler;
1617
import com.facebook.react.devsupport.interfaces.DevSplitBundleCallback;
1718
import com.facebook.react.devsupport.interfaces.DevSupportManager;
@@ -131,6 +132,9 @@ public void handleReloadJS() {}
131132
@Override
132133
public void reloadJSFromServer(String bundleURL) {}
133134

135+
@Override
136+
public void reloadJSFromServer(final String bundleURL, final BundleLoadCallback callback) {}
137+
134138
@Override
135139
public void loadSplitBundleFromServer(String bundlePath, DevSplitBundleCallback callback) {}
136140

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* Copyright (c) Facebook, Inc. and its affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
package com.facebook.react.devsupport.interfaces;
9+
10+
public interface BundleLoadCallback {
11+
void onSuccess();
12+
}

ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public interface DevSupportManager extends NativeModuleCallExceptionHandler {
6969

7070
void reloadJSFromServer(final String bundleURL);
7171

72+
void reloadJSFromServer(final String bundleURL, final BundleLoadCallback callback);
73+
7274
void loadSplitBundleFromServer(String bundlePath, DevSplitBundleCallback callback);
7375

7476
void isPackagerRunning(PackagerStatusCallback callback);

0 commit comments

Comments
 (0)