package expo.modules.devlauncher.react import android.content.Context import com.facebook.react.common.SurfaceDelegateFactory import com.facebook.react.devsupport.DevSupportManagerFactory import com.facebook.react.devsupport.ReactInstanceDevHelper import com.facebook.react.devsupport.ReleaseDevSupportManager import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener import com.facebook.react.devsupport.interfaces.DevLoadingViewManager import com.facebook.react.devsupport.interfaces.DevSupportManager import com.facebook.react.devsupport.interfaces.PausedInDebuggerOverlayManager import com.facebook.react.devsupport.interfaces.RedBoxHandler import com.facebook.react.packagerconnection.RequestHandler class DevLauncherDevSupportManagerFactory : DevSupportManagerFactory { override fun create( applicationContext: Context, reactInstanceManagerHelper: ReactInstanceDevHelper, packagerPathForJSBundleName: String?, enableOnCreate: Boolean, redBoxHandler: RedBoxHandler?, devBundleDownloadListener: DevBundleDownloadListener?, minNumShakes: Int, customPackagerCommandHandlers: Map?, surfaceDelegateFactory: SurfaceDelegateFactory?, devLoadingViewManager: DevLoadingViewManager?, pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager? ): DevSupportManager { throw IllegalStateException("Legacy architecture is not longer supported.") } override fun create( applicationContext: Context, reactInstanceManagerHelper: ReactInstanceDevHelper, packagerPathForJSBundleName: String?, enableOnCreate: Boolean, redBoxHandler: RedBoxHandler?, devBundleDownloadListener: DevBundleDownloadListener?, minNumShakes: Int, customPackagerCommandHandlers: Map?, surfaceDelegateFactory: SurfaceDelegateFactory?, devLoadingViewManager: DevLoadingViewManager?, pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager?, useDevSupport: Boolean ): DevSupportManager { return if (!useDevSupport) { ReleaseDevSupportManager() } else { DevLauncherBridgelessDevSupportManager( applicationContext, reactInstanceManagerHelper, packagerPathForJSBundleName, enableOnCreate, redBoxHandler, devBundleDownloadListener, minNumShakes, customPackagerCommandHandlers?.toMutableMap() ) } } }