Commit graph

901 commits

Author SHA1 Message Date
jahorton
3738519412 chore(android): adds diagnostic logging to assist a fix for #6703 2022-06-13 10:50:32 +07:00
Marc Durdin
958fbd3e40 fix(android): check index validity in getCurrentKeyboardInfo
This fixes crash reported as #6703. This issue was first reported in
14.0.282-stable. I have done a careful review of changes in 14.0.282
(and 14.0.281) but have been unable to find any changes that could have
bearing on this.

The basic issue is that there appears to be some circumstances where
`KMManager` thinks that it has a keyboard loaded (ref
`SystemKeyboardLoaded` variable), but `KMKeyboard.currentKeyboard` is
still `null`.

The crash has been reported for only a very small set of users, 119 at
time of fix, but average reports per user is over 100. As is usual with
this type of thing, a small fraction of those users are reporting the
majority of crashes. I have not found any real commonality across the
error reports -- they are geographically dispersed, across multiple
device types and Android versions.

Note that this addresses the error at hand but as I am unable to
reproduce the issue, does not necessarily address the root problem, so
there may still be other issues reported even after this is fixed.

A longer-term refactor would eliminate `SystemKeyboardLoaded` because
from what I can tell, we should always be able to determine that from
the state of `KMKeyboard.currentKeyboard`. However, the state
entanglement is a lot deeper than just those two variables, with cross
references to keyboard indexes between `KMManager` and `KMKeyboard`
which need to be resolved (`KMKeyboard` should *never* refer to
`KMManager`).
2022-06-05 06:46:39 +10:00
Darcy Wong
7e72074d57 fix(android/engine): Cleanup when subkeys displayed 2022-05-20 12:27:59 +07:00
Darcy Wong
0a39e4e4b1 chore(android/engine): Use switch statement for gesture 2022-05-20 11:32:57 +07:00
Darcy Wong
9916da44aa fix(android/engine): Investigate sticky long-press keys 2022-05-20 11:32:57 +07:00
Darcy Wong
4afd872f29 chore(android): Rename variables per review 2022-05-19 09:50:13 +07:00
Darcy Wong
ced46c8a2e feat(android): Add UX to control haptic feedback 2022-05-17 13:44:34 +07:00
Darcy Wong
ab8ff86c4b feat(android/engine): Add haptic feedback when typing 2022-05-17 13:07:22 +07:00
Darcy Wong
7c3de5bbc3 chore(common): Merge remote-tracking branch 'origin/beta' into chore/common/crowdin-pl 2022-05-11 14:28:50 +07:00
Darcy Wong
7773cdfe22 chore(common): Add crowdin strings for Polish 2022-05-09 12:41:36 +07:00
Darcy Wong
384f8befcb chore(common): Add crowdin strings for Italian 2022-05-09 11:04:12 +07:00
Darcy Wong
5a3c7effe3 chore(android/engine): Ignore DownloadManager if ID not found 2022-04-29 14:43:18 +07:00
Darcy Wong
135945981c
Merge pull request #6559 from keymanapp/fix/android/toggle-suggestion-banner
fix(android/engine): Check suggestion banner after setting keyboard
2022-04-29 07:47:35 +07:00
Darcy Wong
1bff2cd799 chore(android/engine): Rename result variables 2022-04-27 11:44:32 +07:00
Darcy Wong
a884786926
Merge pull request #6561 from keymanapp/fix/android/localize-toast-messages
fix(android/engine): Localize some Toast notifications
2022-04-26 15:41:26 +07:00
Darcy Wong
97a817065b fix(android/engine): Localize some Toast notifications 2022-04-25 14:19:07 +07:00
Darcy Wong
30fc5b0434 fix(android/engine): Check suggestion banner after setting keyboard 2022-04-22 14:58:17 +07:00
Darcy Wong
bc109739f1 fix(android/engine): Don't show welcome.htm on keyboard package update 2022-04-22 09:16:54 +07:00
Darcy Wong
55a81fde70
Merge pull request #6532 from keymanapp/chore/common/crowdin-bwr-ng
chore(android,windows): Update crowdin strings for bwr-NG
2022-04-18 15:19:57 +07:00
Darcy Wong
b84a483afc chore(android): Update crowdin for bwr-NG 2022-04-14 09:39:38 +07:00
Darcy Wong
1e42d360c6
Merge pull request #6509 from keymanapp/chore/common/crowdin-pt
chore(common): Add Crowdin strings for Portuguese (pt-PT)
2022-04-14 06:11:02 +07:00
Darcy Wong
cb10a4c4e3
Merge pull request #6477 from keymanapp/fix/android/engine/verify-count-surrogate-pairs
fix(android/engine): Update countSurrogatePairs()
2022-04-09 08:10:43 +07:00
Darcy Wong
f0e41833c4 chore(common): Add Crowdin strings for Portuguese 2022-04-08 11:36:18 +07:00
Darcy Wong
ff770174ab fix(android/engine): Show keyboard after rotating 2022-04-07 16:26:00 +07:00
Darcy Wong
27cc509038 chore(android/engine): Cleanup vars 2022-04-05 12:19:58 +07:00
Darcy Wong
1bc5ac75da fix(android/engine): Update countSurrogatePairs() 2022-04-05 09:32:55 +07:00
Darcy Wong
3365713f76 fix(android/engine): Use fixed sizes for preview keys 2022-03-31 10:41:21 +07:00
Darcy Wong
4796d37fad fix(android/engine): Don't include font padding for popup keys 2022-03-30 14:59:29 +07:00
Darcy Wong
fcc75ec00e fix(android/engine): Clear WebView cache on package install 2022-03-28 13:44:30 +07:00
Darcy Wong
19f1d4f5a7 chore(android): Merge remote-tracking branch 'origin/beta' into fix/android/subkey-move 2022-03-23 13:05:25 +07:00
Darcy Wong
6b01ba7003
Merge pull request #6370 from keymanapp/fix/android/keyboard-picker-display-artifacts
chore(android/engine): Remove visual gaps in keyboard picker menu
2022-03-21 18:07:11 +07:00
Darcy Wong
1a413bcb6a fix(android/engine): Fix ACTION_DOWN returns 2022-03-16 14:01:48 +07:00
Darcy Wong
328175deba chore(android): Merge remote-tracking branch 'origin/beta' into fix/android/subkey-move 2022-03-16 09:29:32 +07:00
Darcy Wong
c3da55d9ae
Merge pull request #6369 from keymanapp/fix/fv/dictionary-keyboard-list
fix(oem/fv/android): Consolidate dictionary and keyboard settings
2022-03-15 21:03:32 +07:00
Darcy Wong
812e6040e2
Merge pull request #6356 from keymanapp/fix/android/hold-globe-longpress-menu
fix(android/engine): Activate menu on globe longpress before release
2022-03-15 05:56:44 +07:00
Darcy Wong
103e618680 chore(android/engine): Remove visual gaps in keyboard picker menu 2022-03-14 13:01:20 +07:00
Darcy Wong
738b3cc08a fix(oem/fv/android): Fold model picker into Keyboard settings menu 2022-03-14 06:56:55 +07:00
Darcy Wong
c3c8c219d7 chore(android/engine): Tweak handling globe key 2022-03-10 19:41:03 +07:00
Darcy Wong
6a622b4255 fix(android/engine): Activate menu on globe longpress before release 2022-03-10 15:24:21 +07:00
Darcy Wong
b213c3b829 fix(android/engine): Test fileVersion during package install 2022-03-10 13:15:59 +07:00
Darcy Wong
39cb6dad01 fix(android/engine): Fix longpress on move gesture 2022-03-02 12:57:36 +07:00
Darcy Wong
d85af16858 feat(oem/fv/android): Add keyboard and dictionary controls 2022-03-02 12:30:51 +07:00
Marc Durdin
e0bba0da02 fix(android): count number of surrogate pairs correctly when deleting
The system keyboard, when deleting-left, would not count the number of
surrogate pairs correctly in the text to delete. This would often leave
it deleting half a surrogate pair.

