Commit graph

1576 commits

Author SHA1 Message Date
Darcy Wong
065fdbc434
Merge pull request #6047 from keymanapp/chore/common/crowdin-kr
chore(common): Check in crowdin strings for Kanuri 📜
2022-01-12 09:42:07 +07:00
Darcy Wong
4b29959897
Merge pull request #6082 from keymanapp/chore/android/lint-kmsample2
chore(android/samples): Add -no-daemon flag to KMSample2 build script
2022-01-10 14:00:37 +07:00
Darcy Wong
e0ef491cdd
Update android/Samples/KMSample2/build.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-01-06 06:59:45 +07:00
Darcy Wong
97c2a61870 chore(android): Add no-daemon flag to build script 2022-01-05 14:59:31 +07:00
Darcy Wong
57d8929eca chore(common): Check in crowdin strings for Kanuri
This checks in the crowdin strings for the locale `kr` for Kanuri.
Does not include macOS.

TODO: Check on adding kr-NG locale in XCode
2021-12-15 09:57:54 +07:00
Darcy Wong
2a2ed6c01a chore(common): Update crowdin strings for Amharic 2021-12-13 13:38:00 +07:00
Darcy Wong
aa75e6b583
Merge pull request #5987 from keymanapp/fix/android/smp-longpress-api-21
fix(android/engine): Fix font paths
2021-12-02 10:14:46 +07:00
Darcy Wong
349074d58f chore(android): Document switching to other system keyboard 2021-12-01 10:13:10 +07:00
Darcy Wong
46d5964587
Merge pull request #5979 from keymanapp/fix/android/lint-error-kmsample
chore(android): Specify build tools version on other projects
2021-12-01 09:51:10 +07:00
Darcy Wong
f9b9a0bd2b
Merge pull request #5973 from keymanapp/feat/android/keyboard-picker-plus-ime
feat(android/engine): Add other IME's to the Keyboard Picker menu
2021-12-01 08:28:41 +07:00
Darcy Wong
7aa1576347 fix(android/engine): Fix font paths 2021-11-30 15:14:53 +07:00
Darcy Wong
3dcb2ea268 chore(android): Specify build tools version on other projects
While Android Studio Gradle plugin should automatically use a default version of build tools, we can specify it:
https://developer.android.com/studio/releases/build-tools

Attempting to resolve lint exceptions on the build agent.
2021-11-29 10:57:54 +07:00
Darcy Wong
7b80c25dfe chore(android/engine): Add note about removing "Close Keyman" button 2021-11-25 13:13:01 +07:00
Darcy Wong
951ee7f6f7 feat(android/engine): Add permission to query other IME's
Permission needed for Android 11
See https://developer.android.com/training/package-visibility/declaring#intent-filter-signature
2021-11-25 13:13:01 +07:00
Darcy Wong
cff749559e feat(android/engine): Add other input methods to Keyboard Picker 2021-11-25 13:13:01 +07:00
Marc Durdin
909d833474 fix(web): improve keyboard switch performance
Summary of these changes:

Two targeted improvements; more optimization is possible but IMO this is
a significant enough improvement to go through test:

1. In oskView.ts, avoid calling `VisualKeyboard.refreshLayout` twice
   from `OSKView.refreshLayout`. This roughly halves the time spent in
   `VisualKeyboard.refreshLayout` for a keyboard switch.
2. In modelManager.ts, we avoid a very expensive `unloadModel` /
   `loadModel` sequence from `registerModel` by checking to see if the
   model spec we are passed is already registered. This avoids an
   expensive callback to Keyman for Android which causes the banner to
   'bounce'.

Longer notes:

So `VisualKeyboard.refreshLayout` is called 20+ times during a keyboard
switch. It is a very expensive call. It is the bulk of the time spent
when you press the globe key in Keyman for Android. This seems ripe for
optimization; see the following functions in keyboard.html:

* `setKeymanLanguage` -> `setActiveKeyboard` -> 6 calls
* `enableSuggestions` -> `registerModel` -> 8 calls
* `stateChange` -> 6+ calls

`OSKView.refreshLayout` always seems to call
`VisualKeyboard.refreshLayout` twice: first with `setSize`, and then
again itself.

Keyman for Android and KeymanWeb seem to fight over who is responsible
for selecting models (KMW first calls `loadModel`, then Keyman for
Android calls `unloadModel`, `loadModel`, through `enableSuggestions`).

The fix for rotation (`correctOSKTextSize()`), as called from
`stateChange()`, is expensive as well, because it rebuilds the entire
keyboard from scratch.

Along with that, we have the size of the webview changing as the model
is unloaded and reloaded and lots of back-and-forth between the
KeymanWeb and KMEA which seems unnecessary.

