Make Catalyst support lazy and non-lazy native modules

Summary:
An application could either have lazy, or non-lazy modules. This diff simply lets the individual reactPackages decide if they should be lazy or not, based on the variable in `ReactInstanceManagerBuilder`.

This diff also removed the method `setLazyNativeModules()` since an app can now have both native and non-native modules.

Reviewed By: achen1

Differential Revision: D8940026

fbshipit-source-id: 0399f4f39ad57f2b03e4dce117a9e2c28c4ed2b1
This commit is contained in:
Ram N
2018-07-27 11:56:19 -07:00
committed by Facebook Github Bot
parent 6b5343019c
commit 059fb2fd81
3 changed files with 57 additions and 24 deletions
@@ -12,6 +12,7 @@ import com.facebook.react.animated.NativeAnimatedModule;
import com.facebook.react.bridge.ModuleSpec;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.module.annotations.ReactModuleList;
import com.facebook.react.module.model.ReactModuleInfoProvider;
import com.facebook.react.modules.accessibilityinfo.AccessibilityInfoModule;
import com.facebook.react.modules.appstate.AppStateModule;
@@ -71,6 +72,35 @@ import javax.inject.Provider;
/**
* Package defining basic modules and view managers.
*/
@ReactModuleList(nativeModules = {
AccessibilityInfoModule.class,
AppStateModule.class,
BlobModule.class,
FileReaderModule.class,
AsyncStorageModule.class,
CameraRollManager.class,
ClipboardModule.class,
DatePickerDialogModule.class,
DialogModule.class,
FrescoModule.class,
I18nManagerModule.class,
ImageEditingManager.class,
ImageLoaderModule.class,
ImageStoreManager.class,
IntentModule.class,
LocationModule.class,
NativeAnimatedModule.class,
NetworkingModule.class,
NetInfoModule.class,
PermissionsModule.class,
ShareModule.class,
StatusBarModule.class,
TimePickerDialogModule.class,
ToastModule.class,
VibrationModule.class,
WebSocketModule.class,
})
public class MainReactPackage extends LazyReactPackage {
private MainPackageConfig mConfig;