Commit graph

2841 commits

Author SHA1 Message Date
Darcy Wong
94ffd8932e fix(android): Fix KMTextView to compile on Linux
The project wasn't building on Linux because of a missing super() call.

Also updated the README about installing jq on Linux.
2020-08-02 08:00:08 +07:00
Darcy Wong
88b5604757 chore(android): Fix regex again
Since keyboards can be followed by keyboard page or query, I needed to make regex `(/?.*)$`
2020-07-31 15:14:24 +07:00
Darcy Wong
591c87122e
Update android/KMEA/app/src/main/java/com/tavultesoft/kmea/KMPBrowserActivity.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2020-07-31 14:55:07 +07:00
Darcy Wong
8c6ca055e2 chore(android): Remove unnecessary escaping slash 2020-07-31 14:16:50 +07:00
Darcy Wong
c927ed6855 fix(android): Update KMPBrowser to pass external links to user browser 2020-07-31 13:44:11 +07:00
Darcy Wong
91d0836f1c
Merge pull request #3431 from keymanapp/feat/android/app-association
feat(android): Add app association to keyman.com
2020-07-31 07:02:37 +07:00
Darcy Wong
5256ddb5de feat(android): Add app association to keyman.com
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.
2020-07-30 13:11:15 +07:00
Darcy Wong
cebab4c060 feat(android): Use api.keyman-staging.com for pre-release builds
Now that api.keyman-staging.com is available, this updates the cloud queries to use the applicable api.keyman.com site depending n the tier.

* Change from `KMKeyboardDownloaderActivity.kKeymanApiModelURL` to `CloudRepository.API_MODEL_FORMATSTR`
* Change from `KMKeyboardDownloaderActivity.kKeymanApiPackageVersionURL` to `CloudRepository.API_PACKAGE_VERSION_FORMATSTR`
2020-07-29 15:50:07 +07:00
Marc Durdin
e71017a0ad
Merge pull request #3413 from keymanapp/feat/windows/generate-message-consts-at-build
feat(windows): generate message consts at build time
2020-07-29 14:09:23 +10:00
Marc Durdin
66a2d9b350 chore: unify crowdin.yml
This is groundwork for most likely using the Crowdin Github integration
and should simplify the management, I hope...
2020-07-29 10:21:51 +10:00
Darcy Wong
257efec3d5 fix(android): Remove 13.0 code for downloading keyboards 2020-07-28 14:11:24 +07:00
Darcy Wong
c2a0d68b14 fix(android): Address review comments
* 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
2020-07-27 13:57:49 +07:00
Darcy Wong
a41fb079a5 chore(android): Merge remote-tracking branch 'origin/master' into fix/android/go-download-keyboards 2020-07-26 21:02:25 +07:00
Darcy Wong
b794eab191 fix(android): Revert AndroidManifest
From PR discussion, the app should change the keyboards/install link (not display in browser) into a downloading link that MainActivity handles
2020-07-17 11:27:41 +07:00
Darcy Wong
eb51b8cc55 fix(android): Update intent filter for /keyboards/install
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
2020-07-16 13:47:16 +07:00
Darcy Wong
90b25ed673 fix(android/engine): Update deprecated call to switch system keyboard for Android P 2020-07-15 14:14:29 +07:00
Darcy Wong
bd56dcbce9 fix(android): Adjust regex to match spec
Update keyboard install regex to match the Keyman Universal Link URL pattern
2020-07-15 11:09:38 +07:00
Darcy Wong
239c632dbe chore(android): Cleanup 2020-07-15 09:48:32 +07:00
Darcy Wong
d823050908 chore(android): Add a unit test with BCP 47 tag that has script 2020-07-15 08:54:05 +07:00
Darcy Wong
d1ac23105c fix(android): Fix intent and parsing of URL query
* 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
*
2020-07-15 06:32:17 +07:00
Darcy Wong
eb93f5c305 fix(android): Refactor check on kmp links 2020-07-14 21:34:02 +07:00
Darcy Wong
e88e3ca5a1 fix(android): Fix regression for handling .kmp links 2020-07-14 15:50:51 +07:00
Darcy Wong
10f503660d fix(android): Handle go/package/download links 2020-07-13 21:57:51 +07:00
Darcy Wong
d575ed9bab fix(android/engine): Update intents for downloading keyboards 2020-07-13 14:28:07 +07:00
Darcy Wong
21b85eb04e fix(android): Use go/ links for keyboard search 2020-07-13 09:25:00 +07:00
Darcy Wong
8bb8fe4c92 feat(android/oem): Add nrc.str.sencoten to FV app
* 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
2020-07-10 08:55:53 +07:00
Darcy Wong
303873b64f fix(android): Add to KMManager API
Add getDefaultKeyboard() and setDefaultKeyboard() to KMManager API.
2020-07-09 10:55:41 +07:00
Darcy Wong
2e240591a3 chore(android): Address review comments
getDefaultKeyboard()
* Assert `context`is not null

