Skip to content

Commit 536b096

Browse files
committed
feat: migrate to StateWrapper
1 parent 7dfed31 commit 536b096

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

android/src/fabric/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,21 @@ import androidx.annotation.UiThread
55
import com.facebook.react.bridge.ReactContext
66
import com.facebook.react.bridge.WritableMap
77
import com.facebook.react.bridge.WritableNativeMap
8-
import com.facebook.react.uimanager.FabricViewStateManager
98
import com.facebook.react.uimanager.PixelUtil
9+
import com.facebook.react.uimanager.StateWrapper
1010
import kotlin.math.abs
1111

12-
abstract class FabricEnabledViewGroup constructor(
12+
abstract class FabricEnabledViewGroup(
1313
context: ReactContext?,
14-
) : ViewGroup(context),
15-
FabricViewStateManager.HasFabricViewStateManager {
16-
private val mFabricViewStateManager: FabricViewStateManager = FabricViewStateManager()
14+
) : ViewGroup(context) {
15+
private var mStateWrapper: StateWrapper? = null
1716

1817
private var lastSetWidth = 0f
1918
private var lastSetHeight = 0f
2019

21-
override fun getFabricViewStateManager(): FabricViewStateManager = mFabricViewStateManager
20+
fun setStateWrapper(wrapper: StateWrapper?) {
21+
mStateWrapper = wrapper
22+
}
2223

2324
protected fun updateScreenSizeFabric(
2425
width: Int,
@@ -48,14 +49,11 @@ abstract class FabricEnabledViewGroup constructor(
4849

4950
lastSetWidth = realWidth
5051
lastSetHeight = realHeight
51-
52-
mFabricViewStateManager.setState {
53-
val map: WritableMap = WritableNativeMap()
54-
map.putDouble("frameWidth", realWidth.toDouble())
55-
map.putDouble("frameHeight", realHeight.toDouble())
56-
map.putDouble("contentOffsetX", 0.0)
57-
map.putDouble("contentOffsetY", headerHeight)
58-
map
59-
}
52+
val map: WritableMap = WritableNativeMap()
53+
map.putDouble("frameWidth", realWidth.toDouble())
54+
map.putDouble("frameHeight", realHeight.toDouble())
55+
map.putDouble("contentOffsetX", 0.0)
56+
map.putDouble("contentOffsetY", headerHeight)
57+
mStateWrapper?.updateState(map)
6058
}
6159
}

android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ open class ScreenViewManager :
4949
): Any? {
5050
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
5151
// fabricViewStateManager should never be null in Fabric. The null check is only for Paper's empty impl.
52-
view.fabricViewStateManager?.setStateWrapper(stateWrapper)
52+
view.setStateWrapper(stateWrapper)
5353
}
5454
return super.updateState(view, props, stateWrapper)
5555
}

0 commit comments

Comments
 (0)