diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt index 48f1f1e2f24..3d379268e8e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt @@ -15,6 +15,10 @@ public object PixelUtil { /** Convert from DIP to PX */ @JvmStatic public fun toPixelFromDIP(value: Float): Float { + if (value.isNaN()) { + return Float.NaN + } + return TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, value, DisplayMetricsHolder.getWindowDisplayMetrics()) } @@ -29,6 +33,10 @@ public object PixelUtil { @JvmOverloads @JvmStatic public fun toPixelFromSP(value: Float, maxFontScale: Float = Float.NaN): Float { + if (value.isNaN()) { + return Float.NaN + } + val displayMetrics = DisplayMetricsHolder.getWindowDisplayMetrics() val scaledValue = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, displayMetrics) @@ -48,6 +56,10 @@ public object PixelUtil { /** Convert from PX to DP */ @JvmStatic public fun toDIPFromPixel(value: Float): Float { + if (value.isNaN()) { + return Float.NaN + } + return value / DisplayMetricsHolder.getWindowDisplayMetrics().density }