Commit graph

944 commits

Author SHA1 Message Date
Darcy Wong
2be7449462 fix(android): Update minimum SDK to 21
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.
2020-04-16 11:55:00 +07:00
Darcy Wong
c0ae21d78e
Merge pull request #2984 from keymanapp/feat/android/dismiss-on-back
feat(android): Dismiss system keyboard on Back press
2020-04-15 12:40:20 +07:00
Darcy Wong
75d444e5b9
Merge pull request #2953 from keymanapp/feat/android/keyman-download
feat(android): Download cloud keyboards from https://keyman.com/keyboards
2020-04-15 09:26:36 +07:00
Darcy Wong
a0d1cb0307 feat(android): Only handle keyman:download from Keyman browsers 2020-04-15 09:10:02 +07:00
Darcy Wong
2f11dd8cf6 feat(android): Dismiss system keyboard on Back press
Fixes #2950

Update system keyboard to hide the OSK when Back pressed.
2020-04-14 22:39:21 +07:00
Darcy Wong
1b2cecfa3f feat(android): Update language settings activity for offline 2020-04-14 14:49:07 +07:00
Darcy Wong
406428a1d5 feat(android): Also download dictionary after installing keyboard package 2020-04-14 13:50:58 +07:00
Darcy Wong
e85b380af6 fix(android): Handle default font DejaVuSans.ttf
Fixes #2977

#2928 removed DejaVuSans.ttf but it turns out the font is still needed for:
* sil_euro_latin OSK to render on Android SDK 19 (KitKat)
* the sample apps and possible 3rd party apps may also be referencing the default font
2020-04-10 09:50:33 +07:00
Darcy Wong
32f272ebc7 fix(android): Address more review comments
* Remove handling deprecated keyman:// protocol
* Pass original URL
* lower-case BCP 47 tag when checking for match
* Clean up logic nesting in KMPBrowserActivity
2020-04-09 11:03:50 +07:00
Darcy Wong
703e6afc72 feat(android): Add utility to check for valid keyman schemes 2020-04-08 14:24:28 +07:00
Darcy Wong
b2db224bbc chore(android): Address review comments 2020-04-08 08:35:53 +07:00
Darcy Wong
142d17a5c2 chore(android): Clean up unused string and spacing 2020-04-07 17:20:30 +07:00
Darcy Wong
e8d7615a78 feat(android): Pass language ID to keyboard search 2020-04-07 17:16:28 +07:00
Darcy Wong
f7f73e0ef2 feat(android): Use https://keyman.com/keyboards/ to add keyboards 2020-04-07 15:31:54 +07:00
Darcy Wong
c532e74c1f feat(android): Update WebBrowserActivity to handle keyman:download 2020-04-07 12:30:28 +07:00
Darcy Wong
0219f9ad68 chore(android): Make data a private instance variable
Some code cleanup to address PR comments
2020-04-07 06:45:24 +07:00
Darcy Wong
a084c92456 feat(android): Handle keyman:download scheme for deep linking 2020-04-06 20:39:11 +07:00
Darcy Wong
984d907c92 fix(android): Add check for WRITE_EXTERNAL_STORAGE permissions 2020-04-04 15:37:47 +07:00
Darcy Wong
349246a0d7 chore(android): Document rationale for appending to url 2020-04-03 17:26:26 +07:00
Darcy Wong
a21078327b feat(android): Propagate languageID when downloading kmp
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).
2020-04-03 14:37:53 +07:00
Darcy Wong
d3610ce746 fix(android): Change KeyboardHarness/build.sh to not rebuild KMEA
On CI, the `android/` folder was getting locked because KeyboardHarness/build.sh would rebuild KMEA without passing `-no-daemon`.

This PR updates KeyboardHarness/build.sh to follow KMAPro and Sample apps build.sh scripts and not build KMEA.

KMEA/build.sh also updated to directly copy the artifact to the KeyboardHarness project
2020-04-03 13:14:20 +07:00
Darcy Wong
8d35295766
Merge pull request #2935 from keymanapp/modify/android/sample-kmp
modify(android): Update sample and test projects to install asset kmp's
2020-04-02 20:46:50 +07:00
Darcy Wong
5a38814696 feat(android): Add project and package source file for keyboardharness 2020-04-02 16:18:37 +07:00
Darcy Wong
a9fd474684 fix(android): revert FORCE_RESOURCE_UPDATE that was used for testing 2020-04-02 15:35:58 +07:00
Darcy Wong
152168ba8c modify(android): Update sample and test projects to install asset kmp's
Follow-on to #2928 for KMSample1, KMSample2, and keyboardharness projects.

