MainApplication.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.kangaroo;
  2. import android.app.Application;
  3. import android.content.Context;
  4. import com.facebook.react.PackageList;
  5. import com.facebook.react.ReactApplication;
  6. import com.facebook.react.ReactNativeHost;
  7. import com.facebook.react.ReactPackage;
  8. import com.facebook.soloader.SoLoader;
  9. import java.lang.reflect.InvocationTargetException;
  10. import java.util.List;
  11. public class MainApplication extends Application implements ReactApplication {
  12. private final ReactNativeHost mReactNativeHost =
  13. new ReactNativeHost(this) {
  14. @Override
  15. public boolean getUseDeveloperSupport() {
  16. return BuildConfig.DEBUG;
  17. }
  18. @Override
  19. protected List<ReactPackage> getPackages() {
  20. @SuppressWarnings("UnnecessaryLocalVariable")
  21. List<ReactPackage> packages = new PackageList(this).getPackages();
  22. // Packages that cannot be autolinked yet can be added manually here, for example:
  23. // packages.add(new MyReactNativePackage());
  24. return packages;
  25. }
  26. @Override
  27. protected String getJSMainModuleName() {
  28. return "index";
  29. }
  30. };
  31. @Override
  32. public ReactNativeHost getReactNativeHost() {
  33. return mReactNativeHost;
  34. }
  35. @Override
  36. public void onCreate() {
  37. super.onCreate();
  38. SoLoader.init(this, /* native exopackage */ false);
  39. initializeFlipper(this); // Remove this line if you don't want Flipper enabled
  40. }
  41. /**
  42. * Loads Flipper in React Native templates.
  43. *
  44. * @param context
  45. */
  46. private static void initializeFlipper(Context context) {
  47. if (BuildConfig.DEBUG) {
  48. try {
  49. /*
  50. We use reflection here to pick up the class that initializes Flipper,
  51. since Flipper library is not available in release mode
  52. */
  53. Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper");
  54. aClass.getMethod("initializeFlipper", Context.class).invoke(null, context);
  55. } catch (ClassNotFoundException e) {
  56. e.printStackTrace();
  57. } catch (NoSuchMethodException e) {
  58. e.printStackTrace();
  59. } catch (IllegalAccessException e) {
  60. e.printStackTrace();
  61. } catch (InvocationTargetException e) {
  62. e.printStackTrace();
  63. }
  64. }
  65. }
  66. }