Make getViewManagerNames() return eager view manager names (#42217)

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

Make ViewManagerResolver.getViewManagerNames() also return eager ViewManager names

I think the only impact is [this exception message](https://github.com/facebook/react-native/blob/192a88d522befa3b5cc073d441210f8148e8ac69/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java#L63-L67) in ViewManagerRegistry:

https://www.internalfb.com/code/fbsource/[897438be9e04]/xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java?lines=63-67

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D52399005

fbshipit-source-id: f34c7c5ae7cc7db8a7b4a83221215c05551c1e56
This commit is contained in:
Ramanpreet Nara
2024-01-10 12:35:33 -08:00
committed by Facebook GitHub Bot
parent e4e196c275
commit de03b77c5f
@@ -232,7 +232,8 @@ final class ReactInstance {
unbufferedRuntimeExecutor,
(ComponentNameResolver)
() -> {
Collection<String> viewManagerNames = mViewManagerResolver.getViewManagerNames();
Collection<String> 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<String> getViewManagerNames() {
return getLazyViewManagerNames();
Set<String> allViewManagerNames = new HashSet<>();
allViewManagerNames.addAll(getLazyViewManagerNames());
allViewManagerNames.addAll(getEagerViewManagerMap().keySet());
return allViewManagerNames;
}
private Map<String, ViewManager> getEagerViewManagerMap() {
@@ -588,7 +593,7 @@ final class ReactInstance {
return null;
}
private Collection<String> getLazyViewManagerNames() {
public synchronized Collection<String> getLazyViewManagerNames() {
Set<String> uniqueNames = new HashSet<>();
for (ReactPackage reactPackage : mReactPackages) {
if (reactPackage instanceof ViewManagerOnDemandReactPackage) {