xref: /MusicFree/android/app/src/main/java/fun/upup/musicfree/MainApplication.kt (revision 6613e77203923e5b1742a49281bfa5de03fc1440)
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