1 package expo.modules.devlauncher.launcher
2 
3 import android.content.Intent
4 import android.net.Uri
5 import com.facebook.react.ReactActivity
6 import com.facebook.react.ReactActivityDelegate
7 import com.facebook.react.ReactNativeHost
8 import com.facebook.react.bridge.ReactContext
9 import expo.modules.devlauncher.DevLauncherController
10 import expo.modules.manifests.core.Manifest
11 import expo.modules.updatesinterface.UpdatesInterface
12 import kotlinx.coroutines.CoroutineScope
13 
14 interface DevLauncherControllerInterface {
loadAppnull15   suspend fun loadApp(url: Uri, mainActivity: ReactActivity? = null)
16   suspend fun loadApp(url: Uri, projectUrl: Uri?, mainActivity: ReactActivity? = null)
17   fun onAppLoaded(context: ReactContext)
18   fun onAppLoadedWithError()
19   fun getRecentlyOpenedApps(): List<DevLauncherAppEntry>
20   fun clearRecentlyOpenedApps()
21   fun navigateToLauncher()
22   fun getCurrentReactActivityDelegate(activity: ReactActivity, delegateSupplierDevLauncher: DevLauncherReactActivityDelegateSupplier): ReactActivityDelegate
23   fun handleIntent(intent: Intent?, activityToBeInvalidated: ReactActivity?): Boolean
24 
25   val manifest: Manifest?
26   val manifestURL: Uri?
27   val devClientHost: DevLauncherClientHost
28   val mode: DevLauncherController.Mode
29   val appHost: ReactNativeHost
30   val latestLoadedApp: Uri?
31   val useDeveloperSupport: Boolean
32   var updatesInterface: UpdatesInterface?
33   val coroutineScope: CoroutineScope
34 }
35