mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
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:
committed by
Facebook GitHub Bot
parent
e4e196c275
commit
de03b77c5f
+9
-4
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user