diff --git a/app/build.gradle b/app/build.gradle
index f6e6347e0..7bc63cc8f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -45,9 +45,12 @@ android {
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments clearPackageData: 'true'
- manifestPlaceholders.isRaptorEnabled = "false"
resValue "bool", "IS_DEBUG", "false"
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "false"
+ manifestPlaceholders = [
+ "isRaptorEnabled": "false",
+ "deepLinkScheme": "fenix"
+ ]
}
def releaseTemplate = {
@@ -74,10 +77,12 @@ android {
fenixNightly releaseTemplate >> {
applicationIdSuffix ".fenix.nightly"
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
+ manifestPlaceholders = ["deepLinkScheme": "fenix-nightly"]
}
fenixBeta releaseTemplate >> {
applicationIdSuffix ".fenix.beta"
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
+ manifestPlaceholders = ["deepLinkScheme": "fenix-beta"]
}
fenixProduction releaseTemplate >> {
applicationIdSuffix ".fenix"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 65efb553a..716716204 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -77,23 +77,23 @@
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt b/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt
index 3e3c0f69c..cb1a1922e 100644
--- a/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt
+++ b/app/src/main/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessor.kt
@@ -24,7 +24,8 @@ class DeepLinkIntentProcessor(
) : HomeIntentProcessor {
override fun process(intent: Intent, navController: NavController, out: Intent): Boolean {
- return if (intent.scheme == "fenix") {
+ val scheme = intent.scheme?.contains("fenix") ?: return false
+ return if (scheme) {
intent.data?.let { handleDeepLink(it, navController) }
true
} else {
diff --git a/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt b/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt
index 8bd2173fb..1169d7a0b 100644
--- a/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt
+++ b/app/src/test/java/org/mozilla/fenix/home/intent/DeepLinkIntentProcessorTest.kt
@@ -58,6 +58,15 @@ class DeepLinkIntentProcessorTest {
verify { out wasNot Called }
}
+ @Test
+ fun `return true if scheme is a fenix variant`() {
+ assertTrue(processor.process(testIntent("fenix-beta://test"), navController, out))
+
+ verify { activity wasNot Called }
+ verify { navController wasNot Called }
+ verify { out wasNot Called }
+ }
+
@Test
fun `process home deep link`() {
assertTrue(processor.process(testIntent("fenix://home"), navController, out))