diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml index 8161de6d7..625795d40 100644 --- a/app/src/debug/AndroidManifest.xml +++ b/app/src/debug/AndroidManifest.xml @@ -13,9 +13,22 @@ - + - \ No newline at end of file + android:name="org.mozilla.fenix.DebugFenixApplication"> + + + + + + + + + + + + + diff --git a/app/src/fenixNightly/AndroidManifest.xml b/app/src/fenixNightly/AndroidManifest.xml new file mode 100644 index 000000000..5fdb32de4 --- /dev/null +++ b/app/src/fenixNightly/AndroidManifest.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + 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 c45714241..298181e6d 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Components.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Components.kt @@ -31,7 +31,14 @@ class Components(private val context: Context) { ) } val intentProcessors by lazy { - IntentProcessors(context, core.sessionManager, useCases.sessionUseCases, useCases.searchUseCases) + IntentProcessors( + context, + core.sessionManager, + useCases.sessionUseCases, + useCases.searchUseCases, + core.client, + core.customTabsStore + ) } val analytics by lazy { Analytics(context) } val publicSuffixList by lazy { PublicSuffixList(context) } 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 59e7c14c9..230b12611 100644 --- a/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt +++ b/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt @@ -6,12 +6,16 @@ package org.mozilla.fenix.components import android.content.Context import mozilla.components.browser.session.SessionManager +import mozilla.components.concept.fetch.Client import mozilla.components.feature.customtabs.CustomTabIntentProcessor +import mozilla.components.feature.customtabs.store.CustomTabsServiceStore import mozilla.components.feature.intent.processing.TabIntentProcessor import mozilla.components.feature.pwa.ManifestStorage import mozilla.components.feature.pwa.intent.WebAppIntentProcessor +import mozilla.components.feature.pwa.intent.TrustedWebActivityIntentProcessor import mozilla.components.feature.search.SearchUseCases import mozilla.components.feature.session.SessionUseCases +import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.test.Mockable /** @@ -22,7 +26,9 @@ class IntentProcessors( private val context: Context, private val sessionManager: SessionManager, private val sessionUseCases: SessionUseCases, - private val searchUseCases: SearchUseCases + private val searchUseCases: SearchUseCases, + private val httpClient: Client, + private val customTabsStore: CustomTabsServiceStore ) { /** * Provides intent processing functionality for ACTION_VIEW and ACTION_SEND intents. @@ -40,6 +46,14 @@ class IntentProcessors( val externalAppIntentProcessors by lazy { listOf( + TrustedWebActivityIntentProcessor( + sessionManager = sessionManager, + loadUrlUseCase = sessionUseCases.loadUrl, + httpClient = httpClient, + packageManager = context.packageManager, + apiKey = BuildConfig.DIGITAL_ASSET_LINKS_TOKEN, + store = customTabsStore + ), WebAppIntentProcessor(sessionManager, sessionUseCases.loadUrl, ManifestStorage(context)), CustomTabIntentProcessor(sessionManager, sessionUseCases.loadUrl, context.resources) ) diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsService.kt b/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsService.kt index 8ed621ca6..3254d72fa 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsService.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsService.kt @@ -6,9 +6,12 @@ package org.mozilla.fenix.customtabs import mozilla.components.concept.engine.Engine import mozilla.components.feature.customtabs.AbstractCustomTabsService +import org.mozilla.fenix.BuildConfig.DIGITAL_ASSET_LINKS_TOKEN import org.mozilla.fenix.ext.components class CustomTabsService : AbstractCustomTabsService() { override val engine: Engine by lazy { applicationContext.components.core.engine } override val customTabsServiceStore by lazy { applicationContext.components.core.customTabsStore } + override val httpClient by lazy { applicationContext.components.core.client } + override val apiKey: String? = DIGITAL_ASSET_LINKS_TOKEN }