123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.safeareaviewexample;
-
- import android.app.Application;
- import android.content.Context;
-
- import com.facebook.react.ReactApplication;
- import com.facebook.react.ReactInstanceManager;
- import com.facebook.react.ReactNativeHost;
- import com.facebook.react.ReactPackage;
- import com.facebook.react.shell.MainReactPackage;
- import com.facebook.soloader.SoLoader;
- import com.th3rdwave.safeareacontext.SafeAreaContextPackage;
- import com.swmansion.rnscreens.RNScreensPackage;
- import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
- import com.swmansion.reanimated.ReanimatedPackage;
- import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;
-
- import java.lang.reflect.InvocationTargetException;
- import java.util.Arrays;
- import java.util.List;
-
- public class MainApplication extends Application implements ReactApplication {
-
- private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
- @Override
- public boolean getUseDeveloperSupport() {
- return BuildConfig.DEBUG;
- }
-
- @Override
- protected List<ReactPackage> getPackages() {
- return Arrays.asList(
- new MainReactPackage(),
- new RNScreensPackage(),
- new RNGestureHandlerPackage(),
- new ReanimatedPackage(),
- new AsyncStoragePackage(),
- new SafeAreaContextPackage());
- }
-
- @Override
- protected String getJSMainModuleName() {
- return "example/index";
- }
- };
-
- @Override
- public ReactNativeHost getReactNativeHost() {
- return mReactNativeHost;
- }
-
- @Override
- public void onCreate() {
- super.onCreate();
- SoLoader.init(this, /* native exopackage */ false);
- initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
- }
-
- /**
- * Loads Flipper in React Native templates. Call this in the onCreate method with something like
- * initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
- *
- * @param context
- * @param reactInstanceManager
- */
- private static void initializeFlipper(
- Context context, ReactInstanceManager reactInstanceManager) {
- if (BuildConfig.DEBUG) {
- try {
- /*
- We use reflection here to pick up the class that initializes Flipper,
- since Flipper library is not available in release mode
- */
- Class<?> aClass = Class.forName("com.safeareaviewexample.ReactNativeFlipper");
- aClass
- .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
- .invoke(null, context, reactInstanceManager);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
- }
|