From 04782ff57a2b18efe410802d1a5b25f6013fb607 Mon Sep 17 00:00:00 2001 From: Joshua Gross Date: Tue, 14 May 2019 14:17:19 -0700 Subject: [PATCH] Send ReactNative C++ State to Android `measure` API Summary: The `measure` API receives LocalData and Props, it should also receive State. This will also be used in future diffs. Reviewed By: mdvacca Differential Revision: D15325182 fbshipit-source-id: 6cb46dd603ce7d46673def16f0ddb517e2cf0c4f --- .../main/java/com/facebook/react/fabric/FabricUIManager.java | 2 ++ .../com/facebook/react/fabric/mounting/MountingManager.java | 3 ++- .../main/java/com/facebook/react/uimanager/ViewManager.java | 1 + .../com/facebook/react/views/slider/ReactSliderManager.java | 1 + .../com/facebook/react/views/text/ReactTextViewManager.java | 1 + .../slider/platform/android/SliderMeasurementsManager.cpp | 2 ++ .../textlayoutmanager/platform/android/TextLayoutManager.cpp | 2 ++ 7 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index 55419a95b08..2f36cef5ef7 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -280,6 +280,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { String componentName, ReadableMap localData, ReadableMap props, + ReadableMap state, float minWidth, float maxWidth, float minHeight, @@ -290,6 +291,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { componentName, localData, props, + state, getYogaSize(minWidth, maxWidth), getYogaMeasureMode(minWidth, maxWidth), getYogaSize(minHeight, maxHeight), diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java index ac6dc938d1c..475f26b2c86 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java @@ -336,6 +336,7 @@ public class MountingManager { String componentName, ReadableMap localData, ReadableMap props, + ReadableMap state, float width, YogaMeasureMode widthMode, float height, @@ -343,7 +344,7 @@ public class MountingManager { return mViewManagerRegistry .get(componentName) - .measure(context, localData, props, width, widthMode, height, heightMode); + .measure(context, localData, props, state, width, widthMode, height, heightMode); } @AnyThread diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java index 74dd612e53c..7100f699c40 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java @@ -245,6 +245,7 @@ public abstract class ViewManager Context context, ReadableMap localData, ReadableMap props, + ReadableMap state, float width, YogaMeasureMode widthMode, float height, diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java index 69ba44072f1..fc2dfecf971 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java @@ -200,6 +200,7 @@ public class ReactSliderManager extends SimpleViewManager { Context context, ReadableMap localData, ReadableMap props, + ReadableMap state, float width, YogaMeasureMode widthMode, float height, diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java index 55176ba026b..f744c392a83 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java @@ -116,6 +116,7 @@ public class ReactTextViewManager Context context, ReadableMap localData, ReadableMap props, + ReadableMap state, float width, YogaMeasureMode widthMode, float height, diff --git a/ReactCommon/fabric/components/slider/platform/android/SliderMeasurementsManager.cpp b/ReactCommon/fabric/components/slider/platform/android/SliderMeasurementsManager.cpp index a087b29f1ad..ca6e6808f2c 100644 --- a/ReactCommon/fabric/components/slider/platform/android/SliderMeasurementsManager.cpp +++ b/ReactCommon/fabric/components/slider/platform/android/SliderMeasurementsManager.cpp @@ -35,6 +35,7 @@ Size SliderMeasurementsManager::measure( jstring, ReadableMap::javaobject, ReadableMap::javaobject, + ReadableMap::javaobject, jfloat, jfloat, jfloat, @@ -50,6 +51,7 @@ Size SliderMeasurementsManager::measure( componentName.get(), nullptr, nullptr, + nullptr, minimumSize.width, maximumSize.width, minimumSize.height, diff --git a/ReactCommon/fabric/textlayoutmanager/platform/android/TextLayoutManager.cpp b/ReactCommon/fabric/textlayoutmanager/platform/android/TextLayoutManager.cpp index f7a28f58aea..b6e04fe311e 100644 --- a/ReactCommon/fabric/textlayoutmanager/platform/android/TextLayoutManager.cpp +++ b/ReactCommon/fabric/textlayoutmanager/platform/android/TextLayoutManager.cpp @@ -36,6 +36,7 @@ Size TextLayoutManager::measure( jstring, ReadableMap::javaobject, ReadableMap::javaobject, + ReadableMap::javaobject, jfloat, jfloat, jfloat, @@ -59,6 +60,7 @@ Size TextLayoutManager::measure( componentName.get(), attributedStringRM.get(), paragraphAttributesRM.get(), + nullptr, minimumSize.width, maximumSize.width, minimumSize.height,