From 1dc785b20318911425f4437a4fcb494151122311 Mon Sep 17 00:00:00 2001 From: Joshua Horton Date: Tue, 18 Aug 2026 14:35:40 -0500 Subject: [PATCH] fix(android): fix deep links for keyman.com-based downloads Build-bot: skip release:android --- .../kMAPro/src/main/AndroidManifest.xml | 46 +++++++++++++++---- .../java/com/keyman/engine/util/KMPLink.java | 2 +- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/android/KMAPro/kMAPro/src/main/AndroidManifest.xml b/android/KMAPro/kMAPro/src/main/AndroidManifest.xml index ed23e920d96..2ee5cfbe5ac 100644 --- a/android/KMAPro/kMAPro/src/main/AndroidManifest.xml +++ b/android/KMAPro/kMAPro/src/main/AndroidManifest.xml @@ -209,16 +209,46 @@ - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/KMEA/app/src/main/java/com/keyman/engine/util/KMPLink.java b/android/KMEA/app/src/main/java/com/keyman/engine/util/KMPLink.java index c26b64776d9..586ff171f3b 100644 --- a/android/KMEA/app/src/main/java/com/keyman/engine/util/KMPLink.java +++ b/android/KMEA/app/src/main/java/com/keyman/engine/util/KMPLink.java @@ -23,7 +23,7 @@ public final class KMPLink { public static final String KMP_PRODUCTION_HOST = "keyman.com"; public static final String KMP_STAGING_HOST = "keyman.com"; // #7227 disabling: "keyman-staging.com"; - private static final String KMP_INSTALL_KEYBOARDS_PATTERN_FORMATSTR = "^http(s)?://(%s|%s)/keyboards/install/([^\\?/]+)(\\?(.+))?$"; + private static final String KMP_INSTALL_KEYBOARDS_PATTERN_FORMATSTR = "^http(s)?://(%s|%s)/[^/]*/keyboards/install/([^\\?/]+)(\\?(.+))?$"; private static final String installPatternFormatStr = KMString.format(KMP_INSTALL_KEYBOARDS_PATTERN_FORMATSTR, KMP_PRODUCTION_HOST, KMP_STAGING_HOST);