mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-17 23:04:40 +08:00
Introduce mobile config flag to load classes for View Managers
Reviewed By: kathryngray Differential Revision: D6148468 fbshipit-source-id: d0f919f63922dae4b0720f22fa70ab4a7f67b48a
This commit is contained in:
committed by
Facebook Github Bot
parent
55f75dfd65
commit
f0fb720eaa
@@ -98,16 +98,16 @@ public class CompositeReactPackage extends ReactInstancePackage
|
||||
return new ArrayList<>(viewManagerMap.values());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public List<String> getViewManagerNames(ReactApplicationContext reactContext) {
|
||||
public List<String> getViewManagerNames(
|
||||
ReactApplicationContext reactContext, boolean loadClasses) {
|
||||
Set<String> uniqueNames = new HashSet<>();
|
||||
for (ReactPackage reactPackage : mChildReactPackages) {
|
||||
if (reactPackage instanceof ViewManagerOnDemandReactPackage) {
|
||||
List<String> names =
|
||||
((ViewManagerOnDemandReactPackage) reactPackage).getViewManagerNames(reactContext);
|
||||
((ViewManagerOnDemandReactPackage) reactPackage)
|
||||
.getViewManagerNames(reactContext, loadClasses);
|
||||
if (names != null) {
|
||||
uniqueNames.addAll(names);
|
||||
}
|
||||
@@ -116,18 +116,17 @@ public class CompositeReactPackage extends ReactInstancePackage
|
||||
return new ArrayList<>(uniqueNames);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public @Nullable ViewManager createViewManager(
|
||||
ReactApplicationContext reactContext, String viewManagerName) {
|
||||
ReactApplicationContext reactContext, String viewManagerName, boolean loadClasses) {
|
||||
ListIterator<ReactPackage> iterator = mChildReactPackages.listIterator(mChildReactPackages.size());
|
||||
while (iterator.hasPrevious()) {
|
||||
ReactPackage reactPackage = iterator.previous();
|
||||
if (reactPackage instanceof ViewManagerOnDemandReactPackage) {
|
||||
ViewManager viewManager =
|
||||
((ViewManagerOnDemandReactPackage) reactPackage).createViewManager(reactContext, viewManagerName);
|
||||
((ViewManagerOnDemandReactPackage) reactPackage)
|
||||
.createViewManager(reactContext, viewManagerName, loadClasses);
|
||||
if (viewManager != null) {
|
||||
return viewManager;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user