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
Darcy Wong
23700e284f
chore(android/engine): Move comment
2021-09-28 09:34:55 +07:00
Darcy Wong
d744c62c93
fix(android/engine): Remove unnecessary permissions from Manifest
2021-09-27 14:59:21 +07:00
Darcy Wong
fa0b973aee
chore(common): Update strings
2021-09-24 07:02:22 +07:00
Darcy Wong
cc6f790dba
chore(android/app): Remove runConfigruations.xml file
2021-09-23 10:09:43 +07:00
Darcy Wong
d089b962af
chore(common): Check in crowdin strings for Shuwa Latin
2021-09-21 14:42:58 +07:00
Darcy Wong
dd15e68a0e
Merge pull request #5681 from keymanapp/chore/common/crowdin-zh
...
chore(common): Check in crowdin strings for Simplified Chinese
2021-09-21 07:14:42 +07:00
Darcy Wong
52b67b9d6f
chore(ios,android): Update crowdin strings for Amharic
2021-09-20 09:36:18 +07:00
Darcy Wong
349ed55840
chore(common): Update strings
...
* also includes untranslated strings (fallback to English)
2021-09-16 08:29:29 +07:00
Darcy Wong
0a4d94dae7
chore(common): Skip untranslated strings
2021-09-14 07:45:49 +07:00
Darcy Wong
091628aed2
chore(common): Update additional strings
2021-09-14 06:08:13 +07:00
Darcy Wong
7f7a5c4f7c
Merge pull request #5664 from keymanapp/fix/android/override-numeric-field
...
fix(web,android/app): Select numeric layer when entering a numeric field
2021-09-13 14:46:26 +07:00
Darcy Wong
42197c896b
chore(common): Check in crowdin strings for simplified Chinese
2021-09-13 12:16:58 +07:00
Darcy Wong
dc394a4281
fix(android/engine): Add activeKeyboard check
2021-09-13 08:28:21 +07:00
Darcy Wong
d66260cb98
fix(android/engine): Consolidate items
2021-09-13 07:16:42 +07:00
Darcy Wong
4ece3729b8
Merge remote-tracking branch 'origin/master' into chore/android/selector-styling
2021-09-13 06:51:41 +07:00