Commit graph

956 commits

Author SHA1 Message Date
Darcy Wong
3023b8759c
Merge pull request #3020 from keymanapp/modify/android/keyboard-info
modify(android): Refactor Keyboard class to not use Map
2020-04-27 13:23:07 +07:00
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
e08e6eb797 fix(android): Clarify label that shows "Get Started" on startup
PR #2751 cleaned up UI strings, changing the label from `Show "Get Started" on startup` to `Show this menu on startup`. This change was fine for "Get Started" menu, but the label is confusing when reused on the Keyman Settings menu.

This PR reverts the label (while formatting the string to include the localized string for "Get Started".
2020-04-24 09:39:03 +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
17db64db9f modify(android): Change "Get Started" keyboard picker
Since we're getting away from using the cloud keyboard catalog for adding keyboards, this changes the "Get Started" option "Add a keyboard for your language" to bring up the embedded keyboard search activity.
2020-04-21 21:08:10 +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
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