Rather than change the countSurrogatePairs function, I opted to write
this inline. The countSurrogatePairs function is used elsewhere, it
appears correctly.
2022-02-25 16:05:51 +11:00
Marc Durdin
e7be5f62a4 fix(android): ignore delete-left if selection exists in-app
If there is an active selection, we delete the selection before
inserting text. In this case, we also ignore the deleteLeft value coming
from KeymanWeb, so we won't delete twice.

Note: in the future, we will hopefully refactor this to use
OutputTarget, which will change the way this function works and will
probably clean up some of the spaghetti.
2022-02-25 16:04:05 +11:00
Marc Durdin
9ba4b9645c fix(android): further selection tweaks 2022-02-23 15:16:23 +11:00
Marc Durdin
c389ad0df8 fix(android): selection on Android
Part of #5853.

Building on the fixes in KeymanWeb, we do similar patches for Android.
2022-02-23 15:16:21 +11:00
Marc Durdin
4d37fd0a5b chore(android): separate android-host.js
This is part of the fix chain for #5853. Split android-host.js out from
keyboard.html in order to make it easier to debug and mock. No changes
to the content of the script, just moving it here.
2022-02-23 15:15:22 +11:00
Darcy Wong
c32c298849 feat(android/engine): Single tap globe switch to previous system IME 2022-02-04 11:32:42 +07:00
Darcy Wong
24364dc5af
Merge pull request #6048 from keymanapp/chore/common/crowdin-ckl
chore(common): Check in crowdin strings for Kibaku 📜
2022-01-17 10:28:54 +07:00
Darcy Wong
c5178649e6
Merge pull request #6050 from keymanapp/chore/common/crowdin-hia
chore(common): Check in crowdin strings for Waha 📜
2022-01-14 12:48:41 +07:00