Hey all,
Nicola from the React Native team here.
Just touching base because I noticed that CustomFabricUIManager is accessing Fabric Internals via reflection:
|
Field mountingManagerField = uiManagerClass.getDeclaredField("mMountingManager"); |
|
mountingManagerField.setAccessible(true); |
|
|
|
ReactApplicationContext reactContext = readPrivateField(source, "mReactApplicationContext"); |
|
ViewManagerRegistry viewManagerRegistry = readPrivateField(source, "mViewManagerRegistry"); |
|
BatchEventDispatchedListener batchEventDispatchedListener = readPrivateField(source, "mBatchEventDispatchedListener"); |
|
MountingManager.MountItemExecutor mountItemExecutor = readPrivateField(source, "mMountItemExecutor"); |
|
|
|
FabricUIManager customFabricUIManager = new FabricUIManager(reactContext, viewManagerRegistry, batchEventDispatchedListener); |
|
|
|
mountingManagerField.set(customFabricUIManager, new CustomMountingManager(viewManagerRegistry, mountItemExecutor, reactContext, markdownProps, parserId)); |
|
|
|
return customFabricUIManager; |
This is obviously not ideal an extremely brittle. I suspect this will break in 0.81 so I'm reaching out with ample time to make sure we find a workaround for this usage
Hey all,
Nicola from the React Native team here.
Just touching base because I noticed that
CustomFabricUIManageris accessing Fabric Internals via reflection:react-native-live-markdown/android/src/main/java/com/expensify/livemarkdown/CustomFabricUIManager.java
Lines 18 to 30 in 902f091
This is obviously not ideal an extremely brittle. I suspect this will break in 0.81 so I'm reaching out with ample time to make sure we find a workaround for this usage