diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index f518208..9f1ff93 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -35,7 +35,7 @@ android {
applicationId = "com.gridpointcode"
minSdk = 26
targetSdk = 37
- versionCode = 1
+ versionCode = 2
versionName = "0.1.0"
buildConfigField("String", "PACKS", "\"$packs\"")
diff --git a/android/app/src/androidTest/kotlin/com/gridpointcode/ArrivalTest.kt b/android/app/src/androidTest/kotlin/com/gridpointcode/ArrivalTest.kt
index 93ba666..11dd170 100644
--- a/android/app/src/androidTest/kotlin/com/gridpointcode/ArrivalTest.kt
+++ b/android/app/src/androidTest/kotlin/com/gridpointcode/ArrivalTest.kt
@@ -1,12 +1,14 @@
package com.gridpointcode
import android.content.Intent
+import android.content.pm.PackageManager
import android.net.Uri
import androidx.compose.ui.test.onNodeWithText
import androidx.test.core.app.ActivityScenario
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.rule.GrantPermissionRule
import com.gridpointcode.core.formatted
+import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -126,6 +128,23 @@ class ArrivalTest {
reader.assertShowing("G3RJM8X3L1")
}
+ /**
+ * The tests above name the activity, so they never touch the manifest. A
+ * browser does not: it offers only apps whose filter says browsable, and
+ * Play counts a link without it as broken.
+ */
+ @Test
+ fun aBrowserCanHandEachLinkToTheApp() {
+ for (link in listOf("https://gridpointcode.com/play?c=G3RJM8X3L1", "geo:43.649061,-79.371679")) {
+ val tapped = Intent(Intent.ACTION_VIEW, Uri.parse(link))
+ .addCategory(Intent.CATEGORY_BROWSABLE)
+ .setPackage(reader.context.packageName)
+ @Suppress("DEPRECATION")
+ val found = reader.context.packageManager.queryIntentActivities(tapped, PackageManager.MATCH_DEFAULT_ONLY)
+ assertEquals(link, listOf(MainActivity::class.java.name), found.map { it.activityInfo.name })
+ }
+ }
+
@Test
fun textSelectedInAnotherAppOpensItsPlace() {
launch(Intent(Intent.ACTION_PROCESS_TEXT).putExtra(Intent.EXTRA_PROCESS_TEXT, "#G3RJM-8X3L1"))
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 4a412f8..9a86d30 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -57,10 +57,13 @@
-
+
+