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.react.soloader.OpenSourceMergedSoMapping 16 import com.facebook.soloader.SoLoader 17 import `fun`.upup.musicfree.lyricUtil.LyricUtilPackage 18 import `fun`.upup.musicfree.mp3Util.Mp3UtilPackage 19 import `fun`.upup.musicfree.utils.UtilsPackage 20 21 class MainApplication : Application(), ReactApplication { 22 23 override val reactNativeHost: ReactNativeHost = 24 ReactNativeHostWrapper(this, object : DefaultReactNativeHost(this) { getPackagesnull25 override fun getPackages(): List<ReactPackage> = 26 PackageList(this).packages.apply { 27 // Packages that cannot be autolinked yet can be added manually here, for example: 28 // add(MyReactNativePackage()) 29 add(UtilsPackage()) 30 add(Mp3UtilPackage()) 31 add(LyricUtilPackage()) 32 } 33 getJSMainModuleNamenull34 override fun getJSMainModuleName(): String = "index" 35 36 override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG 37 38 override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED 39 override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED 40 }) 41 42 override val reactHost: ReactHost 43 get() = ReactNativeHostWrapper.createReactHost(applicationContext, reactNativeHost) 44 45 override fun onCreate() { 46 super.onCreate() 47 SoLoader.init(this, OpenSourceMergedSoMapping) 48 if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { 49 // If you opted-in for the New Architecture, we load the native entry point for this app. 50 load() 51 } 52 ApplicationLifecycleDispatcher.onApplicationCreate(this) 53 } 54 onConfigurationChangednull55 override fun onConfigurationChanged(newConfig: Configuration) { 56 super.onConfigurationChanged(newConfig) 57 ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig) 58 } 59 } 60