MainApplication.kt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.nexilissamplecode
  2. import android.app.Application
  3. import com.facebook.react.PackageList
  4. import com.facebook.react.ReactApplication
  5. import com.facebook.react.ReactHost
  6. import com.facebook.react.ReactNativeHost
  7. import com.facebook.react.ReactPackage
  8. import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
  9. import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
  10. import com.facebook.react.defaults.DefaultReactNativeHost
  11. import com.facebook.soloader.SoLoader
  12. class MainApplication : Application(), ReactApplication {
  13. override val reactNativeHost: ReactNativeHost =
  14. object : DefaultReactNativeHost(this) {
  15. override fun getPackages(): List<ReactPackage> =
  16. PackageList(this).packages.apply {
  17. // Packages that cannot be autolinked yet can be added manually here, for example:
  18. // add(MyReactNativePackage())
  19. }
  20. override fun getJSMainModuleName(): String = "index"
  21. override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG
  22. override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
  23. override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
  24. }
  25. override val reactHost: ReactHost
  26. get() = getDefaultReactHost(applicationContext, reactNativeHost)
  27. override fun onCreate() {
  28. super.onCreate()
  29. SoLoader.init(this, false)
  30. if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
  31. // If you opted-in for the New Architecture, we load the native entry point for this app.
  32. load()
  33. }
  34. }
  35. }