Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ import com.facebook.react.uimanager.StateWrapper
@OptIn(UnstableReactNativeAPI::class)
internal class StateWrapperImpl private constructor() : HybridClassBase(), ReferenceStateWrapper {

private external fun initHybrid()

private external fun getStateDataImpl(): ReadableNativeMap?

private external fun getStateMapBufferDataImpl(): ReadableMapBuffer?
Expand Down Expand Up @@ -65,10 +63,6 @@ internal class StateWrapperImpl private constructor() : HybridClassBase(), Refer
return getStateDataReferenceImpl()
}

init {
initHybrid()
}

override fun updateState(map: WritableMap) {
updateState(map, StateWrapper.UpdateMode.Asynchronous)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -439,9 +439,8 @@ inline void writeCreateMountItem(
// lifetime of the Java object
jni::local_ref<StateWrapperImpl::JavaPart> javaStateWrapper = nullptr;
if (mountItem.newChildShadowView.state != nullptr) {
javaStateWrapper = StateWrapperImpl::newObjectJavaArgs();
StateWrapperImpl* cStateWrapper = cthis(javaStateWrapper);
cStateWrapper->setState(mountItem.newChildShadowView.state);
javaStateWrapper =
StateWrapperImpl::newObjectCxxArgs(mountItem.newChildShadowView.state);
}

// Do not hold a reference to javaEventEmitter from the C++ side.
Expand Down Expand Up @@ -502,9 +501,7 @@ inline void writeUpdateStateMountItem(
// lifetime of the Java object
jni::local_ref<StateWrapperImpl::JavaPart> javaStateWrapper = nullptr;
if (state != nullptr) {
javaStateWrapper = StateWrapperImpl::newObjectJavaArgs();
StateWrapperImpl* cStateWrapper = cthis(javaStateWrapper);
cStateWrapper->setState(state);
javaStateWrapper = StateWrapperImpl::newObjectCxxArgs(state);
}

buffer.writeObject(
Expand Down Expand Up @@ -1213,9 +1210,7 @@ void FabricMountingManager::preallocateRegisteredView(
bool preventPassingStateWrapperForText =
strcmp(shadowView.componentName, "Paragraph") == 0;
if (shadowView.state != nullptr && !preventPassingStateWrapperForText) {
javaStateWrapper = StateWrapperImpl::newObjectJavaArgs();
StateWrapperImpl* cStateWrapper = cthis(javaStateWrapper);
cStateWrapper->setState(shadowView.state);
javaStateWrapper = StateWrapperImpl::newObjectCxxArgs(shadowView.state);
}

jni::local_ref<jobject> props = getProps({}, shadowView);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,6 @@ using namespace facebook::jni;

namespace facebook::react {

/**
* Called from Java constructor through the JNI.
*/
void StateWrapperImpl::initHybrid(jni::alias_ref<jhybridobject> jobj) {
return setCxxInstance(jobj);
}

jni::local_ref<ReadableNativeMap::jhybridobject>
StateWrapperImpl::getStateDataImpl() {
if (state_) {
Expand Down Expand Up @@ -71,7 +64,6 @@ std::shared_ptr<const State> StateWrapperImpl::getState() const {

void StateWrapperImpl::registerNatives() {
registerHybrid({
makeNativeMethod("initHybrid", StateWrapperImpl::initHybrid),
makeNativeMethod("getStateDataImpl", StateWrapperImpl::getStateDataImpl),
makeNativeMethod("updateStateImpl", StateWrapperImpl::updateStateImpl),
makeNativeMethod(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,11 @@ class StateWrapperImpl : public jni::HybridClass<StateWrapperImpl, StateWrapper>
std::shared_ptr<const State> getState() const;

private:
std::shared_ptr<const State> state_;
friend HybridBase;

explicit StateWrapperImpl(std::shared_ptr<const State> state) : state_(std::move(state)) {}

static void initHybrid(jni::alias_ref<jhybridobject> jobj);
std::shared_ptr<const State> state_;
};

} // namespace facebook::react
Loading