diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java index f9a189a6b43..cae814f1d10 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java @@ -232,7 +232,8 @@ final class ReactInstance { unbufferedRuntimeExecutor, (ComponentNameResolver) () -> { - Collection viewManagerNames = mViewManagerResolver.getViewManagerNames(); + Collection viewManagerNames = + mViewManagerResolver.getLazyViewManagerNames(); if (viewManagerNames.size() < 1) { FLog.e(TAG, "No ViewManager names found"); return new String[0]; @@ -269,7 +270,8 @@ final class ReactInstance { } // 1, Retrive view managers via on demand loading if (canLoadViewManagersLazily) { - for (String viewManagerName : mViewManagerResolver.getViewManagerNames()) { + for (String viewManagerName : + mViewManagerResolver.getLazyViewManagerNames()) { viewManagers.add(mViewManagerResolver.getViewManager(viewManagerName)); } } else { @@ -539,7 +541,10 @@ final class ReactInstance { @Override public synchronized Collection getViewManagerNames() { - return getLazyViewManagerNames(); + Set allViewManagerNames = new HashSet<>(); + allViewManagerNames.addAll(getLazyViewManagerNames()); + allViewManagerNames.addAll(getEagerViewManagerMap().keySet()); + return allViewManagerNames; } private Map getEagerViewManagerMap() { @@ -588,7 +593,7 @@ final class ReactInstance { return null; } - private Collection getLazyViewManagerNames() { + public synchronized Collection getLazyViewManagerNames() { Set uniqueNames = new HashSet<>(); for (ReactPackage reactPackage : mReactPackages) { if (reactPackage instanceof ViewManagerOnDemandReactPackage) {