Commit graph

2809 commits

Author SHA1 Message Date
Marc Durdin
307f600f43
Merge pull request #13663 from MattGyverLee/feat/android/keyboard-min-max
fix(android): address keyboard height vs touch height race after keyboard height preference change (also min max heights + docs)
2025-12-01 14:22:25 +01:00
Darcy Wong
c909c020f9
Merge pull request #15247 from keymanapp/docs/android/broadcast-font-name
docs(android): Document Keyman API for keyboard font change
2025-12-01 15:43:28 +07:00
Darcy Wong
d89e90a404
Merge branch 'master' into chore/android/sendCurrentFontName 2025-12-01 08:46:29 +07:00
Darcy Wong
fd7c1b3683 docs(android): Document Keyman API for keyboard font change 2025-11-28 10:55:54 +07:00
Matthew Lee
d2b40bd3c1
Update android/docs/engine/KMManager/getKeyboardHeightMin.md
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-11-25 02:39:28 -06:00
Matthew Lee
8bcf03cb1e
Update android/KMEA/app/src/main/java/com/keyman/engine/KMManager.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-25 02:35:58 -06:00
Claude
99704c4ec2
fix(android): resolve PR review comments for keyboard height min/max
Addresses review feedback from Marc and Darcy:

- Add JavaDoc comments to getKeyboardHeightMin() and getKeyboardHeightMax()
  explaining the purpose, parameters, and return values
- Implement separate pending height tracking per keyboard type (in-app/system)
  and orientation (portrait/landscape) instead of a single flag
- Add four preference keys following KMKey_ naming convention:
  KMKey_PendingHeightUpdate_InappPortrait, KMKey_PendingHeightUpdate_InappLandscape,
  KMKey_PendingHeightUpdate_SystemPortrait, KMKey_PendingHeightUpdate_SystemLandscape
- Create helper function getPendingHeightKey() to determine the correct key
- Create setPendingHeightUpdate() and getAndClearPendingHeightUpdate() functions
- Fix applyKeyboardHeight() to use new helper functions and remove broken
  heightApplied variable and duplicate pending height logic
- Update KMKeyboard.onResume() to use getAndClearPendingHeightUpdate()
- Add documentation links for getKeyboardHeightMin and getKeyboardHeightMax
  in index.md
2025-11-24 23:14:52 +00:00
Matthew Lee
3ed2d4a21e
Update android/KMEA/app/src/main/java/com/keyman/engine/KMManager.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-24 01:10:05 -06:00
Nnyny
e215603146 fix: change intent ID 2025-11-24 13:50:26 +07:00
Matthew Lee
43bb10d967
Update android/docs/engine/KMManager/getKeyboardHeightMin.md
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-11-23 19:25:36 -06:00
Matthew Lee
1662802bd5
Update android/KMEA/app/src/main/java/com/keyman/engine/KMManager.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-22 02:35:00 -06:00
Matthew Lee
3962d5795d
Update android/KMEA/app/src/main/java/com/keyman/engine/KMManager.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-22 02:34:49 -06:00
Matthew Lee
6be82ac9b8 Adding Docs for getKeyboardHeightMin/max & updating webview height
Handling invalid orientations

updating orientation logic

refresh webview height if ApplyKeyboardHeight() has been applied without KB active

I ran into a bug building this code into app-builders and fixed it downstream. This commit pushes it upstream.

While resize dialog is open:
- Keyboard WebView is NOT loaded (isKeyboardLoaded() == false)
- ACTION_UP saves to SharedPreferences:  Works
 -But skips WebView layout update:  Because keyboard not loaded
 - User exits dialog, keyboard appears:
    - If the keyboard WebView loads and reads from SharedPreferences properly:  Works
    - But if there's a timing issue or the WebView had old layout params cached:  Touch zone mismatch
2025-11-21 14:50:03 -06:00
Nnyny
3264557bef chore: add intent to broadcast font name 2025-11-20 12:44:59 +07:00
Darcy Wong
48b19c468c
Merge pull request #15136 from keymanapp/docs/android/adware
docs(android): Document disclaimer of Keyman NOT containing adware/spyware
2025-11-13 07:08:27 +07:00
Darcy Wong
1fe688ec9e
Merge pull request #15098 from keymanapp/fix/android/alert-no-keyboards-lexical-models
fix(android): Change Alert Dialog instead of Toast if package missing keyboard and lexical-model files
2025-11-12 08:24:42 +07:00
Darcy Wong
32de05a385 docs(android): Rearrange section and add Sentry blurb 2025-11-11 15:42:58 +07:00
Darcy Wong
1c5fc9d6fc
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-11 15:03:41 +07:00
Darcy Wong
61eb2d9090 docs(android): Document disclaimer of Keyman containing adware/spyware 2025-11-11 14:37:05 +07:00
Darcy Wong
9201baa65b fix(android): Use Alert DIalog if keyboard pkg missing js files
Fixes: #15097

