Back out "Don't retain State in StateWrapperImpl"

Summary:
Changelog: [internal]

Original commit changeset: 0703c6dccc62

Reviewed By: yungsters

Differential Revision: D26849056

fbshipit-source-id: 2c6fca3ef06ac4868979d0a93c04c0eabdd56eb0
This commit is contained in:
Samuel Susla
2021-03-05 10:42:37 -08:00
committed by Facebook GitHub Bot
parent 283512cc42
commit a206f4fc2e
3 changed files with 6 additions and 14 deletions
@@ -23,24 +23,17 @@ jni::local_ref<StateWrapperImpl::jhybriddata> StateWrapperImpl::initHybrid(
}
jni::local_ref<ReadableNativeMap::jhybridobject> StateWrapperImpl::getState() {
auto state = state_.lock();
if (!state) {
return nullptr;
}
folly::dynamic map = state->getDynamic();
folly::dynamic map = state_->getDynamic();
local_ref<ReadableNativeMap::jhybridobject> readableNativeMap =
ReadableNativeMap::newObjectCxxArgs(map);
return readableNativeMap;
}
void StateWrapperImpl::updateStateImpl(NativeMap *map) {
auto state = state_.lock();
if (state) {
// Get folly::dynamic from map
auto dynamicMap = map->consume();
// Set state
state->updateState(dynamicMap);
}
// Get folly::dynamic from map
auto dynamicMap = map->consume();
// Set state
state_->updateState(dynamicMap);
}
void StateWrapperImpl::registerNatives() {
@@ -32,7 +32,7 @@ class StateWrapperImpl : public jni::HybridClass<StateWrapperImpl> {
jni::alias_ref<jobject> self,
int callbackRefId);
State::Weak state_;
State::Shared state_;
private:
jni::alias_ref<StateWrapperImpl::jhybriddata> jhybridobject_;