Skip to content

fix(android): Get default sizes before initializing keyboard#14472

Merged
darcywong00 merged 1 commit intomasterfrom
fix/android/init-keyboard-order
Aug 8, 2025
Merged

fix(android): Get default sizes before initializing keyboard#14472
darcywong00 merged 1 commit intomasterfrom
fix/android/init-keyboard-order

Conversation

@darcywong00
Copy link
Copy Markdown
Contributor

Fixes #14455 with @chrisvire's code suggestions.

I needed to move the last 4 lines of code above the call to initKeyboard. This seems like a legitimate bug (order of initialization) in KMEA.

This way the keyboard sizes are retrieved from preferences before the inapp and system keyboards are initialized.

I think this contributed to intermittent reports from FirstVoices about a squished keyboard (but couldn't get a repro).
The keyboard harness test app seems to be a good repro, so I will include for user testing

will need to 🍒 pick to stable-18.0

User Testing

Setup - Install the PR builds of Keyman for Android and the KeyboardHarness test apps on the Android device/emulator (I suggest API 34)

  • TEST_KEYMAN - Verifies default keyboard heights work
  1. Launch Keyman for Android and dismiss the Get Started menu
  2. Observe the keyboard heights for both portrait and landscape orientation
  3. From Keyman settings --> Adjust keyboard height --> adjust the keyboard height for both portrait and landscape orientation and then exit the menu back to Keyman
  4. Verify the keyboard heights match the specified adjusted heights for both portrait and landscape orientation
  5. Exit the app and relaunch Keyman for Android
  6. Verify the keyboard heights still match the specified adjusted heights for both portrait and landscape orientation
  7. Go back to Keyman settings --> Adjust keyboard height --> "Reset to defaults" in both portrait and landscape orientation
  8. Exit the app and relaunch Keyman for Android
  9. Observe the keyboard heights and verify they match the default heights for both portrait and landscape orientation (from step 2)
  • TEST_KEYBOARD_HARNESS - Verifies the OSK is visible
  1. Launch the KeyboardHarness test app
  2. Verify the keyboard height is not squished

@github-project-automation github-project-automation bot moved this to Todo in Keyman Aug 7, 2025
@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed labels Aug 7, 2025
@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot bot commented Aug 7, 2025

@dinakaranr
Copy link
Copy Markdown

Test Results

Prerequisites:
I installed this PR build of Android and the keyboard harness test apps on the Android 14, API_34. Here I am sharing my observation.
I tested this PR in the "Keyman-19.0.95-alpha-test-14472" build on Android 14, API_34(Emulator, Samsung A23). Here I am sharing my observation.

  • TEST_KEYMAN (Passed):
  1. Launch Keyman for Android and dismiss the Get Started menu
  2. Observed that the keyboard heights for both portrait and landscape orientation
  3. Observed that the keyboard heights by clicking from Keyman settings --> Adjust keyboard height --> adjust the keyboard height for both portrait and landscape orientation.
  4. Exit the menu back to Keyman note app.
  5. Verified that the keyboard heights match the specified adjusted heights for both portrait and landscape orientation
  6. Exit the app from the "Recents"
  7. Relaunch Keyman for Android
  8. Verified that the keyboard heights still match the specified adjusted heights for both portrait and landscape orientation
  9. Launch Keyman for Android and dismiss the Get Started menu
  10. Go back to Keyman settings --> Adjust keyboard height --> "Reset to defaults" in both portrait and landscape orientation
  11. Exit the app from the "Recents"
  12. Relaunch Keyman for Android
  13. Observed that the keyboard heights
  14. Verified they match the default heights for both portrait and landscape orientation (from step 2)
  • TEST_KEYBOARD_HARNESS (Passed):
  1. Launch the KeyboardHarness test app
  2. Verified that the keyboard height is not squished.
  3. Verified that the keyboard appeared without UI issue.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Aug 7, 2025
@dinakaranr dinakaranr removed their assignment Aug 7, 2025
@darcywong00 darcywong00 merged commit 476ee0a into master Aug 8, 2025
8 checks passed
@darcywong00 darcywong00 deleted the fix/android/init-keyboard-order branch August 8, 2025 00:44
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Aug 8, 2025
@keyman-server
Copy link
Copy Markdown
Collaborator

Changes in this pull request will be available for download in Keyman version 19.0.95-alpha

@keymanapp keymanapp deleted a comment from keyman-server Aug 13, 2025
@keymanapp keymanapp deleted a comment from keyman-server Aug 13, 2025
@keymanapp keymanapp deleted a comment from keyman-server Aug 13, 2025
@keymanapp keymanapp deleted a comment from keyman-server Aug 13, 2025
@keymanapp keymanapp deleted a comment from keyman-server Aug 13, 2025
@keyman-server
Copy link
Copy Markdown
Collaborator

Changes in this pull request will be available for download in Keyman version 19.0.95-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

bug(android): Initialization order of Keyboard height

4 participants