Commit graph

775 commits

Author SHA1 Message Date
Darcy Wong
80fb43afda fix(android): Fix crashes involving Keyboard Picker
This fixes the null-pointer-exceptions reported in Crashlytics
* [MapCompat](https://console.firebase.google.com/u/0/project/kmapro-ee779/crashlytics/app/android:com.tavultesoft.kmapro/issues/d1bbc6248a6cf73a4a2607646670a73b?time=last-seven-days&sessionId=5F43249600B0000169B855CBEB66027A_DNE_0_v2)
* [KeyboardPickerActivity](https://console.firebase.google.com/u/0/project/kmapro-ee779/crashlytics/app/android:com.tavultesoft.kmapro/issues/f0e89e2ad194b4d55394461f07dbed92?time=last-seven-days&sessionId=5F42B17B01DB00011DEB0D57B0E2AF4E_DNE_0_v2)
2020-08-24 13:34:55 +07:00
Darcy Wong
79812e2e74
Merge pull request #3481 from keymanapp/feat/android/package-processor-keyboard-info
feat(android/app): Add language picker for keyboard package installation
2020-08-21 10:01:17 +07:00
Darcy Wong
981a72ac6f fix(android): Fix util to getting the tier on CI builds
The regex in KMManager.getTier() is incorrect for CI versions because of an extra `-`.

A local development version string `14.0.248-alpha-local` would correctly return Tier.ALPHA, but a CI build `14.0.248-alpha` would return Tier.STABLE
2020-08-19 09:02:37 +07:00
Darcy Wong
64b723a565 fix(android): Use bottom nav bar 2020-08-18 10:17:02 +07:00
Darcy Wong
bb45346c5d fix(android): Adjust titlebar UI 2020-08-17 09:46:49 +07:00
Darcy Wong
cd1daf4c7e feat(android): Use language lists for processing KMP 2020-08-17 07:51:00 +07:00
Darcy Wong
d34e568607 fix(android): UI changes for SelectLanguageActivity
* Sort by language name
* Show language picker when a keyboard package has 1 keyboard with multiple languages
* Don't display the BCP 47 language ID or right arrows
2020-08-17 07:50:45 +07:00
Darcy Wong
a368e1abc1 fix(android): UI changes
* Move button to below title bar
* Update title strings
* Use back button for "Cancel" action
* Use index for PackageProcesor utilities
2020-08-13 15:32:25 +07:00
Darcy Wong
69e0454009 feat(android/app): Add UX to pick language when installing keyboard pkg 2020-08-13 15:07:15 +07:00
Darcy Wong
de21237ec8 fix(android): Update sentry plugin to remove obsolete API use
Fixes #3460
2020-08-07 13:07:46 +07:00
Darcy Wong
f75187d02b fix(android): Update Gradle wrapper to 5.6.4
This updates the gradle-wrappers for KMEA, KMAPro, and FV app. Gradle version kept at 5.6.4

gradle files auto-generated with:
```
./gradlew wrapper --gradle-version 5.6.4
```
(And changing shebang to `#!/bin/bash`)
2020-08-07 08:51:01 +07:00
Darcy Wong
f7b17640f2 chore(android): Include XML comments for additional context 2020-08-06 11:25:25 +07:00
Darcy Wong
45553b77dc chore(android): Add comments to improve string context
For KMEA
2020-08-05 14:31:19 +07:00
Darcy Wong
bcfb614ccd chore(android): Add script to find unused strings. Manually remove them
Similar to #3412

1. Adds a similar script from Windows to identify unused Android strings (from KMAPro and KMEA strings.xml)
2. Remove the unused strings from strings.xml

As part of the manual cleanup, consolidated the strings `missing_metadata` and `invalid_metadata`.

Also changed string name `model` to a more specific  `model_label`
2020-08-05 11:51:15 +07:00
Darcy Wong
ee63f227df chore(android): Use review suggestions 2020-08-05 08:03:04 +07:00
Darcy Wong
435278845a chore(android): Merge remote-tracking branch 'origin/master' into fix/android/cleanup-string-format 2020-08-05 07:40:09 +07:00
Darcy Wong
c3e60132b7
Merge pull request #3439 from keymanapp/fix/android/handle-links
fix(android): Update KMPBrowser to pass external links to user browser
2020-08-04 13:21:24 +07:00
Darcy Wong
f049b37db7 fix(android): Cleanup string formatting with strings.xml 2020-08-04 13:00:20 +07:00
Darcy Wong
bd06f79490 chore(android): Adjust regex again 2020-08-04 08:24:44 +07:00
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
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
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
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
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
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
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
477cb11349 fix(android): Download associated lexical model 2020-07-03 08:09:33 +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 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