For KMSample1 and KMSample2, also changed keyboard from deprecated legacy [tamil99m](https://keyman.com/keyboards/tamil99m) to release [basic_kbdtam99]
(https://keyman.com/keyboards/basic_kbdtam99).

For Keyboardharness, manually assembled keyboards into a package.
2020-04-02 10:26:48 +07:00
Darcy Wong
8a5756d59f fix(android): Fix exception in ResourcesUpdateTool
Fixes crashlytic issue
https://console.firebase.google.com/u/1/project/kmapro-ee779/crashlytics/app/android:com.tavultesoft.kmapro/issues/5abd6c9831c913e93eb75d28da472079

which affected many users.

The primary fix was checking the context isn't null.

While updating ResourcesUpdateTool(), also added a cleanup method to clear the notification bar when exiting Keyman.
2020-04-01 15:16:25 +07:00
Darcy Wong
a6717bce1e
Merge pull request #2928 from keymanapp/modify/android/sil-eurolatin
modify(android) Install default asset kmp's
2020-04-01 09:11:04 +07:00
Darcy Wong
26b296f2b0 fix(android): Fix globe button crash on 3rd party apps
Fixes #2786 as reported by user
2020-04-01 07:06:04 +07:00
Darcy Wong
e2155605ae feat(android): Add utility to get lexical model package version 2020-04-01 06:01:21 +07:00
Darcy Wong
03799ded94 modify(android): Install default asset kmp's 2020-03-31 14:32:34 +07:00
Darcy Wong
a9889d51b4 modify(android): move default kmp packages to KMAPro 2020-03-31 11:59:17 +07:00
Darcy Wong
350068d2c4 feat(android): Specify optional language ID for installing kmp 2020-03-31 11:28:45 +07:00
Darcy Wong
4f138d96e8 feat(android): Simplify paths
* also remove parse-crowdin scripts
2020-03-28 07:08:29 +07:00
Darcy Wong
194ac6ab01 fix(android): Override android_code for pap
Prevent Crowdin from exporting to invalid region `pap-rPAP`.
2020-03-26 17:21:24 +07:00
Darcy Wong
ebf08f12ad feat(common): Start to use crowdin CLI (v3) 2020-03-26 16:30:50 +07:00
Joshua Horton
5b7c4cde9b
Update android/KMEA/app/src/main/assets/keyboard.html
Co-Authored-By: Marc Durdin <marc@durdin.net>
2020-03-24 07:40:17 +07:00
jahorton
670aec6376 fix(web): fixes embedded kbd initialization 2020-03-24 07:21:38 +07:00
Joshua Horton
db00713bfc
Merge pull request #2853 from keymanapp/refactor/web/engine/defaultOutput
refactor(web/engine): Modularize default key output handling
2020-03-23 12:53:02 +07:00
Darcy Wong
25fdd3d150 fix(android): Update min SDK versions for sample apps 2020-03-23 09:00:48 +07:00
Darcy Wong
1e708bfc97 fix(android): Fix min SDK version for Sample and Test apps 2020-03-20 12:19:18 +07:00
jahorton
ce4ea781d0 fix(android): prevents double-ENTER physical type bug 2020-03-20 11:19:19 +07:00
Darcy Wong
975821d510
Merge pull request #2816 from keymanapp/feat/android/rtl
feat(android): Start adding RTL to layouts
2020-03-13 08:07:31 +07:00
Darcy Wong
906c7195f0 fix(android): Add layout_marginStart to activity_web_browser 2020-03-13 08:06:10 +07:00
Darcy Wong
fa082bd6a7
Merge pull request #2810 from keymanapp/fix/android/revert-crash-menu
feat(android): Additional Sentry integration
2020-03-13 07:37:42 +07:00
Darcy Wong
d2add9d061 feat(android): Start adding RTL to layouts 2020-03-12 13:53:57 +07:00
Darcy Wong
eb918fe09b feat(android): Enable psudeo locale
To support RTL, this enables the pseudolocales **English (XA)** and **AR (XB)**
2020-03-12 11:58:04 +07:00
Darcy Wong
170033374e fix(android): Move NPE checks 2020-03-11 18:24:25 +07:00
Darcy Wong
1980f6c37f fix(android): Add null check before sending KMW error 2020-03-11 14:24:15 +07:00
Darcy Wong
69bbc73971 feat(android): Additional Sentry integration
Revert intentional crash from #2778

Now that the call stack in Sentry is tested on Release build
http://sentry.keyman.com/organizations/keyman/issues/61/?project=7

The temporary menu to generate the intentional crash can be removed.

Also disable monitoring Application Not Responding (ANR)
2020-03-11 14:00:27 +07:00
Darcy Wong
c44a7c0113 fix(android): Ignore missing quantity for kmapro 2020-03-10 14:52:47 +07:00