* Update FV build to download nrc.str.sencoten.model.kmp
* Update FV app to install the model
* Rebuild active keyboards list using keyboard info from kmp.json
Follow-on to #3300
* Update the FV Android app to use the same build script to download its default keyboard package. (fv_all.kmp)
* This means downloading fv_all.kmp is the only valid option for the build (remove option to copy/rebuild keyboards)
* Reduce the number of exports in the Bash scripts
* Also removes sil_euro_latin.kmp since the app will fallback to fv_all/sil_euro_latin (in a future PR)
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
This updates how the Keyman app handles URLs for downloading kmp files (in preparation for keyboard picker revamp).
If the URL contains "language" or "platform", those values are propagated for when the kmp gets downloaded. The "languageID" is then used during kmp installation.
Also fixed a few things with URL handling:
* Catch UnsupportedOperationException if the original URL has invalid query parameters
* Handle DownloadIntentService fails
### User Testing:
Load the Keyman app.
Open a Chrome browser and go to the link:
```
keyman://?filename=sil_cameroon_qwerty.kmp&url=https://keyman.com/keyboard/download?id=sil_cameroon_qwerty&language=bbj-Latn&platform=android
```
The KMP should install and use the specified `bbj-Latn` language (Ghomálá').
Normally, sil_cameroon_qwerty defaults to `aal` (Afade).