mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
replace getWindowDisplayMetrics with getScreenDisplayMetrics (#53523)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53523 update `DisplayMetricsHolder.getWindowDisplayMetrics()` to `getScreenDisplayMetrics()`. Where window width and height is not needed, prefer to use `screenDisplayMetrics` as with upcoming diff `windowDisplayMetrics` initialization only happen using UiContext and have potential to cause more issues if used unnecessarily. Changelog: [Internal] Update `DisplayMetricsHolder.getWindowDisplayMetrics()` to use `.getScreenDisplayMetrics()` --- Reviewed By: mlord93 Differential Revision: D81270196 fbshipit-source-id: 5b392d67449ddceebbc0fe81db15fa61ae44108f
This commit is contained in:
committed by
Facebook GitHub Bot
parent
a4581ecd8b
commit
1ad2ec099a
+4
-4
@@ -22,7 +22,7 @@ public object PixelUtil {
|
|||||||
return TypedValue.applyDimension(
|
return TypedValue.applyDimension(
|
||||||
TypedValue.COMPLEX_UNIT_DIP,
|
TypedValue.COMPLEX_UNIT_DIP,
|
||||||
value,
|
value,
|
||||||
DisplayMetricsHolder.getWindowDisplayMetrics(),
|
DisplayMetricsHolder.getScreenDisplayMetrics(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ public object PixelUtil {
|
|||||||
return Float.NaN
|
return Float.NaN
|
||||||
}
|
}
|
||||||
|
|
||||||
val displayMetrics = DisplayMetricsHolder.getWindowDisplayMetrics()
|
val displayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics()
|
||||||
val scaledValue = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, displayMetrics)
|
val scaledValue = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, value, displayMetrics)
|
||||||
|
|
||||||
if (maxFontScale >= 1) {
|
if (maxFontScale >= 1) {
|
||||||
@@ -63,13 +63,13 @@ public object PixelUtil {
|
|||||||
return Float.NaN
|
return Float.NaN
|
||||||
}
|
}
|
||||||
|
|
||||||
return value / DisplayMetricsHolder.getWindowDisplayMetrics().density
|
return value / DisplayMetricsHolder.getScreenDisplayMetrics().density
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return [Float] that represents the density of the display metrics for device screen. */
|
/** @return [Float] that represents the density of the display metrics for device screen. */
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
public fun getDisplayMetricDensity(): Float =
|
public fun getDisplayMetricDensity(): Float =
|
||||||
DisplayMetricsHolder.getWindowDisplayMetrics().density
|
DisplayMetricsHolder.getScreenDisplayMetrics().density
|
||||||
|
|
||||||
/* Kotlin extensions */
|
/* Kotlin extensions */
|
||||||
public fun Int.dpToPx(): Float = toPixelFromDIP(this.toFloat())
|
public fun Int.dpToPx(): Float = toPixelFromDIP(this.toFloat())
|
||||||
|
|||||||
+1
-1
@@ -514,7 +514,7 @@ class TouchEventDispatchTest {
|
|||||||
metrics.xdpi = 1f
|
metrics.xdpi = 1f
|
||||||
metrics.ydpi = 1f
|
metrics.ydpi = 1f
|
||||||
metrics.density = 1f
|
metrics.density = 1f
|
||||||
DisplayMetricsHolder.setWindowDisplayMetrics(metrics)
|
DisplayMetricsHolder.setScreenDisplayMetrics(metrics)
|
||||||
|
|
||||||
val reactContext = ReactTestHelper.createCatalystContextForTest()
|
val reactContext = ReactTestHelper.createCatalystContextForTest()
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ class ColorStopTest {
|
|||||||
fun setUp() {
|
fun setUp() {
|
||||||
val metrics = DisplayMetrics()
|
val metrics = DisplayMetrics()
|
||||||
metrics.density = 1f
|
metrics.density = 1f
|
||||||
DisplayMetricsHolder.setWindowDisplayMetrics(metrics)
|
DisplayMetricsHolder.setScreenDisplayMetrics(metrics)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+2
-2
@@ -75,14 +75,14 @@ class ReactImagePropertyTest {
|
|||||||
context.initializeWithInstance(catalystInstanceMock)
|
context.initializeWithInstance(catalystInstanceMock)
|
||||||
themeContext = ThemedReactContext(context, context, null, -1)
|
themeContext = ThemedReactContext(context, context, null, -1)
|
||||||
Fresco.initialize(context)
|
Fresco.initialize(context)
|
||||||
DisplayMetricsHolder.setWindowDisplayMetrics(DisplayMetrics())
|
DisplayMetricsHolder.setScreenDisplayMetrics(DisplayMetrics())
|
||||||
|
|
||||||
ReactNativeFeatureFlagsForTests.setUp()
|
ReactNativeFeatureFlagsForTests.setUp()
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
fun teardown() {
|
fun teardown() {
|
||||||
DisplayMetricsHolder.setWindowDisplayMetrics(null)
|
DisplayMetricsHolder.setScreenDisplayMetrics(null)
|
||||||
rnLog.close()
|
rnLog.close()
|
||||||
flogMock.close()
|
flogMock.close()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -65,7 +65,7 @@ class ReactTextInputPropertyTest {
|
|||||||
context.initializeWithInstance(catalystInstanceMock)
|
context.initializeWithInstance(catalystInstanceMock)
|
||||||
themedContext = ThemedReactContext(context, context.baseContext, null, ID_NULL)
|
themedContext = ThemedReactContext(context, context.baseContext, null, ID_NULL)
|
||||||
manager = ReactTextInputManager()
|
manager = ReactTextInputManager()
|
||||||
DisplayMetricsHolder.setWindowDisplayMetrics(DisplayMetrics())
|
DisplayMetricsHolder.setScreenDisplayMetrics(DisplayMetrics())
|
||||||
view = manager.createViewInstance(themedContext)
|
view = manager.createViewInstance(themedContext)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -47,7 +47,7 @@ class ReactVirtualViewTest {
|
|||||||
|
|
||||||
val displayMetricsHolder = mockStatic(DisplayMetricsHolder::class.java)
|
val displayMetricsHolder = mockStatic(DisplayMetricsHolder::class.java)
|
||||||
displayMetricsHolder
|
displayMetricsHolder
|
||||||
.`when`<DisplayMetrics> { DisplayMetricsHolder.getWindowDisplayMetrics() }
|
.`when`<DisplayMetrics> { DisplayMetricsHolder.getScreenDisplayMetrics() }
|
||||||
.thenAnswer { DisplayMetrics().apply { density = 1f } }
|
.thenAnswer { DisplayMetrics().apply { density = 1f } }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user