Kotlinify MeasureUtil (#43769)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/43769

Changelog: [Internal]

As part of the Sustainability Week (see [post](https://fb.workplace.com/groups/251759413609061/permalink/742797531171911/)).

Reviewed By: cortinico

Differential Revision: D55636884

fbshipit-source-id: 331f414db729f1b5f6f285df015ec65c2ade38cc
This commit is contained in:
Fabrizio Cucci
2024-04-02 16:17:39 -07:00
committed by Facebook GitHub Bot
parent cb28372c72
commit fa808b0840
3 changed files with 27 additions and 29 deletions
@@ -7516,9 +7516,9 @@ public class com/facebook/react/views/view/ColorUtil {
public static fun normalize (DDDD)I
}
public class com/facebook/react/views/view/MeasureUtil {
public fun <init> ()V
public static fun getMeasureSpec (FLcom/facebook/yoga/YogaMeasureMode;)I
public final class com/facebook/react/views/view/MeasureUtil {
public static final field INSTANCE Lcom/facebook/react/views/view/MeasureUtil;
public static final fun getMeasureSpec (FLcom/facebook/yoga/YogaMeasureMode;)I
}
public abstract class com/facebook/react/views/view/ReactClippingViewManager : com/facebook/react/uimanager/ViewGroupManager {
@@ -1,26 +0,0 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.react.views.view;
import android.view.View;
import com.facebook.infer.annotation.Nullsafe;
import com.facebook.yoga.YogaMeasureMode;
@Nullsafe(Nullsafe.Mode.LOCAL)
public class MeasureUtil {
public static int getMeasureSpec(float size, YogaMeasureMode mode) {
if (mode == YogaMeasureMode.EXACTLY) {
return View.MeasureSpec.makeMeasureSpec((int) size, View.MeasureSpec.EXACTLY);
} else if (mode == YogaMeasureMode.AT_MOST) {
return View.MeasureSpec.makeMeasureSpec((int) size, View.MeasureSpec.AT_MOST);
} else {
return View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
}
}
}
@@ -0,0 +1,24 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package com.facebook.react.views.view
import android.view.View
import com.facebook.yoga.YogaMeasureMode
public object MeasureUtil {
@JvmStatic
public fun getMeasureSpec(size: Float, mode: YogaMeasureMode): Int =
when (mode) {
YogaMeasureMode.EXACTLY ->
View.MeasureSpec.makeMeasureSpec(size.toInt(), View.MeasureSpec.EXACTLY)
YogaMeasureMode.AT_MOST ->
View.MeasureSpec.makeMeasureSpec(size.toInt(), View.MeasureSpec.AT_MOST)
else -> View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
}
}