setDefaultKeyboard()
* Allow null Keyboard to revert to sil_euro_latin

FV MainActivity
* Define constant for default package ID
2020-07-09 10:52:09 +07:00
Darcy Wong
3f21471739 chore(android): Merge remote-tracking branch 'origin/master' into fix/android/set-fallback-keyboard 2020-07-09 10:36:11 +07:00
Darcy Wong
ec016f850f fix(android/oem): Add a fallback keyboard to FV Android app
The FV Android app has a workflow where it's possible on a fresh install for the user to set FV as a system keyboard before checking (adding) any of the FV keyboards.

This makes the keyboard list empty, and KMManager throws an exception trying to set a keyboard.

This PR adds `Keyboard.setDefaultKeyboard()` so an app can specify a fallback keyboard. If never set, KMEA uses sil_euro_latin/sil_euro_latin.

The FV app will fall back to fv_all/sil_euro_latin
2020-07-08 16:23:07 +07:00
Darcy Wong
ef11647b5a feat(android): Use build-download-resources.sh for KMApro and FV apps
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)
2020-07-08 14:03:02 +07:00
Darcy Wong
95c4b914d4 chore(android): Remove unused import of JSONArray 2020-07-08 13:17:03 +07:00
Darcy Wong
6b0e280b08 fix(android): Update logger to handle generic object
Per review comment, make logger `LogExceptionWithData` to handle generic Object. This will print out the object as a string in the error log to Sentry.
2020-07-08 10:36:54 +07:00
Darcy Wong
7a5b9e8069 feat(android): Add additional info on installed keyboards exceptions 2020-07-07 15:35:14 +07:00
Darcy Wong
8d8e243cc4 chore(android): Merge remote-tracking branch 'origin/master' into fix/android/download-associated-dictionary 2020-07-03 11:50:41 +07:00
Darcy Wong
0caaf6b4f6 fix(android/engine): Fix unbound variable in build script 2020-07-03 11:07:40 +07:00
Darcy Wong
9903c92c7a chore(android): Cleanup 2020-07-03 08:59:22 +07:00
Darcy Wong
477cb11349 fix(android): Download associated lexical model 2020-07-03 08:09:33 +07:00
Darcy Wong
3d273a37e6
Merge pull request #3300 from keymanapp/feat/android/download-resources
feat(android): Download default resources at build time
2020-07-03 06:30:29 +07:00
Darcy Wong
4b153468f9 fix(android): Avoid build-utils.sh from getting called multiple times 2020-07-01 15:36:02 +07:00
Darcy
7150931dab fix(android): Address review comments 2020-07-01 11:50:31 +07:00
Darcy
96a8e195c1 fix(android): revert language query change 2020-07-01 10:01:50 +07:00
Darcy Wong
b302af9195 fix(android/app): Update environment vars 2020-07-01 08:36:12 +07:00
Darcy Wong
353288ad5f chore(android): Ignore default KMAPro packages 2020-06-30 16:12:53 +07:00
Darcy Wong
63857437d0 feat(android/resources): Split package download to resources/ scriipt 2020-06-30 16:11:20 +07:00
Darcy Wong
8d8cf035b9 feat(android): Download default resources at build time
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.
2020-06-30 13:19:02 +07:00
Darcy Wong
830dcf66d7 fix(android): Update query for language
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
2020-06-29 16:19:45 +07:00
Darcy Wong
6e152f5797 fix(android): Update embed to android 2020-06-29 13:03:28 +07:00
Darcy Wong
0c18e9a38c fix(android): Use tier to determine keyboard search host 2020-06-29 10:36:38 +07:00
Darcy Wong
6e2770535f feat(android): SelectLanguage title depends on installed list 2020-06-19 13:21:26 +07:00