refactor(android): centralize touch parsing and fill reporting

Merged
TH
3h ago
+28-25

Summary

Follow up on the review of #3849, which has merged:

  • Parse complete, correlated touch replies in the protocol owner. Preserve error ordering, helper retirement, and ambiguous-dispatch handling.
  • Build shell-fill unconfirmed evidence once. Share warning emission with the other fill paths.

Two commits, five files: production +25/−20, existing test +3/−5. The existing parser test calls the renamed entrypoint; no new tests or cases were added.

Validation

Head 15f17c47ddf81e842c81e348a0b4f5549bd9a06e, base f8c60ca188f62e110bdc1d3e6225b134960886c0:

  • pnpm check:affected --run --head 15f17c47dd: passed, 2,316 tests. Receipt .tmp/validation/run-2UkGNn/receipt.json: exactCommit=true, checkoutChanged=false. CLI/native helper builds passed. Claude review: no remaining findings.
  • Live Pixel 7 CI/API 36: malformed screenshot payload falls back to a valid 1080×2400 PNG; incomplete input reply retires after one input with dispatched: unknown.
  • Our release test app: shell fill/clear and test-IME Unicode fill/clear passed, with backend diagnostics verified.
  • Native formatting field: verified adb-shell, correct unconfirmed evidence, exactly one warning.

An earlier local run hit four provider timeouts. The unchanged base, those 14 focused tests, and the final full affected run subsequently passed; the initial cause remains unproven. CI coverage, integration, and native smoke checks remain pending.