Fix ReactHostImpl.nativeModules always returning an empty list (#52986)

Summary:
During the Expo QA process, we discovered that `ReactContext.reactApplicationContext.nativeModules` always returns an empty list (https://github.com/expo/expo/blob/4e2bbb23edda74d0e24756fd1735b8763e38f7a7/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/ReactExtensions.kt#L12). This happens because, during object creation, the `reactInstance` is always null.

## Changelog:

[ANDROID] [FIXED] - Fix `ReactHostImpl.nativeModules` always returning an empty list

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

Test Plan: - RN tester compiles ✅

Reviewed By: mdvacca

Differential Revision: D79451613

Pulled By: cortinico

fbshipit-source-id: d5341bcc1193eb948db4e99f16ba32a63073a6db
This commit is contained in:
lukmccall
2025-08-04 14:26:00 +01:00
committed by Vitali Zaidman
parent aac7dbefe2
commit 812824cc64
@@ -514,7 +514,8 @@ public class ReactHostImpl(
internal fun <T : NativeModule> hasNativeModule(nativeModuleInterface: Class<T>): Boolean =
reactInstance?.hasNativeModule<T>(nativeModuleInterface) ?: false
internal val nativeModules: Collection<NativeModule> = reactInstance?.nativeModules ?: listOf()
internal val nativeModules: Collection<NativeModule>
get() = reactInstance?.nativeModules ?: listOf()
internal fun <T : NativeModule> getNativeModule(nativeModuleInterface: Class<T>): T? {
if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE &&