Scanners in "Intent output" mode deliver barcodes via broadcast, which
nothing in the app received, so scans never reached any field. Add
BroadcastScannerIntegration (Urovo, Newland and other common actions,
configurable in AppConfig) and inject the text into the focused field,
or the first visible search/text field, using the native value setter
plus an input event so React-controlled inputs accept it. Optionally
sends Enter afterwards (SCANNER_SEND_ENTER).
Add a logging-only dispatchKeyEvent pass-through to diagnose why
keystroke-mode scans don't reach the orders search field.
Ignore SamplePage/ and update README and CLAUDE.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Returning null from onCreateInputConnection() prevented the Chromium
renderer from relaying hardware key events into HTML inputs, breaking
scanner input on the Urovo CT58C. Return the real InputConnection from
super and rely on the multi-layer keyboard suppression (JS inputmode,
InputMethodManager, EditorInfo flags, manifest flags) which is already
proven to work on this device.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>