show open URL dialog when migrating custom tab to browser

This commit is contained in:
Fabian Freund
2026-02-15 05:11:36 +01:00
parent fbbf331057
commit 72dfabe366
@@ -234,13 +234,20 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler
private fun openInBrowser(sessionId: String) { private fun openInBrowser(sessionId: String) {
val activity = requireActivity() val activity = requireActivity()
val store = components.core.store
val url = store.state.findCustomTab(sessionId)?.content?.url ?: return
sessionFeature?.get()?.release() sessionFeature?.get()?.release()
components.useCases.customTabsUseCases.migrate(sessionId, select = true)
val mainIntent = activity.packageManager.getLaunchIntentForPackage(activity.packageName) // Send ACTION_VIEW intent with URL to MainActivity so Flutter shows the Open URL dialog
mainIntent?.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) val mainIntent = Intent(Intent.ACTION_VIEW, android.net.Uri.parse(url)).apply {
mainIntent?.let { activity.startActivity(it) } setClassName(activity, "eu.weblibre.gecko.MainActivity")
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
activity.startActivity(mainIntent)
// Remove the custom tab session (don't migrate it)
components.useCases.customTabsUseCases.remove(sessionId)
activity.finishAndRemoveTask() activity.finishAndRemoveTask()
} }