Skip to content

Commit 6de6ba8

Browse files
committed
Rollback changes
1 parent f473eba commit 6de6ba8

9 files changed

Lines changed: 25 additions & 62 deletions

File tree

packages/react-native/ReactAndroid/api/ReactAndroid.api

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3286,10 +3286,8 @@ public final class com/facebook/react/uimanager/DisplayMetricsHolder {
32863286
public static final fun getDisplayMetricsWritableMap (D)Lcom/facebook/react/bridge/WritableMap;
32873287
public static final fun getScreenDisplayMetrics ()Landroid/util/DisplayMetrics;
32883288
public static final fun getWindowDisplayMetrics ()Landroid/util/DisplayMetrics;
3289-
public static final fun initScreenDisplayMetrics (Landroid/content/Context;)V
3290-
public static final fun initWindowDisplayMetrics (Landroid/content/Context;)V
3291-
public static final fun initScreenDisplayMetricsIfNotInitialized (Landroid/content/Context;)V
3292-
public static final fun initWindowDisplayMetricsIfNotInitialized (Landroid/content/Context;)V
3289+
public static final fun initDisplayMetrics (Landroid/content/Context;)V
3290+
public static final fun initDisplayMetricsIfNotInitialized (Landroid/content/Context;)V
32933291
public static final fun setScreenDisplayMetrics (Landroid/util/DisplayMetrics;)V
32943292
public static final fun setWindowDisplayMetrics (Landroid/util/DisplayMetrics;)V
32953293
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -241,11 +241,7 @@ public static ReactInstanceManagerBuilder builder() {
241241
FLog.d(TAG, "ReactInstanceManager.ctor()");
242242
initializeSoLoaderIfNecessary(applicationContext);
243243

244-
DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized(applicationContext);
245-
246-
if (currentActivity != null) {
247-
DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized(currentActivity);
248-
}
244+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(applicationContext);
249245

250246
// See {@code ReactInstanceManagerBuilder} for description of all flags here.
251247
mApplicationContext = applicationContext;
@@ -873,13 +869,6 @@ public void onConfigurationChanged(Context updatedContext, @Nullable Configurati
873869

874870
ReactContext currentReactContext = getCurrentReactContext();
875871
if (currentReactContext != null) {
876-
DisplayMetricsHolder.initScreenDisplayMetrics(currentReactContext);
877-
Activity currentActivity = currentReactContext.getCurrentActivity();
878-
879-
if (currentActivity != null) {
880-
DisplayMetricsHolder.initWindowDisplayMetrics(currentActivity);
881-
}
882-
883872
AppearanceModule appearanceModule =
884873
currentReactContext.getNativeModule(AppearanceModule.class);
885874

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,9 @@ private void init() {
139139
setRootViewTag(ReactRootViewTagGenerator.getNextRootViewTag());
140140
setClipChildren(false);
141141

142-
DisplayMetricsHolder.initScreenDisplayMetrics(getContext());
143-
DisplayMetricsHolder.initWindowDisplayMetrics(getContext());
142+
if (ReactNativeFeatureFlags.enableFontScaleChangesUpdatingLayout()) {
143+
DisplayMetricsHolder.initDisplayMetrics(getContext().getApplicationContext());
144+
}
144145
}
145146

146147
@Override
@@ -938,8 +939,7 @@ private class CustomGlobalLayoutListener implements ViewTreeObserver.OnGlobalLay
938939
private int mDeviceRotation = 0;
939940

940941
/* package */ CustomGlobalLayoutListener() {
941-
DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized(getContext());
942-
DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized(getContext());
942+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(getContext().getApplicationContext());
943943
mVisibleViewArea = new Rect();
944944
mMinKeyboardHeightDetected = (int) PixelUtil.toPixelFromDIP(60);
945945
}
@@ -1062,8 +1062,7 @@ private void checkForDeviceOrientationChanges() {
10621062
return;
10631063
}
10641064
mDeviceRotation = rotation;
1065-
DisplayMetricsHolder.initScreenDisplayMetrics(getContext());
1066-
DisplayMetricsHolder.initWindowDisplayMetrics(getContext());
1065+
DisplayMetricsHolder.initDisplayMetrics(getContext().getApplicationContext());
10671066
emitOrientationChanged(rotation);
10681067
}
10691068

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ import com.facebook.react.bridge.ReactSoftExceptionLogger
1515
import com.facebook.react.bridge.ReadableMap
1616
import com.facebook.react.module.annotations.ReactModule
1717
import com.facebook.react.uimanager.DisplayMetricsHolder.getDisplayMetricsWritableMap
18-
import com.facebook.react.uimanager.DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized
19-
import com.facebook.react.uimanager.DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized
18+
import com.facebook.react.uimanager.DisplayMetricsHolder.initDisplayMetricsIfNotInitialized
2019
import com.facebook.react.views.view.isEdgeToEdgeFeatureFlagOn
2120

2221
/** Module that exposes Android Constants to JS. */
@@ -27,8 +26,7 @@ internal class DeviceInfoModule(reactContext: ReactApplicationContext) :
2726
private var previousDisplayMetrics: ReadableMap? = null
2827

2928
init {
30-
initScreenDisplayMetricsIfNotInitialized(reactContext)
31-
reactContext.currentActivity?.let { initWindowDisplayMetricsIfNotInitialized(it) }
29+
initDisplayMetricsIfNotInitialized(reactContext)
3230
reactContext.addLifecycleEventListener(this)
3331
}
3432

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -684,11 +684,9 @@ public class ReactHostImpl(
684684
override fun onConfigurationChanged(context: Context) {
685685
val currentReactContext = this.currentReactContext
686686
if (currentReactContext != null) {
687-
DisplayMetricsHolder.initScreenDisplayMetrics(currentReactContext)
688-
currentReactContext.currentActivity?.let { DisplayMetricsHolder.initWindowDisplayMetrics(it) }
689-
690687
if (ReactNativeFeatureFlags.enableFontScaleChangesUpdatingLayout()) {
691688
val previousFontScale = PixelUtil.toPixelFromSP(1.0)
689+
DisplayMetricsHolder.initDisplayMetrics(currentReactContext)
692690
val newFontScale = PixelUtil.toPixelFromSP(1.0)
693691

694692
if (previousFontScale != newFontScale) {
@@ -1002,7 +1000,6 @@ public class ReactHostImpl(
10021000
val instance =
10031001
ReactInstance(
10041002
reactContext,
1005-
currentActivity,
10061003
reactHostDelegate,
10071004
componentFactory,
10081005
devSupportManager,

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
package com.facebook.react.runtime
99

1010
import android.annotation.SuppressLint
11-
import android.app.Activity
1211
import android.content.res.AssetManager
1312
import android.view.View
1413
import com.facebook.common.logging.FLog
@@ -90,7 +89,6 @@ import kotlin.collections.Collection
9089
@UnstableReactNativeAPI
9190
internal class ReactInstance(
9291
private val context: BridgelessReactContext,
93-
private val activity: Activity?,
9492
delegate: ReactHostDelegate,
9593
componentFactory: ComponentFactory,
9694
devSupportManager: DevSupportManager,
@@ -259,8 +257,7 @@ internal class ReactInstance(
259257
FabricUIManager(context, ViewManagerRegistry(viewManagerResolver), eventBeatManager)
260258

261259
// Misc initialization that needs to be done before Fabric init
262-
DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized(context)
263-
activity?.let { DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized(it) }
260+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(context)
264261

265262
val animationBackendChoreographer = AnimationBackendChoreographer(context)
266263

packages/react-native/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ class RootViewTest {
5151
reactContext = spy(BridgeReactContext(RuntimeEnvironment.getApplication()))
5252
reactContext.initializeWithInstance(catalystInstanceMock)
5353

54-
DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized(reactContext)
55-
DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized(reactContext)
54+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(reactContext)
5655
val uiManagerModuleMock: UIManagerModule = mock()
5756
whenever(catalystInstanceMock.getNativeModule(UIManagerModule::class.java))
5857
.thenReturn(uiManagerModuleMock)

packages/react-native/ReactAndroid/src/test/java/com/facebook/react/uimanager/DisplayMetricsHolderTest.kt

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -90,35 +90,23 @@ class DisplayMetricsHolderTest {
9090
}
9191

9292
@Test
93-
fun initScreenDisplayMetrics_setsMetrics() {
94-
DisplayMetricsHolder.initScreenDisplayMetrics(context)
95-
assertThat(DisplayMetricsHolder.getScreenDisplayMetrics()).isNotNull()
96-
}
97-
98-
@Test
99-
fun initWindowDisplayMetrics_setsMetrics() {
100-
DisplayMetricsHolder.initWindowDisplayMetrics(context)
93+
fun initDisplayMetrics_setsMetrics() {
94+
DisplayMetricsHolder.initDisplayMetrics(context)
10195
assertThat(DisplayMetricsHolder.getWindowDisplayMetrics()).isNotNull()
96+
assertThat(DisplayMetricsHolder.getScreenDisplayMetrics()).isNotNull()
10297
}
10398

10499
@Test
105-
fun initScreenDisplayMetricsIfNotInitialized_onlyInitializesOnce() {
106-
DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized(context)
107-
val firstScreen = DisplayMetricsHolder.getScreenDisplayMetrics()
108-
// Should not reinitialize
109-
DisplayMetricsHolder.initScreenDisplayMetricsIfNotInitialized(context)
110-
val secondScreen = DisplayMetricsHolder.getScreenDisplayMetrics()
111-
assertThat(secondScreen).isEqualTo(firstScreen)
112-
}
113-
114-
@Test
115-
fun initWindowDisplayMetricsIfNotInitialized_onlyInitializesOnce() {
116-
DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized(context)
100+
fun initDisplayMetricsIfNotInitialized_onlyInitializesOnce() {
101+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(context)
117102
val firstWindow = DisplayMetricsHolder.getWindowDisplayMetrics()
103+
val firstScreen = DisplayMetricsHolder.getScreenDisplayMetrics()
118104
// Should not reinitialize
119-
DisplayMetricsHolder.initWindowDisplayMetricsIfNotInitialized(context)
105+
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(context)
120106
val secondWindow = DisplayMetricsHolder.getWindowDisplayMetrics()
107+
val secondScreen = DisplayMetricsHolder.getScreenDisplayMetrics()
121108
assertThat(secondWindow).isEqualTo(firstWindow)
109+
assertThat(secondScreen).isEqualTo(firstScreen)
122110
}
123111

124112
@Test(expected = IllegalStateException::class)
@@ -129,8 +117,7 @@ class DisplayMetricsHolderTest {
129117
@Test
130118
fun getDisplayMetricsWritableMap_returnsCorrectMap() {
131119
// Use the official initialization method to ensure both metrics are set
132-
DisplayMetricsHolder.initScreenDisplayMetrics(context)
133-
DisplayMetricsHolder.initWindowDisplayMetrics(context)
120+
DisplayMetricsHolder.initDisplayMetrics(context)
134121
val map: WritableMap = DisplayMetricsHolder.getDisplayMetricsWritableMap(1.0)
135122
assertThat(map.hasKey("windowPhysicalPixels")).isTrue()
136123
assertThat(map.hasKey("screenPhysicalPixels")).isTrue()
@@ -148,8 +135,7 @@ class DisplayMetricsHolderTest {
148135
@Test
149136
@RequiresApi(30)
150137
fun getEncodedScreenSizeWithoutVerticalInsets_returnsEncodedValue() {
151-
DisplayMetricsHolder.initScreenDisplayMetrics(context)
152-
DisplayMetricsHolder.initWindowDisplayMetrics(context)
138+
DisplayMetricsHolder.initDisplayMetrics(context)
153139

154140
val activity: Activity = mock()
155141
val window: Window = mock()

packages/react-native/gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ androidx-swiperefreshlayout = "1.1.0"
1616
androidx-test = "1.5.0"
1717
androidx-test-junit = "1.2.1"
1818
androidx-tracing = "1.1.0"
19-
androidx-window = "1.4.0"
19+
androidx-window = "1.5.1"
2020
assertj = "3.21.0"
2121
binary-compatibility-validator = "0.13.2"
2222
download = "5.4.0"

0 commit comments

Comments
 (0)