Fixes: KEYMAN-ANDROID-251
2025-11-05 09:49:21 +07:00
Darcy Wong
3872f57cbf fix(common): Update references to test9469 keyboard 2025-10-30 13:03:09 +07:00
Darcy Wong
5bf5a5941f chore(common): Move platformtest to common/test/keyboards 2025-10-28 07:18:49 +07:00
Darcy Wong
5fa0dccbcb chore(android): Update keyboard harness reference to chirality.js 2025-10-22 06:54:01 +07:00
Darcy Wong
cfddda8d1e
Merge pull request #14935 from keymanapp/fix/android/style-status-bar-white
fix(android): Set the main app background white
2025-10-20 15:25:49 +07:00
Darcy Wong
3fa69fe663 fix(android): Only apply statusBarHeight in portrait orientation 2025-10-20 10:05:23 +07:00
Darcy Wong
9d32743d3a fix(android): Let textView overflow under keyboard 2025-10-20 09:34:21 +07:00
Darcy Wong
968e8b8695 fix(android): Set the app background white 2025-10-10 14:52:10 +07:00
Darcy Wong
43501ae69e fix(android): Update Sample1 text field to resize 2025-10-10 09:52:46 +07:00
Darcy Wong
c38f488986 chore(common): Update crowdin strings for Vietnamese 2025-10-09 11:40:18 +07:00
Darcy Wong
7a4484dbc9
Merge pull request #14873 from keymanapp/fix/android/extra-bar
fix(android): Refactor bottom inset calculations for in-app and system keyboard
2025-10-09 06:41:34 +07:00
Darcy Wong
499e427b8e fix(android): Fallback to legacy calculation when not initialized 2025-10-08 15:23:33 +07:00
Darcy Wong
7226d27145 docs(android): Update getNavigationBarHeight API 2025-10-08 05:35:31 +07:00
Darcy Wong
92308dc601 fix(android): Convert longpress delay menu to ConstraintLayout 2025-10-07 14:31:49 +07:00
Darcy Wong
eda50b2232 chore(android): Remove unused insets 2025-10-07 14:11:09 +07:00
Darcy Wong
329125a1b1 fix(android): Separate bottom insets for in-app and system keyboard 2025-10-07 13:29:46 +07:00
Darcy Wong
0e2011eca8 chore(android): Cleanup code 2025-10-07 10:24:22 +07:00
Darcy Wong
295dfd9e92 test(android): Adjust system keyboard insets 2025-10-07 08:36:20 +07:00
Darcy Wong
5aee77d5a8 fix(android): Use a toggle for adjusting the navigation bar height 2025-10-06 11:05:24 +07:00
Darcy Wong
65a631b53d test(android): Experiment with insets 2025-10-04 09:43:49 +07:00
Darcy Wong
3249f75b40 fix(android): Use max of gesture and navigation bar height 2025-10-03 13:02:21 +07:00
Darcy Wong
942723dad8 chore(android): Cleanup missing change 2025-10-03 11:25:23 +07:00
Darcy Wong
dd6a1aaf00 fix(android): Revert to using systemBars() 2025-10-03 09:02:53 +07:00
Darcy Wong
c9cc466e09 fix(android): Don't assume landscape inset 0 2025-10-02 14:41:03 +07:00
Darcy Wong
6820718d44 fix(android): Check visibility flags to determine which insets used 2025-10-02 14:02:45 +07:00
Darcy Wong
f1ad3ec4d1 fix(android): Use gestureInsets dimension when visible 2025-10-02 07:29:42 +07:00
Darcy Wong
22f63ccfdd fix(android): Try to factor in gesture insets 2025-10-01 15:45:37 +07:00
Darcy Wong
f3d9b1a2ab fix(android): Update calculation of navigation bar 2025-10-01 14:19:22 +07:00
Darcy Wong
7e08782703 docs(android): Document getNavigationBarHeight API 2025-09-25 14:54:05 +07:00
Darcy Wong
03438c3ab9 fix(android): Fix bottom insets for Sample and FirstVoices apps 2025-09-25 11:20:11 +07:00
Darcy Wong
8af7803839 fix(android): Adjust top insets for the navigation bar inset 2025-09-25 10:39:06 +07:00