Commit graph

923 commits

Author SHA1 Message Date
Eberhard Beilharz
1f3fabda78 fix(android): fix loading of keyboards on Android
This change moves to using `WebViewAssetLoader` for loading files from
the device instead of using file:// URLs. This fixes the blank keyboard
problem reported in #16096 for Android.

Also make `KMKeyboard.getKeyboardRoot()` private, and rename public
`Keyboard.getKeyboardPath()` to private `Keyboard.getKeyboardUrl()`.

Part-of: #16096
2026-09-21 10:04:38 -05:00
Eberhard Beilharz
3202632780 maint(android): update Android Target API to 36 🍒
This change updates the Android Target API to 36 to satisfy the upcoming
annual Play Store Aug 31 requirement. It updates Keyman for Android to
use API level 36 by changing the compileSdk and targetSdkVersion
properties to 36.

Also update `compileSdkVersion` and some reformatting in `README.md`.

Changes made by AI (Gemini 3 Flash Preview).

Fixes: #16279
Build-bot: release:android
Cherry-pick-of: #16280
2026-09-21 10:35:27 +02:00
Darcy Wong
eeffb2cdf8 fix(android): Set the main app background white 2025-10-20 15:26:55 +07:00
Darcy Wong
6cb9749256 fix(android): Refactor bottom inset calculations for inapp and system 2025-10-09 06:42:57 +07:00
Darcy Wong
c0a0d879b4 fix(android): Convert longpress delay menu to ConstraintLayout 2025-10-08 15:26:06 +07:00
Darcy Wong
94535521fd cherrypick(android): Apply bottom insets to system keyboard 2025-09-25 20:56:52 +07:00
Darcy Wong
cbcb2cc2a2 fix(android): Update other activities for edge to edge 2025-08-25 09:44:36 +07:00
Darcy Wong
6d07af25b2 fix(android): Convert Keyman app layout to use ConstraintLayout 2025-08-25 09:44:35 +07:00
Darcy Wong
16ea45f9f7 fix(android): Update to Java 21 and Gradle dependencies 2025-08-25 09:00:06 +07:00
Darcy Wong
e2b5063f30 fix(android): Update Android Target API to 35 2025-08-22 11:26:44 +07:00
Darcy Wong
0457b55074
Merge pull request #14561 from keymanapp/cherrypick/android/show-osk-preference
fix(android): Add preference to show on-screen keyboard to Keyman and FirstVoices apps 🍒 🏠
2025-08-21 07:47:09 +07:00
Darcy Wong
44c68c53dd
Merge pull request #14547 from keymanapp/cherrypick/android/14538-show-osk
fix(android): Show system OSK when physical keyboard connected 🍒 🏠
2025-08-21 07:46:48 +07:00
Darcy Wong
60411736e6 fix(android): Add "Show On-screen keyboard" preference
fix(android): Add "Show On-screen keyboard" preference to display OSK when physical keyboard is connected 👁️
2025-08-20 09:41:13 +07:00
Darcy Wong
764aec33d0 fix(android): Update sentry-android to 7.22.6 2025-08-20 09:14:20 +07:00
Darcy Wong
31f5e43958 fix(android): Show system OSK when physical keyboard connected 2025-08-19 09:26:23 +07:00
Darcy Wong
6662b61291 fix(android): Use Alert Dialog if keyboard pkg missing languages
Cherry-pick-of: #13786
2025-04-30 09:36:30 +07:00
Darcy Wong
23fb318549 fix(android): Fix system keyboard banner on reload
Follows the in-app keyboard pattern of refreshing banner theme when the keyboard is shown

Fixes: #13693
2025-04-11 10:57:36 +07:00
Darcy Wong
30dc85f484 chore(common): Update crowdin strings for Spanish Latin America 2025-04-09 07:44:32 +07:00
Darcy Wong
3abe596361 fix(android): Add back button to "Adjust Keyboard Height "menu
Add back button and callback handler
2025-04-02 10:19:29 +07:00
Marc Durdin
690d62ca3f fix(android): Move responsibility for setting keyboard height preference
Cherrypick of #13578 to beta

Moves responsibility for setting keyboard height preference into `applyKeyboardHeight()`
2025-04-01 14:10:55 +07:00
Darcy Wong
75bf69bfbf fix(android): Cleanup comments
Cleanup references to mayPredictOverride in comments
2025-03-24 10:27:50 +07:00
Darcy Wong
9d8f71a718 refactor(android): Rename mayPredictOverrides APIs
Per review comments, rename these API's for Keyman 18.0:

inAppMayPredictOverride --> inAppPredictionsSuspendedForSensitiveInput
systemMayPredictOverride --> systemPredictionsSuspendedForSensitiveInput

