Skip to content

Let touch users hide and reopen the search keyboard - #116

Merged
moikdev merged 9 commits into
mainfrom
enhancement/touch-keyboard-toggle
Nov 5, 2026
Merged

moikdev merged 9 commits into
mainfrom
enhancement/touch-keyboard-toggle

Conversation

@moikdev

@moikdev moikdev commented Nov 5, 2026

Copy link
Copy Markdown
Owner

The existing wide-screen search keyboard button now hides and reopens the IME in launcher and Emoji. It keeps the 48 dp slot, query/range, category/filter, selected result, focus and search origin; the icon and label describe the current action. Hide exposes the selected result at 100%/200% without changing the user's font scale.

Closes #114 within this native wide-screen scope. The separately reproduced system-Back query-loss pattern remains open in #115, including on the archived pre-toggle app.

Validation: 24 final positives / 11 whole cohorts / 176 restoration checks, with 6 intended controls / zero passes / 49 checks on the same final instrumentation. All 14 final baseline-preservation checks pass. Builds and fresh lint pass (zero errors/ 56 warnings each); Python 135 per mode is fresh. JVM 343 is retained for exact unchanged production/build/JVM inputs. Report, source boundaries and complete failed/intermediate accounting.

Frozen app 98da1466…aa5de3 is the exact f30bebd6 binary; final test dc22049a…ccdf3d and controller bind 69bd578d. Only the AndroidTest fixture and CLI allowlist change after the app source; all 11 original assets/notices are unchanged. Actual exact-head hosted CI and two independent gpt-6.1-sol / high audits are required before expected-head merge.

Real Android frames below: Tinycast_Tablet_API_36 / API 36, 2340×1080 / 420 dpi / 200% system font. The same final test drives old app 66a6965e and repaired app 98da1466. Query/range setup is controlled. Actual pointer Hide reveals the selected target; the enlarged Emoji footer can still need scrolling. These frames establish no application launch, clipboard copy or complete row/grid/footer typography.

Route Old button after attempted Hide New button after actual Hide
Launcher Old launcher leaves IME visible Launcher selected result visible after Hide
Emoji Old Emoji button leaves IME visible Emoji selected cell visible after Hide

Reopening uses the same header slot and restores the visible keyboard with the exact range retained:

Actual pointer Show with selected query range

At tablet 100%, the common retained-mode control forwards to the current click handler and hides the keyboard; the owned published action rejects the obsolete callback and keeps it visible. Both are ordinary app states after a controlled native callback invocation, without an app error banner or physical queued-gesture claim.

Intermediate proxy Owned published action
Proxy callback changed IME state Owned callback preserves current IME state

Current accessibility actions also require accepted=true and actual native Show/Hide transitions. Back diagnostics retain both failed receipts and the pressBack() false returns; they infer no delivery cause or repair. #69/#71/#89/#115, OEM/TalkBack/physical typing, full Store parity and signing/migration remain unverified.

moikdev commented Nov 5, 2026

Copy link
Copy Markdown
Owner Author

Root verification for exact head 950d31c171abd16257ab70f21d0abc339d96ac2f:

  • Final native credit is 24 positives / 11 whole cohorts / 176 restoration checks, plus six intended common-final-instrumentation failures / zero passes / 49 checks. Accepted current accessibility actions independently record six actual IME transitions; ten obsolete-owner/mode/menu callbacks reject.
  • Executed app is the exact frozen f30bebd6/98da1466…aa5de3 binary. Final test 69bd578d/dc22049a…ccdf3d changes only the AndroidTest fixture and CLI allowlist after that app source. All 255 inputs match this head; all 11 original assets/notices are unchanged. Test APKs have no independent source stamp; the final test rebuild changes only classes3.dex.
  • Debug/test and benchmark/test builds pass. Fresh lint reports 0 errors / 56 warnings per variant. Python 135 per mode executed at the unchanged final Python inputs. JVM 343 is retained from f30bebd6 with identical production/build/JVM sources; no final-document-head runtime rerun is claimed.
  • All 14 final preservation checks pass, including both original modern APKs, 573 original app/evidence files, legacy package absence and current raw font/geometry/four-field IME baselines. Private originals/settings remain private.
  • Independent root inspection matched 536 indexed public files plus checkpoint, 501 bindings/transforms, 32 allowed-field projections, 1,150 retained capture hashes, 89 raw triplets and 138 parseable XMLs. All 537 evidence Git blobs match disk; raw hierarchy CRLF is preserved. I viewed 15 representative actual PNGs, including all seven PR embeds.
  • Complete retained accounting stays 64 executions / 37 raw passes / 27 failures / 515 cohort checks. Historical failures and incomplete plans remain separate. The isolated Diagnose Emoji menu Back clearing the caller query #115 Back probe fails on both archived pre-toggle/current apps; the false pressBack() return is not key-delivery proof. No Back cause/repair credit is claimed.

