( device: DeviceInfo, action: KeyboardAction, )
| 416 | } |
| 417 | |
| 418 | async function handleAndroidKeyboardCommand( |
| 419 | device: DeviceInfo, |
| 420 | action: KeyboardAction, |
| 421 | ): Promise<Record<string, unknown>> { |
| 422 | if (action === 'enter' || action === 'return') { |
| 423 | const { pressAndroidEnter } = await import('../platforms/android/input-actions.ts'); |
| 424 | await pressAndroidEnter(device); |
| 425 | return { |
| 426 | platform: 'android', |
| 427 | action: 'enter', |
| 428 | ...successText('Keyboard enter pressed'), |
| 429 | }; |
| 430 | } |
| 431 | if (action === 'dismiss') { |
| 432 | const { dismissAndroidKeyboard } = await import('../platforms/android/device-input-state.ts'); |
| 433 | const result = await dismissAndroidKeyboard(device); |
| 434 | return { |
| 435 | platform: 'android', |
| 436 | action: 'dismiss', |
| 437 | attempts: result.attempts, |
| 438 | wasVisible: result.wasVisible, |
| 439 | dismissed: result.dismissed, |
| 440 | visible: result.visible, |
| 441 | inputType: result.inputType, |
| 442 | type: result.type, |
| 443 | inputMethodPackage: result.inputMethodPackage, |
| 444 | focusedPackage: result.focusedPackage, |
| 445 | focusedResourceId: result.focusedResourceId, |
| 446 | inputOwner: result.inputOwner, |
| 447 | }; |
| 448 | } |
| 449 | const { getAndroidKeyboardState } = await import('../platforms/android/device-input-state.ts'); |
| 450 | const state = await getAndroidKeyboardState(device); |
| 451 | return { |
| 452 | platform: 'android', |
| 453 | action: 'status', |
| 454 | visible: state.visible, |
| 455 | inputType: state.inputType, |
| 456 | type: state.type, |
| 457 | inputMethodPackage: state.inputMethodPackage, |
| 458 | focusedPackage: state.focusedPackage, |
| 459 | focusedResourceId: state.focusedResourceId, |
| 460 | inputOwner: state.inputOwner, |
| 461 | }; |
| 462 | } |
| 463 | |
| 464 | async function handleIosKeyboardCommand( |
| 465 | device: DeviceInfo, |
no test coverage detected