1 package `fun`.upup.musicfree 2 import android.content.res.Configuration 3 import expo.modules.ApplicationLifecycleDispatcher 4 import expo.modules.ReactNativeHostWrapper 5 6 import android.app.Application 7 import com.facebook.react.PackageList 8 import com.facebook.react.ReactApplication 9 import com.facebook.react.ReactHost 10 import com.facebook.react.ReactNativeHost 11 import com.facebook.react.ReactPackage 12 import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load 13 import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost 14 import com.facebook.react.defaults.DefaultReactNativeHost 15 import com.facebook.soloader.SoLoader 16 import `fun`.upup.musicfree.lyricUtil.LyricUtilPackage 17 import `fun`.upup.musicfree.mp3Util.Mp3UtilPackage 18 import `fun`.upup.musicfree.utils.UtilsPackage 19 20 class MainApplication : Application(), ReactApplication { 21 22 override val reactNativeHost: ReactNativeHost = 23 ReactNativeHostWrapper(this, object : DefaultReactNativeHost(this) { 24 override fun getPackages(): List<ReactPackage> = 25 PackageList(this).packages.apply { 26 // Packages that cannot be autolinked yet can be added manually here, for example: 27 // add(MyReactNativePackage()) 28 add(UtilsPackage()) 29 add(Mp3UtilPackage()) 30 add(LyricUtilPackage()) 31 } 32 33 override fun getJSMainModuleName(): String = "index" 34 35 override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG 36 37 override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED 38 override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED 39 }) 40 41 override val reactHost: ReactHost 42 get() = ReactNativeHostWrapper.createReactHost(applicationContext, reactNativeHost) 43 44 override fun onCreate() { 45 super.onCreate() 46 SoLoader.init(this, false) 47 if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { 48 // If you opted-in for the New Architecture, we load the native entry point for this app. 49 load() 50 } 51 ApplicationLifecycleDispatcher.onApplicationCreate(this) 52 } 53 54 override fun onConfigurationChanged(newConfig: Configuration) { 55 super.onConfigurationChanged(newConfig) 56 ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig) 57 } 58 } 59