Commit graph

1107 commits

Author SHA1 Message Date
Darcy Wong
371bf27101
Merge pull request #3462 from keymanapp/fix/android/version-environment
fix(android/app): Fix environment portion of app version string
2020-08-06 11:45:53 +07:00
Darcy Wong
f7b17640f2 chore(android): Include XML comments for additional context 2020-08-06 11:25:25 +07:00
Darcy Wong
fe09ac73fe fix(android/app): Fix environment portion of app version string
When displaying the Info page of alpha builds from the Play Store, we noticed the version string displayed the wrong environment:
`14.0.X-alpha-local` (CI builds should have ended with `-alpha`).

It turns out  the `VERSION_` shell variables  from `build-utils.sh` aren't visible in `version.gradle` (though CI environment variables like `build_counter` are visible).

This PR:
* Exports the two VERSION strings needed in version.gradle
* Updates the Info page to simply display `BuildConfig.VERSION_NAME`
2020-08-06 10:34:26 +07:00
Darcy Wong
4406ac39da chore(android): Add comments to KMAPro strings.xml 2020-08-05 15:26:46 +07:00
Darcy Wong
45553b77dc chore(android): Add comments to improve string context
For KMEA
2020-08-05 14:31:19 +07:00
Darcy
4ee53152c5 chore(android): Address review comments
* Remove Delphi-specific history folder
* Add comment about similarity to WIndows script
2020-08-05 12:53:36 +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
2020d55bca feat(android): Use staging help site for prerelease builds
* Update build-help.sh to have option of getting content from local, staging, or production help site
* Update Info Activity to choose help host from tier
2020-08-04 14:47:08 +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
c4204fe105
Merge pull request #3449 from keymanapp/feat/android/associate-install-link
feat(android/app): Associate app with /keyboards/install links
2020-08-04 08:41:22 +07:00
Darcy Wong
bd06f79490 chore(android): Adjust regex again 2020-08-04 08:24:44 +07:00
Darcy Wong
1b97aa00d8 fix(android): Split intent filters 2020-08-03 14:59:43 +07:00
Darcy Wong
fe27e73ac7 feat(android/app): Associate app with /keyboards/install links 2020-08-03 13:37:59 +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
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