mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Implement JNI code to invoke Android JSResponder methods from C++
Summary: This diff implements the JNI code required for Android to receive JSResponderHandler calls Reviewed By: JoshuaGross, makovkastar Differential Revision: D16543431 fbshipit-source-id: 38cff16a05633fccefa201b189d761d503a9b839
This commit is contained in:
committed by
Facebook Github Bot
parent
0e067fd23b
commit
e2f82b122e
@@ -728,9 +728,36 @@ void Binding::schedulerDidSetJSResponder(
|
||||
SurfaceId surfaceId,
|
||||
const ShadowView &shadowView,
|
||||
const ShadowView &initialShadowView,
|
||||
bool blockNativeResponder) { }
|
||||
bool blockNativeResponder) {
|
||||
|
||||
void Binding::schedulerDidClearJSResponder() { }
|
||||
jni::global_ref<jobject> localJavaUIManager = getJavaUIManager();
|
||||
if (!localJavaUIManager) {
|
||||
LOG(ERROR) << "Binding::schedulerSetJSResponder: JavaUIManager disappeared";
|
||||
return;
|
||||
}
|
||||
|
||||
static auto setJSResponder =
|
||||
jni::findClassStatic(UIManagerJavaDescriptor)
|
||||
->getMethod<void(
|
||||
jint, jint, jboolean)>(
|
||||
"setJSResponder");
|
||||
|
||||
setJSResponder(localJavaUIManager, shadowView.tag, initialShadowView.tag, (jboolean) blockNativeResponder);
|
||||
}
|
||||
|
||||
void Binding::schedulerDidClearJSResponder() {
|
||||
jni::global_ref<jobject> localJavaUIManager = getJavaUIManager();
|
||||
if (!localJavaUIManager) {
|
||||
LOG(ERROR) << "Binding::schedulerClearJSResponder: JavaUIManager disappeared";
|
||||
return;
|
||||
}
|
||||
|
||||
static auto clearJSResponder =
|
||||
jni::findClassStatic(UIManagerJavaDescriptor)
|
||||
->getMethod<void()>("clearJSResponder");
|
||||
|
||||
clearJSResponder(localJavaUIManager);
|
||||
}
|
||||
|
||||
void Binding::registerNatives() {
|
||||
registerHybrid(
|
||||
|
||||
Reference in New Issue
Block a user