diff --git a/app/src/main/java/org/mozilla/fenix/components/Components.kt b/app/src/main/java/org/mozilla/fenix/components/Components.kt index 55f7b8035..869317964 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Components.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Components.kt @@ -68,7 +68,9 @@ class Components(private val context: Context) { IntentProcessors( context, core.sessionManager, + core.store, useCases.sessionUseCases, + useCases.tabsUseCases, useCases.searchUseCases, core.relationChecker, core.customTabsStore, diff --git a/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt b/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt index c28a0de53..dd92f560d 100644 --- a/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt +++ b/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.components import android.content.Context import mozilla.components.browser.session.SessionManager +import mozilla.components.browser.state.store.BrowserStore import mozilla.components.feature.customtabs.CustomTabIntentProcessor import mozilla.components.feature.customtabs.store.CustomTabsServiceStore import mozilla.components.feature.intent.processing.TabIntentProcessor @@ -14,6 +15,7 @@ import mozilla.components.feature.pwa.intent.TrustedWebActivityIntentProcessor import mozilla.components.feature.pwa.intent.WebAppIntentProcessor import mozilla.components.feature.search.SearchUseCases import mozilla.components.feature.session.SessionUseCases +import mozilla.components.feature.tabs.TabsUseCases import mozilla.components.service.digitalassetlinks.RelationChecker import mozilla.components.support.migration.MigrationIntentProcessor import mozilla.components.support.migration.state.MigrationStore @@ -30,7 +32,9 @@ import org.mozilla.fenix.utils.Mockable class IntentProcessors( private val context: Context, private val sessionManager: SessionManager, + private val store: BrowserStore, private val sessionUseCases: SessionUseCases, + private val tabsUseCases: TabsUseCases, private val searchUseCases: SearchUseCases, private val relationChecker: RelationChecker, private val customTabsStore: CustomTabsServiceStore, @@ -62,13 +66,12 @@ class IntentProcessors( val externalAppIntentProcessors by lazyMonitored { listOf( TrustedWebActivityIntentProcessor( - sessionManager = sessionManager, - loadUrlUseCase = sessionUseCases.loadUrl, + addNewTabUseCase = tabsUseCases.addTab, packageManager = context.packageManager, relationChecker = relationChecker, store = customTabsStore ), - WebAppIntentProcessor(sessionManager, sessionUseCases.loadUrl, manifestStorage), + WebAppIntentProcessor(store, tabsUseCases.addTab, sessionUseCases.loadUrl, manifestStorage), FennecWebAppIntentProcessor(context, sessionManager, sessionUseCases.loadUrl, manifestStorage) ) } diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/FennecWebAppIntentProcessor.kt b/app/src/main/java/org/mozilla/fenix/customtabs/FennecWebAppIntentProcessor.kt index 81afbc614..ee5c9f94f 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/FennecWebAppIntentProcessor.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/FennecWebAppIntentProcessor.kt @@ -69,7 +69,7 @@ class FennecWebAppIntentProcessor( webAppManifest?.toCustomTabConfig() ?: createFallbackCustomTabConfig() sessionManager.add(session) - loadUrlUseCase(url, session, EngineSession.LoadUrlFlags.external()) + loadUrlUseCase(url, session.id, EngineSession.LoadUrlFlags.external()) intent.putSessionId(session.id) diff --git a/app/src/main/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessor.kt b/app/src/main/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessor.kt index cf3625956..cf37943e9 100644 --- a/app/src/main/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessor.kt +++ b/app/src/main/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessor.kt @@ -44,7 +44,7 @@ class FennecBookmarkShortcutsIntentProcessor( val session = Session(url, private = false, source = SessionState.Source.HOME_SCREEN) sessionManager.add(session, selected = true) - loadUrlUseCase(url, session, EngineSession.LoadUrlFlags.external()) + loadUrlUseCase(url, session.id, EngineSession.LoadUrlFlags.external()) intent.action = ACTION_VIEW intent.putSessionId(session.id) diff --git a/app/src/test/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessorTest.kt b/app/src/test/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessorTest.kt index 8c8751d0f..06f1ffed8 100644 --- a/app/src/test/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/intent/FennecBookmarkShortcutsIntentProcessorTest.kt @@ -66,7 +66,7 @@ class FennecBookmarkShortcutsIntentProcessorTest { assertEquals(expectedSession.id, fennecShortcutsIntent.getSessionId()) verifyAll { sessionManager.add(expectedSession, true) - loadUrlUseCase(testUrl, expectedSession, EngineSession.LoadUrlFlags.external()) + loadUrlUseCase(testUrl, expectedSession.id, EngineSession.LoadUrlFlags.external()) } } }