Skip to content

Commit f02607b

Browse files
mateoguzmanafacebook-github-bot
authored andcommitted
Make DeviceInfoModule internal (#50458)
Summary: This class can be internalized as part of the initiative to reduce the public API surface. I've checked there are [no relevant OSS usages](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+user%3Acortinico+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+NOT+repo%3Apkcsecurity%2Fdecompiled-lightbulb+com.facebook.react.modules.deviceinfo.DeviceInfoModule). All GH search results are forks – there is only one relevant case for the repository [renavigation2/renavigation2](https://github.com/renavigation2/renavigation2/blob/82582c11a9eb2e4e7c56d84d53fbc4e575cb0174/packages/navigation/android/src/main/java/com/navigation/reactnative/SceneView.java#L17), but the repo has no been updated for 4 years, marked as work in progress and its packages have 0 downloads, so this won't break OSS but I'm marking it as breaking just in case (let me know if you think we should open an issue on their side). ## Changelog: [ANDROID][BREAKING] - Make com.facebook.react.modules.deviceinfo.DeviceInfoModule internal Pull Request resolved: #50458 Test Plan: ```bash yarn test-android yarn android ``` Reviewed By: cortinico Differential Revision: D72377448 Pulled By: javache fbshipit-source-id: 974146474f649ce2bc80d74c3eb8d6d8f987c372
1 parent 7b5ba57 commit f02607b

File tree

2 files changed

+5
-25
lines changed

2 files changed

+5
-25
lines changed

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

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2963,17 +2963,6 @@ public abstract interface class com/facebook/react/modules/debug/interfaces/Deve
29632963
public abstract fun setStartSamplingProfilerOnInit (Z)V
29642964
}
29652965

2966-
public final class com/facebook/react/modules/deviceinfo/DeviceInfoModule : com/facebook/fbreact/specs/NativeDeviceInfoSpec, com/facebook/react/bridge/LifecycleEventListener {
2967-
public fun <init> (Landroid/content/Context;)V
2968-
public fun <init> (Lcom/facebook/react/bridge/ReactApplicationContext;)V
2969-
public final fun emitUpdateDimensionsEvent ()V
2970-
public fun getTypedExportedConstants ()Ljava/util/Map;
2971-
public fun invalidate ()V
2972-
public fun onHostDestroy ()V
2973-
public fun onHostPause ()V
2974-
public fun onHostResume ()V
2975-
}
2976-
29772966
public class com/facebook/react/modules/dialog/AlertFragment : androidx/fragment/app/DialogFragment, android/content/DialogInterface$OnClickListener {
29782967
public fun <init> ()V
29792968
public fun <init> (Lcom/facebook/react/modules/dialog/DialogModule$AlertFragmentListener;Landroid/os/Bundle;)V

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

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
package com.facebook.react.modules.deviceinfo
99

10-
import android.content.Context
1110
import com.facebook.fbreact.specs.NativeDeviceInfoSpec
1211
import com.facebook.react.bridge.LifecycleEventListener
1312
import com.facebook.react.bridge.ReactApplicationContext
@@ -20,22 +19,14 @@ import com.facebook.react.uimanager.DisplayMetricsHolder.initDisplayMetricsIfNot
2019

2120
/** Module that exposes Android Constants to JS. */
2221
@ReactModule(name = NativeDeviceInfoSpec.NAME)
23-
public class DeviceInfoModule : NativeDeviceInfoSpec, LifecycleEventListener {
24-
private var reactApplicationContext: ReactApplicationContext? = null
25-
private var fontScale: Float
22+
internal class DeviceInfoModule(reactContext: ReactApplicationContext) :
23+
NativeDeviceInfoSpec(reactContext), LifecycleEventListener {
24+
private var fontScale: Float = reactContext.resources.configuration.fontScale
2625
private var previousDisplayMetrics: ReadableMap? = null
2726

28-
public constructor(reactContext: ReactApplicationContext) : super(reactContext) {
27+
init {
2928
initDisplayMetricsIfNotInitialized(reactContext)
30-
fontScale = reactContext.resources.configuration.fontScale
3129
reactContext.addLifecycleEventListener(this)
32-
reactApplicationContext = reactContext
33-
}
34-
35-
public constructor(context: Context) : super(null) {
36-
reactApplicationContext = null
37-
initDisplayMetricsIfNotInitialized(context)
38-
fontScale = context.resources.configuration.fontScale
3930
}
4031

4132
public override fun getTypedExportedConstants(): Map<String, Any> {
@@ -58,7 +49,7 @@ public class DeviceInfoModule : NativeDeviceInfoSpec, LifecycleEventListener {
5849

5950
override fun onHostDestroy(): Unit = Unit
6051

61-
public fun emitUpdateDimensionsEvent() {
52+
fun emitUpdateDimensionsEvent() {
6253
reactApplicationContext?.let { context ->
6354
if (context.hasActiveReactInstance()) {
6455
// Don't emit an event to JS if the dimensions haven't changed

0 commit comments

Comments
 (0)