getMayPredictOverride() --> getPredictionsSuspended()
setMayPredictOverride() --> setPredictionsSuspended()
2025-03-24 08:19:35 +07:00
Darcy Wong
1da411727a refactor(android): split mayPredictOverride for inapp and system kbd
Refactor mayPredictOverride so the banner toggle is handled independently for `KeyboardType.KEYBOARD_TYPE_INAPP` and `KeyboardType.KEYBOARD_TYPE_SYSTEM` keyboards.

Pre-existing override API calls are now for `KeyboardType.KEYBOARD_TYPE_SYSTEM`
2025-03-20 11:39:02 +07:00
Darcy Wong
9afcf8f2b0 fix(android): Restore banner after lock screen
Fix banner transitions on lock screen and resuming
2025-03-20 07:43:03 +07:00
Darcy Wong
00552cb06c chore(android): update crowdin strings for Spanish (Latin America) 2025-03-14 09:12:49 +07:00
Darcy Wong
d9a3c01c4f fix(android): Cache inputType to determine external keyboard handling 2025-03-11 09:39:03 +07:00
Darcy Wong
1380597be2
Merge branch 'beta' into chore/common/crowdin-vi 2025-03-05 19:45:39 +07:00
Darcy Wong
c65897561f fix(android): Fix Toast message per review comment 2025-03-04 17:10:39 +07:00
Darcy Wong
bc2eeb62d0 chore(android): Tweak names to describe context 2025-02-25 10:16:06 +07:00
Darcy Wong
118e15bfd4 fix(android): Control when system keyboard Keyboard Picker clears 2025-02-24 08:34:57 +07:00
Darcy Wong
1a1056ca50 chore(common): Add crowdin strings for Vietnamese 2025-02-22 07:37:36 +07:00
Darcy Wong
9712e3b798
Merge pull request #13273 from keymanapp/fix/android/adjust-osk-height-rotate
fix(android): Update system keyboard height consistently
2025-02-21 13:34:37 +07:00
Darcy Wong
2a472abfad chore: Merge remote-tracking branch 'origin/beta' into chore/crowdin/polytonic-greek-update
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-02-19 09:08:24 +07:00
Darcy Wong
af9d7bbe46 chore(common): Update crowdin strings for Polytonic Greek 2025-02-19 06:54:56 +07:00
Darcy Wong
8b4e769385 fix(android): Update system keyboard height consistently 2025-02-18 14:26:13 +07:00
Darcy Wong
77b5cff622 fix(android): Correct the scope of tier in build.gradle 2025-02-18 09:12:59 +07:00
Joshua Horton
fff9ba45ef
Merge pull request #13218 from keymanapp/fix/android/prevent-update-check-crashes
fix(android): prevent update-checks from crashing system keyboard and app if `DownloadManager` is disabled
2025-02-17 14:36:54 +07:00
Joshua Horton
2437ff5cc2 chore(android): and another, plus removal of accidental typo 2025-02-17 09:45:05 +07:00
Joshua Horton
81e84b6147 chore(android): remove unused imports 2025-02-17 09:28:17 +07:00
Darcy Wong
51d9aead77 fix(android): Fix gradle syntax 2025-02-17 07:18:52 +07:00
Darcy Wong
81a47ddb14 fix(android): Use TIER.md to determine Play Store tier 2025-02-17 07:05:37 +07:00
Darcy Wong
0c7ae8d9c7
Merge pull request #13241 from keymanapp/chore/crowdin/mnw
chore(common): Update crowdin strings for Mon
2025-02-14 10:37:56 +07:00
Darcy Wong
93ffd18eae
Merge pull request #13140 from keymanapp/fix/android/check-webview
fix(android): Catch WebView exceptions and prompt user to install WebView
2025-02-14 10:34:58 +07:00
Darcy Wong
6404ccc5e9 chore(common): Update crowdin strings for Mon 2025-02-14 09:43:28 +07:00
Joshua Horton
8910531c10 refactor(android): deduplicate handler setup into helper method 2025-02-14 09:09:10 +07:00
Darcy Wong
df9d8180ec refactor(android): Separate checking status from displaying panels 2025-02-13 21:51:16 +07:00
Joshua Horton
18d4af5ac1 chore(android): clean up unused string dev artifact 2025-02-13 14:49:51 +07:00
Darcy Wong
dc17075408 fix(android): Remove sendOptionsToKeyboard function from Engine API 2025-02-13 14:41:44 +07:00
Joshua Horton
536201f53e chore(android): add handling + Sentry logging for robustness in case of other sources 2025-02-13 14:37:55 +07:00
Joshua Horton
31af7cfc46 chore(android): handle other potentially-affected cases 2025-02-13 13:42:03 +07:00