Following the reference from https://developer.android.com/training/app-links/verify-site-associations
> When `android:autoVerify="true"` is present on any one of your intent filters, installing your app on devices with Android 6.0 and higher causes the system to attempt to verify all hosts associated with the URLs in any of your app's intent filters.
* Use URI to handle query parameters instead of strings
Also in resuming work on the PR
* Change the staging host to keyman-staging.com
* Move helper for determining host
Address some review comments:
* Update intent filter to use /keyboards/install (/go/packge/download commented out)
* Add some test cases to for testing Keyman install link
* Add intent to handle download links from current live site: https://keyman.com/keyboard/download/
* Fix parsing of bcp47 query
* Only use the path for determining filename from packageID
*
Similar to the OEM FirstVoices Android app, this updates the KMAPro `build.sh` script to download the latest default language resources (keyboard and dictionary) as part of the build process.
This small PR adjusts the language query (if given) to specify BCP 47 match.
Also makes the PackgeActivity title font size smaller so the string "Install Keyboard Package version X.Y.Z" fits
PR #2751 cleaned up UI strings, changing the label from `Show "Get Started" on startup` to `Show this menu on startup`. This change was fine for "Get Started" menu, but the label is confusing when reused on the Keyman Settings menu.
This PR reverts the label (while formatting the string to include the localized string for "Get Started".
Since we're getting away from using the cloud keyboard catalog for adding keyboards, this changes the "Get Started" option "Add a keyboard for your language" to bring up the embedded keyboard search activity.
Fixes#2989
This updates the minimum supported Android SDK to 21 (Lollipop). This applies to KMEA, KMAPro, Sample Apps, KeyboardHarness, and FV Android app.
Tests/keyCode doesn't use KMEA so no change there.
* Remove handling deprecated keyman:// protocol
* Pass original URL
* lower-case BCP 47 tag when checking for match
* Clean up logic nesting in KMPBrowserActivity