mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Implement HostTargetDelegate.networkRequest (Android Bridgeless) (#45666)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/45666 Following https://github.com/facebook/react-native/pull/45664, implements the `networkRequest` method of `jsinspector_modern::HostTargetDelegate` for Android (Bridgeless). Changelog: [Internal] Differential Revision: D60232817 fbshipit-source-id: 109574392da21b2a698e061aa1847e17d17e662b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
0c8ce2728e
commit
7cd1787e02
+7
@@ -50,6 +50,8 @@ import com.facebook.react.common.build.ReactBuildConfig;
|
||||
import com.facebook.react.devsupport.DevSupportManagerBase;
|
||||
import com.facebook.react.devsupport.InspectorFlags;
|
||||
import com.facebook.react.devsupport.ReleaseDevSupportManager;
|
||||
import com.facebook.react.devsupport.inspector.InspectorNetworkHelper;
|
||||
import com.facebook.react.devsupport.inspector.InspectorNetworkRequestListener;
|
||||
import com.facebook.react.devsupport.interfaces.BundleLoadCallback;
|
||||
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
||||
import com.facebook.react.devsupport.interfaces.DevSupportManager.PausedInDebuggerOverlayCommandListener;
|
||||
@@ -508,6 +510,11 @@ public class ReactHostImpl implements ReactHost {
|
||||
return AndroidInfoHelpers.getInspectorHostMetadata(mContext);
|
||||
}
|
||||
|
||||
@DoNotStrip
|
||||
private void loadNetworkResource(String url, InspectorNetworkRequestListener listener) {
|
||||
InspectorNetworkHelper.loadNetworkResource(url, listener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Entrypoint to destroy the ReactInstance. If the ReactInstance is reloading, will wait until
|
||||
* reload is finished, before destroying.
|
||||
|
||||
+14
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "JReactHostInspectorTarget.h"
|
||||
|
||||
#include <fbjni/NativeRunnable.h>
|
||||
#include <jsinspector-modern/InspectorFlags.h>
|
||||
#include <react/jni/JWeakRefUtils.h>
|
||||
@@ -126,6 +127,19 @@ void JReactHostInspectorTarget::onSetPausedInDebuggerMessage(
|
||||
}
|
||||
}
|
||||
|
||||
void JReactHostInspectorTarget::loadNetworkResource(
|
||||
const jsinspector_modern::LoadNetworkResourceRequest& params,
|
||||
jsinspector_modern::ScopedExecutor<
|
||||
jsinspector_modern::NetworkRequestListener> executor) {
|
||||
// Construct InspectorNetworkRequestListener (hybrid class) from the C++ side
|
||||
// (holding the ScopedExecutor), pass to the delegate.
|
||||
auto listener = InspectorNetworkRequestListener::newObjectCxxArgs(executor);
|
||||
|
||||
if (auto javaReactHostImplStrong = javaReactHostImpl_->get()) {
|
||||
javaReactHostImplStrong->loadNetworkResource(params.url, listener);
|
||||
}
|
||||
}
|
||||
|
||||
HostTarget* JReactHostInspectorTarget::getInspectorTarget() {
|
||||
return inspectorTarget_ ? inspectorTarget_.get() : nullptr;
|
||||
}
|
||||
|
||||
+18
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <fbjni/fbjni.h>
|
||||
#include <jsinspector-modern/HostTarget.h>
|
||||
#include <react/jni/InspectorNetworkRequestListener.h>
|
||||
#include <react/jni/JExecutor.h>
|
||||
#include <string>
|
||||
|
||||
@@ -44,6 +45,19 @@ struct JReactHostImpl : public jni::JavaClass<JReactHostImpl> {
|
||||
"getHostMetadata");
|
||||
return method(self());
|
||||
}
|
||||
|
||||
void loadNetworkResource(
|
||||
const std::string& url,
|
||||
jni::local_ref<InspectorNetworkRequestListener::javaobject> listener)
|
||||
const {
|
||||
auto method =
|
||||
javaClassStatic()
|
||||
->getMethod<void(
|
||||
jni::local_ref<jni::JString>,
|
||||
jni::local_ref<InspectorNetworkRequestListener::javaobject>)>(
|
||||
"loadNetworkResource");
|
||||
return method(self(), jni::make_jstring(url), listener);
|
||||
}
|
||||
};
|
||||
|
||||
class JReactHostInspectorTarget
|
||||
@@ -70,6 +84,10 @@ class JReactHostInspectorTarget
|
||||
void onReload(const PageReloadRequest& request) override;
|
||||
void onSetPausedInDebuggerMessage(
|
||||
const OverlaySetPausedInDebuggerMessageRequest&) override;
|
||||
void loadNetworkResource(
|
||||
const jsinspector_modern::LoadNetworkResourceRequest& params,
|
||||
jsinspector_modern::ScopedExecutor<
|
||||
jsinspector_modern::NetworkRequestListener> executor) override;
|
||||
|
||||
private:
|
||||
JReactHostInspectorTarget(
|
||||
|
||||
Reference in New Issue
Block a user