Commit graph

353 commits

Author SHA1 Message Date
Marc Durdin
f90eaee6dd fix(android): add toast when browser fails to open 2022-08-23 07:41:56 +10:00
Marc Durdin
bdb7b5e45a fix(android): verify browser before starting activity
Fixes #6899.
2022-07-27 15:16:02 +10: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
4cdb5072f7
Update android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/KeymanSettingsActivity.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-05-20 09:17:10 +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
bc109739f1 fix(android/engine): Don't show welcome.htm on keyboard package update 2022-04-22 09:16:54 +07:00
Darcy Wong
d774fcd5a1 chore(android/app): Add description for referrer response error 2022-04-12 10:52:13 +07:00
Darcy Wong
d11cf84b54
Merge pull request #6498 from keymanapp/fix/android/on-keyboard-change
fix(android/engine): Show keyboard after rotating
2022-04-08 09:41:37 +07:00
Darcy Wong
ff770174ab fix(android/engine): Show keyboard after rotating 2022-04-07 16:26:00 +07:00
Darcy Wong
dc5c8a7f99 fix(android/app): Simplify sharing intent 2022-04-05 14:43:28 +07:00
Darcy Wong
fcc75ec00e fix(android/engine): Clear WebView cache on package install 2022-03-28 13:44:30 +07:00
Darcy Wong
b213c3b829 fix(android/engine): Test fileVersion during package install 2022-03-10 13:15:59 +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
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
2113bebcf7 feat(android): Allow uninstall of sil_euro_latin keyboard 2021-10-19 15:03:34 +07:00
Darcy Wong
74c010d3dd fix(android): Select numeric layer when entering a numeric field 2021-09-01 10:55:23 +07:00
Darcy Wong
275c207a9f
Merge pull request #5629 from keymanapp/feat/android/degraded-5-0
fix(android): Fix Chrome version ranges for Keyman engine functionality
2021-08-27 14:52:50 +07:00
Darcy Wong
d881db3e87 feat(android/app): Change forward button so it can be enabled/disabled 2021-08-27 08:41:01 +07:00
Darcy Wong
e2acf077bd feat(android/app): Add back and forward buttons to Info Activity 2021-08-26 15:05:46 +07:00
Darcy Wong
0b80dcea7d feat(android): Add close button to Info Activity 2021-08-25 08:53:03 +07:00
Darcy Wong
2e36fb8acf fix(android): Fix Chrome version ranges for Keyman engine functionality 2021-08-24 14:07:35 +07:00
Darcy Wong
c2e66b00ad chore(android): Allow Info Activity to navigate back 2021-08-23 11:07:42 +07:00
Darcy Wong
2c2a511696 fix(android/app): Address review comments 2021-08-20 10:04:53 +07:00
Darcy Wong
d4fd18cd09 feat(android/app): Add menu to adjust keyboard height 2021-08-19 14:14:01 +07:00
Darcy Wong
21059f8dfa
Merge pull request #5541 from keymanapp/fix/android/back-destroy-progress-dialog
fix(android/app): Fix cleanup when progress dialog cancelled
2021-08-06 10:28:06 +07:00
Darcy Wong
bf736d519d chore(android/app): Revert Toast notification 2021-08-06 10:27:08 +07:00
Darcy Wong
3502d6ffa5 fix(android): Notify when download cancelled 2021-08-05 11:11:25 +07:00
Darcy Wong
4676b75648 fix(android/app): Fix cleanup when progress dialog cancelled 2021-08-03 14:25:08 +07:00
Darcy Wong
b4fabeec90 feat(android/engine): Pass WebView as parameter 2021-08-02 10:03:47 +07:00
Darcy Wong
89c3b70195 feat(android): Add banner for prompting Chrome install 2021-07-31 10:00:02 +07:00
Darcy Wong
ca2a7c2ef4 feat(android): Add API for checking Chrome version 2021-07-29 14:22:13 +07:00
Marc Durdin
a3ec34a3ce feat(android): Spacebar text controls
Relates to #949.

* Adds setSpacebarText() API to Keyman Engine for Android
* Adds displayName API to Keyman Engine for Android
* Adds Preference for spacebar text to Keyman for Android
* Sets default spacebar text to keyboard name for FirstVoices Keyboards
2021-06-24 10:58:26 +10:00
Marc Durdin
7969b9e06c
Merge pull request #5247 from keymanapp/fix/android/5211-rotation-not-updating-keyboard
fix(android): rotation is not updating keyboard
2021-06-11 09:30:43 +10:00
Marc Durdin
64b5ab2cb7 fix(android): rotation is not updating keyboard
Fixes #5211.
2021-06-09 17:16:23 +10:00
Marc Durdin
090556846f chore(android): add docs on KmpInstallMode 2021-06-09 10:47:00 +10:00
Marc Durdin
55b201306f feat(android): silent vs welcomeonly vs full installs 2021-06-09 09:32:07 +10:00
Marc Durdin
a04aaad13c feat(android): silent install for referred kbd
Relates to #5230, #5219.

[Draft]

Adds a silent parameter to the `downloadKMP` function and makes the
install silent for referred keyboards.

However, this is incomplete:

1. We need to be able to control silent levels:
   * Completely silent
   * Only welcome
   * Full install

2. When silentInstall is true, currently welcome is still shown, but the
   paging controls are not configured correctly and a blank screen is
   shown after install.
2021-06-09 08:13:28 +10:00
Marc Durdin
cc6580779b chore(android): address review comments 2021-06-08 19:52:42 +10:00
Marc Durdin
d0edd5175f feat(android): Automatically install keyboard through Play Store
Resolves #5219.

Uses the Google Play Install Referrer API to automatically discover the
keyboard to install together with Keyman; this keyboard is passed in a
`referrer` parameter to the Play Store page for the Keyman app from the
Keyman website.
2021-06-07 07:20:22 +10:00
Darcy Wong
db17557ad3 chore(android): Update targetSDKVersion to 30
To comply with upcoming Play Store requirement, this updates targetSDKVersion to 30.

* Also sets appropriate webView permissions to access local file (except for WebBrowserActivity, the in-app browser).
2021-05-21 08:28:43 +07:00
Darcy Wong
bc802341bb chore(android/app): Update dependencies 2021-05-18 12:01:03 +07:00
Darcy Wong
a5c871607e
Merge pull request #5047 from keymanapp/chore/android/offline-help
chore(android/app): Always use offline help
2021-05-10 16:31:40 +07:00
Darcy Wong
c7824ed6c2 chore(android/app): Always use offline help 2021-05-10 10:45:15 +07:00
Darcy Wong
e5bbce8c94 feat(android/app): Add telemetry for launching WebBrowserActivity 2021-05-10 10:23:50 +07:00
Darcy Wong
a96137bef9 fix(android/engine): Add KMString wrapper for formatting Strings 2021-03-29 14:29:28 +07:00
Darcy Wong
62baa789ff fix(android/app): Improve UX of errors during package installation
* Use Toasts so they'll still be visible when the activity finishes
* Set download dialog cancelable so it can be dismissed on errors
2021-03-26 09:08:27 +07:00
Darcy Wong
528df05d71 fix(android/app): Load system keyboard before checking overrides 2021-03-16 13:52:19 +07:00