From 3fce27c48c67b6d860bd8eba32cf5796611973f6 Mon Sep 17 00:00:00 2001 From: Sidharth Guglani Date: Tue, 8 Oct 2019 14:23:57 -0700 Subject: [PATCH] Migrate YGNodeStyleGetFlex method to vanilla jni (YogaStyleProperties Part 2) Summary: Move Yoga style properties to vanilla JNI under a flag. Reviewed By: amir-shalem Differential Revision: D17666090 fbshipit-source-id: 121b939c310799c79f2fce0ea293f88b2940c4fc --- java/com/facebook/yoga/YogaNative.java | 3 ++- java/com/facebook/yoga/YogaNodeJNIBase.java | 2 +- java/jni/YGJNIVanilla.cpp | 13 +++---------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/java/com/facebook/yoga/YogaNative.java b/java/com/facebook/yoga/YogaNative.java index ae1b9721..bc79d20f 100644 --- a/java/com/facebook/yoga/YogaNative.java +++ b/java/com/facebook/yoga/YogaNative.java @@ -134,7 +134,8 @@ public class YogaNative { static native void jni_YGNodeStyleSetOverflowJNI(long nativePointer, int overflow); static native int jni_YGNodeStyleGetDisplayJNI(long nativePointer); static native void jni_YGNodeStyleSetDisplayJNI(long nativePointer, int display); - public static native void jni_YGNodeStyleSetFlexJNI(long nativePointer, float flex); + static native float jni_YGNodeStyleGetFlexJNI(long nativePointer); + static native void jni_YGNodeStyleSetFlexJNI(long nativePointer, float flex); static native float jni_YGNodeStyleGetFlexGrowJNI(long nativePointer); static native void jni_YGNodeStyleSetFlexGrowJNI(long nativePointer, float flexGrow); static native float jni_YGNodeStyleGetFlexShrinkJNI(long nativePointer); diff --git a/java/com/facebook/yoga/YogaNodeJNIBase.java b/java/com/facebook/yoga/YogaNodeJNIBase.java index d4a1aeb7..5fbb8728 100644 --- a/java/com/facebook/yoga/YogaNodeJNIBase.java +++ b/java/com/facebook/yoga/YogaNodeJNIBase.java @@ -313,7 +313,7 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable { } public float getFlex() { - return YogaNative.jni_YGNodeStyleGetFlex(mNativePointer); + return useVanillaJNI ? YogaNative.jni_YGNodeStyleGetFlexJNI(mNativePointer) : YogaNative.jni_YGNodeStyleGetFlex(mNativePointer); } public void setFlex(float flex) { diff --git a/java/jni/YGJNIVanilla.cpp b/java/jni/YGJNIVanilla.cpp index 7dcce2f8..c3f60160 100644 --- a/java/jni/YGJNIVanilla.cpp +++ b/java/jni/YGJNIVanilla.cpp @@ -34,18 +34,10 @@ YG_NODE_JNI_STYLE_PROP(jint, YGPositionType, PositionType); YG_NODE_JNI_STYLE_PROP(jint, YGWrap, FlexWrap); YG_NODE_JNI_STYLE_PROP(jint, YGOverflow, Overflow); YG_NODE_JNI_STYLE_PROP(jint, YGDisplay, Display); +YG_NODE_JNI_STYLE_PROP(jfloat, float, Flex); YG_NODE_JNI_STYLE_PROP(jfloat, float, FlexGrow); YG_NODE_JNI_STYLE_PROP(jfloat, float, FlexShrink); -void jni_YGNodeStyleSetFlexJNI( - JNIEnv* env, - jobject obj, - jlong nativePointer, - jfloat value) { - YGNodeStyleSetFlex( - _jlong2YGNodeRef(nativePointer), static_cast(value)); -} - // Yoga specific properties, not compatible with flexbox specification YG_NODE_JNI_STYLE_PROP(jfloat, float, AspectRatio); @@ -72,7 +64,6 @@ void registerNativeMethods( } static JNINativeMethod methods[] = { - {"jni_YGNodeStyleSetFlexJNI", "(JF)V", (void*) jni_YGNodeStyleSetFlexJNI}, {"jni_YGNodeStyleGetDirectionJNI", "(J)I", (void*) jni_YGNodeStyleGetDirectionJNI}, @@ -133,6 +124,8 @@ static JNINativeMethod methods[] = { {"jni_YGNodeStyleSetDisplayJNI", "(JI)V", (void*) jni_YGNodeStyleSetDisplayJNI}, + {"jni_YGNodeStyleGetFlexJNI", "(J)F", (void*) jni_YGNodeStyleGetFlexJNI}, + {"jni_YGNodeStyleSetFlexJNI", "(JF)V", (void*) jni_YGNodeStyleSetFlexJNI}, {"jni_YGNodeStyleGetFlexGrowJNI", "(J)F", (void*) jni_YGNodeStyleGetFlexGrowJNI},