Commit graph

654 commits

Author SHA1 Message Date
Darcy Wong
833ad564e3 modify(android): Deprecate some LanguageResource calls
Per review comments
* Deprecate getPackage() for getPackageID()
* Deprecate getLanguage() for getLanguageID()
2020-04-27 12:03:01 +07:00
Darcy Wong
fb2402d1c1 modify(android): Pass Keyboard to KeyboardInfoActivity 2020-04-23 16:31:24 +07:00
Darcy Wong
12682c8b8c modify(android): Refactor Keyboard class to not use Map 2020-04-23 15:42:38 +07:00
Darcy Wong
45c09c23e6 modify(android): Convert LanguageListActivity to utility
* Remove LanguageListActivity and KeyboardListActivity
* Keep utility method `getKeyboardsInfo()`
2020-04-22 16:06:54 +07:00
Darcy Wong
51630d4193 Merge remote-tracking branch 'origin/master' into fix/android/layout 2020-04-21 14:06:41 +07:00
jahorton
c9b9c62a8c fix(android): fixes case where banner is intentionally disabled 2020-04-21 12:49:40 +07:00
jahorton
ead9f6b7b2 fix(android): predictive banner display bugfix 2020-04-21 11:15:50 +07:00
Darcy Wong
d49835038b fix(android): Pass keyboard type 2020-04-20 18:01:39 +07:00
Darcy Wong
3eac52752b fix(android): Only apply relative layout ALIGN_PARENT_BOTTOM for inapp keyboard 2020-04-20 15:24:06 +07:00
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
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
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
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
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
a9fd474684 fix(android): revert FORCE_RESOURCE_UPDATE that was used for testing 2020-04-02 15:35:58 +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
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
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
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
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
eeed1a87c7 feat(android): Update build to ignore implied/missing quantities 2020-03-10 14:29:34 +07:00
Darcy Wong
e4aa24569d feat(android): Move intentional crash to temp menu 2020-03-10 09:55:17 +07:00
Darcy Wong
3e90edaa52 test(android): Change shouldUpdateTrueCallTest to span 2 days 2020-03-09 11:33:15 +07:00
Darcy Wong
19bab80487 fix(android): Adjust CI test result location 2020-03-09 10:06:39 +07:00
Darcy Wong
059dac554c fix(android): Add quotes to BUILD_FLAGS 2020-03-09 07:50:12 +07:00
Darcy Wong
44c25b3d6c feat(android): Don't send Sentry event for addKeyboard 2020-03-06 14:29:37 +07:00
Darcy Wong
7d635ac14e test(android): Add temporary code to force crash
This is temporary code for inducing crashes for testing Sentry with the nightly alpha build.
2020-03-06 09:12:15 +07:00
Darcy Wong
19a2aea9ad fix(android): Fix build.sh to run unit tests 2020-03-06 06:15:17 +07:00
Darcy Wong
594306032c chore(android): Cleanup commented code 2020-03-05 16:23:38 +07:00
Darcy Wong
5a7b603698 feat(android): Cleanup unnecessary parts for symbols 2020-03-05 16:15:50 +07:00