Fixes#5397.
This disables the fallback to default keyboard in Keyman Engine for
Android, and prevents a toast from appearing more than once for a given
error. The first five errors will be reported to Sentry and then
subsequent errors will be ignored, until a different keyboard is
selected, to prevent spamming the error log and wasting bandwidth for
the user.
Relates to #949.
* Adds setSpacebarText() API to Keyman Engine for Android
* Adds displayName API to Keyman Engine for Android
* Adds Preference for spacebar text to Keyman for Android
* Sets default spacebar text to keyboard name for FirstVoices Keyboards
This refactors the cross-boundary call to `setKeymanLanguage` to use
JSON wrapping for the content. This is (a) safer, and (b) less mucking
around anyway.
As the build environment documentation is duplicated across each of the
Keyman platform projects, it has become somewhat convoluted and
inconsistent. This PR moves all the mac-based and shared documentation
into docs/build, with placeholders for Windows and Linux documentation
to be moved in the next PR.
The idea is that a developer can configure their box to build any of the
available projects for that platform (web and android build on all three
main dev platforms).
Keeping the build documentation in one place makes it much simpler to
keep it consistent and up-to-date as well, as well as keeping us aware
of potential dependency conflicts between projects.
The icing on the cake is the resources/devbox/macos/macos.sh script,
which I have tested and takes a bare metal mac box through to a full
Keyman development environment (except XCode, there's always something!)
Relates to #5230, #5219.
[Draft]
Adds a silent parameter to the `downloadKMP` function and makes the
install silent for referred keyboards.
However, this is incomplete:
1. We need to be able to control silent levels:
* Completely silent
* Only welcome
* Full install
2. When silentInstall is true, currently welcome is still shown, but the
paging controls are not configured correctly and a blank screen is
shown after install.
Resolves#5219.
Uses the Google Play Install Referrer API to automatically discover the
keyboard to install together with Keyman; this keyboard is passed in a
`referrer` parameter to the Play Store page for the Keyman app from the
Keyman website.