Shouldn't KeymanWeb be responsible for loading and unloading models,
once they are all registered? We should only need to register the models
once at page load time (when config changes, do we just reload the
page?).
2021-11-22 10:47:05 +11:00
Darcy Wong
1e50270b5b
Merge pull request #5913 from keymanapp/fix/android/2858-key-text
fix(android/engine): Support for U_xxxx_yyyy subkeys
2021-11-18 11:47:53 +07:00
Darcy Wong
ec079a9373 fix(android/engine): Add additional check 2021-11-18 11:00:57 +07:00
Darcy Wong
c98ac9880c
Merge pull request #5841 from keymanapp/chore/common/crowdin-ff-ng
chore(common): Check in crowdin strings for Fulfulde Nigeria
2021-11-17 09:24:35 +07:00
Darcy Wong
31b4fee7d0
Merge pull request #5857 from keymanapp/common/crowdin-mfi
chore(common): Check in crowdin strings for Mandara (Wandala)
2021-11-16 09:24:07 +07:00
Darcy Wong
190e2ed356 chore(android/engine): Reformat preamble 2021-11-16 09:01:02 +07:00
Darcy Wong
1105839199 fix(android/engine): Split U_XXXX_YYYY key cap 2021-11-15 15:31:32 +07:00
Darcy Wong
a44b300adb Merge remote-tracking branch 'origin/master' into chore/common/crowdin-ff-ng 2021-11-15 09:15:43 +07:00
Darcy Wong
0c03a8b65a
Merge pull request #5839 from keymanapp/chore/common/crowdin-bwr
chore(android,linux,windows): Check in crowdin strings for Bura-Pabir
2021-11-15 08:10:31 +07:00
Darcy Wong
5aba540ca3 fix(android/app): Revert test code 2021-11-12 09:20:57 +07:00
Darcy Wong
ad4412fe44
Merge pull request #5849 from keymanapp/fix/android/file-not-found
fix(android/app): Check KMP file exists before attempting to extract
2021-11-12 07:34:12 +07:00
Darcy Wong
73d7f43736
Merge pull request #5878 from keymanapp/fix/android/truncate-name-keyboard-picker
fix(android/engine): Truncate language name in list
2021-11-12 07:33:48 +07:00
Darcy Wong
7de5c724d8 Merge remote-tracking branch 'origin/master' into common/crowdin-mfi 2021-11-08 07:50:59 +07:00
Darcy Wong
5b9cc959fe chore(common): Merge remote-tracking branch 'origin/master' into chore/common/crowdin-ff-ng 2021-11-08 07:30:10 +07:00
Darcy Wong
0c19f04245 chore(common): Merge remote-tracking branch 'origin/master' into chore/common/crowdin-bwr 2021-11-08 07:28:53 +07:00
Darcy Wong
bc9573abea fix(android/engine): Truncate language name in list 2021-11-03 16:23:59 +07:00
Darcy Wong
330111124f
Merge pull request #5838 from keymanapp/feat/android/uninstall-sil-euro-latin
feat(android): Allow uninstall of sil_euro_latin keyboard
2021-11-03 09:02:43 +07:00
Darcy Wong
a0228c6c30 chore(common): Check in crowdin strings for Mandara (Wandala) 2021-10-26 15:18:51 +07:00
Darcy Wong
6fb6238ea9 chore(android): Add test code to remove kmp file 2021-10-22 15:17:00 +07:00
Darcy Wong
016b724d16 fix(android): Check kmp file exists before extracting 2021-10-22 15:16:33 +07:00
Darcy Wong
dddfc8c64c chore(common): Check in crowdin strings for Fulfulde Nigeria
These use the locale `ff-NG` in contrast to the existing Pulaar-Fulfulde locale `ff-ZA`.
2021-10-20 11:18:22 +07:00
Darcy Wong
d54ba65eb4 chore(common): Check in crowdin strings for Bura-Pabir 2021-10-19 16:14:03 +07:00
Darcy Wong
2113bebcf7 feat(android): Allow uninstall of sil_euro_latin keyboard 2021-10-19 15:03:34 +07:00
Darcy Wong
e3791801d2 chore(android): Revert "chore(android/engine): Add test code to not allow setting keyboard"
This reverts commit 140e45d937.
2021-10-19 13:54:24 +07:00
Darcy Wong
140e45d937 chore(android/engine): Add test code to not allow setting keyboard 2021-10-18 09:55:03 +07:00
Darcy Wong
ce2a3081c3 chore(android/engine): Don't switch keyboard if not allowed
Clean up TODO
2021-10-18 09:42:17 +07:00
Darcy Wong
c5005728da Merge remote-tracking branch 'origin/master' into chore/common/crowdin-ha 2021-10-16 16:03:29 +07:00
Marc Durdin
024a36da9f
Merge pull request #5787 from keymanapp/chore/sentry-io
chore: sentry.io dsn 👮‍♂️
2021-10-06 07:32:43 +11:00
Darcy Wong
921dff58b1
Merge pull request #5752 from keymanapp/fix/android/engine-permissions
fix(android/engine): Remove unnecessary permissions from Manifest
2021-10-05 09:41:51 +07:00
Marc Durdin
3219b44624 chore: sentry.io dsn 2021-10-04 15:01:36 +11:00
Darcy Wong
55bd82ecd7
Merge pull request #5722 from keymanapp/chore/common/crowdin-update-am
chore(ios,android,windows): Update crowdin strings for Amharic
2021-10-01 06:53:36 +07:00
Darcy Wong
ef1be0cecb chore(common): Check in crowdin strings for Hausa 2021-09-29 10:47:56 +07:00
Darcy Wong
0d366637a8 chore(android,windows): Update Amharic strings 2021-09-29 10:20:28 +07:00
Darcy Wong
db7e7beec4
Merge pull request #5734 from keymanapp/chore/common/crowdin-shu-latn-ng
chore(common): Check in crowdin strings for Shuwa Latin
2021-09-29 09:18:10 +07:00
Darcy Wong
a69c802a1e fix(android/engine): Remove ACCESS_NETWORK_STATE permission 2021-09-28 13:33:12 +07:00