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 04:46:56 -07:00
committed by Facebook GitHub Bot
parent f273c63d37
commit 2f46a49b8d
@@ -521,7 +521,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 &&