Head-bound local/android status 58187397709 succeeds using the source-bound results above. Actual exact-head hosted Android run 42096498090 is in progress, separately. Both required independent gpt-6.1-sol/high audits and hosted completion remain merge gates. Broader footer/grid/OEM/TalkBack/Store/signing limits remain open; expected-head merge only.

moikdev commented Nov 5, 2026

Copy link
Copy Markdown
Owner Author

Independent correctness/security audit recorded for exact head 950d31c171abd16257ab70f21d0abc339d96ac2f: gpt-6.1-sol / high, fresh full base-to-head review, no actionable findings within scope. The reviewer independently verified 255 inputs, frozen/historical APK identities, all 536 indexed evidence files plus checkpoint, 501 bindings, 32 projections, 1,150 capture hashes, 89 triplets and 138 parseable XMLs. Accounting reconciles to 24 final positives, six intended failed controls and retained failed observations; the audit executed no builds/tests or device commands. Query/range, natural-line, geometry, guarded accessibility/pointer and restoration claims retain their documented limits. #115 remains failed on both old/current apps with no Back cause or repair credit.

Root reconfirmed unchanged head and clean checkout. Actual exact-head hosted Android run 42096498090 is completed/success on pull_request. The separate UX/test-provenance audit remains outstanding; no merge clearance yet.

@moikdev moikdev left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Final root gate verification at exact head 950d31c171abd16257ab70f21d0abc339d96ac2f, base adb41de4281aaae328e2d227064060f8f7495d71, tree 387b43a97b0d2c62b9a6792d466ea1bbe71d99b3.

Both required independent audits completed with their actual gpt-6.1-sol / high configuration and no actionable findings: correctness/security/lifecycle/collector soundness, and UX/touch/IME/test-provenance. Each reviewed the complete base-to-head change, independently checked identities/accounting and reconfirmed the exact head with a clean checkout. The UX reviewer viewed all 89 published PNGs at original detail. Reviews were read-only; their inspected build/native receipts are not new test executions.

Root independently reconfirmed all 255 current inputs and 536 indexed public-file hashes, clean checkout, frozen app/test source boundaries and prior byte/projection/XML checks. Final evidence remains 24 positives / 11 whole cohorts / 176 restoration checks, six intended failed controls / zero passes / 49 checks, and 14 separate preservation checks. Builds, lint and Python results retain their source bindings; JVM343 is explicitly reused. No final-doc-head runtime rerun or clean-runner APK reproducibility is claimed.

Actual exact-head hosted Android run 42096498090, event pull_request, is completed/success. Separate source-bound local/android status58187397709 is success. No submitted or inline GitHub objections were present at the fresh gate read.

#115 stays open: both old/current isolated Back probes fail; the false pressBack() return establishes no delivery cause or repair. Whole-grid/footer/OEM/TalkBack/Store/signing and other documented limits remain. Proceed only through expected-head merge of the reviewed commit.

@moikdev
moikdev merged commit 41329c7 into main Nov 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Let wide-screen touch users hide and reopen the keyboard from search

1 participant