Skip to content

Add touch Clear search to launcher and Emoji - #112

Merged
moikdev merged 7 commits into
mainfrom
enhancement/touch-clear-search
Nov 5, 2026
Merged

moikdev merged 7 commits into
mainfrom
enhancement/touch-clear-search

Conversation

@moikdev

@moikdev moikdev commented Nov 5, 2026

Copy link
Copy Markdown
Owner

Launcher and Emoji search now have an explicit Clear search X with a stable 48 dp touch target. One tap clears the live query/range/composition while preserving the current route, category, editor focus and keyboard visibility. Retained callbacks reject replaced or covered surfaces. Emoji's natural 200% category text keeps the search field aligned on return to the launcher.

Closes #110. #69/#71/#89 and the newly recorded short-landscape empty-feedback gap #111 remain open. This adds no whole-Store, physical/OEM, TalkBack or system-IME repair claim.

Validation: 25 current positives / 11 whole cohorts / 171 restoration checks; five same-harness intended old-app failures / zero passes / 79 checks. Modern tablet, phone and short landscape run at 100%/200%; API26 has four established Clear/ownership smoke cases. Existing controlled input contracts run on modern tablet/phone and API26. Debug/test and benchmark/test builds succeed; lint0 errors/56 warnings each; retained unchanged-source JVM343 is UP-TO-DATE; fresh Python135 per normal/optimized mode passes. Final whole-pipeline preservation has 14 successful checks, including all573 existing app/evidence files and both original modern APKs. Report and precise accounting.

The final app is frozen at 5e7cb6b (974b2fa…9d750); final instrumentation is ca17e66 (54a86c6…366e1), controller fed57fb. All254 listed current source hashes match; all11 existing packaged assets/notices remain unchanged. Archive capture now streams into private create-only files and validates before promotion; partial failures retain ownership. Final-head hosted Android and both independent gpt-6.1-sol/high audits remain separate merge gates.

Actual Android screenshots below use Tinycast_Tablet_API_36 / API36, phone1080×2340 /420dpi /100%, selected system IME hidden. Each row uses the same final 54a86c6 harness: before appae03c85 has no X, after app974b2fa shows the X and an actual pointer Clear restores results. These are ordinary app frames; the control assertions failed without an app error banner.

Surface Before: no Clear After: Clear available After pointer Clear
Launcher Launcher before Clear Launcher with explicit X Launcher after pointer Clear
Emoji Emoji before Clear Emoji with explicit X Emoji after pointer Clear

API36 tablet1920×1200 /240dpi /200%, same app/test: pointer Back returns to the exact controlled launcher caller with the matching search origin/height. Query text was controlled editor setup; Back was an actual pointer action.

200% tablet caller return

Known gap, not a repair: API36 short landscape2340×1080 /420dpi /200% with the system keyboard open. Clear remains visible and its actual pointer action passes, while empty feedback is clipped under #111. The v7 harness records that measured body-visibility limitation instead of certifying the empty state. Earlier 0/2 body-visibility failures remain failed. The API26 controlled-composition precondition also remains failed before Clear, with cause open under #69; it receives no composition-clear credit. The external Pixel Launcher ANR failure and separate dismissal/continuation, transport failures and recoveries are retained in the report. No failures are converted to passes.

Known short-landscape empty-feedback gap

@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.

Root merge-gate record for exact head 75145f89d4f637e9847ec36d35cefbde2c22aaa5, base d8d8978ba63379e332cbef013fa909ea930075da.

Both required independent full base-to-head audits used actual gpt-6.1-sol / high reasoning effort, without delegation, shared-checkout/device mutation or consulting one another. Correctness/security and collector soundness: no actionable findings. UX/touch/IME/test provenance: no actionable findings; all92 actual published PNGs inspected with paired receipts and PR captions. Both reviewers verified exact head and clean tracked/staged/untracked state at startup and final inspection. These are read-only audits; reviewers executed no builds/tests/device operations.

Root independently verified source/evidence/Git bytes and the final local receipts:25 scoped positives /11 whole cohorts /171 restoration checks; five same-harness intended old-app failures /zero passes /79 checks; fourteen separate final-preservation checks. Frozen source identities and all11 original packaged assets/notices match. Builds/lint pass, lint0 errors/56 warnings per variant; Python135 per normal/optimized mode is fresh runner-source evidence; JVM343 is explicitly reused UP-TO-DATE evidence. Root's fresh final gate read confirms head-bound local/android58167385002 SUCCESS and actual pull_request Android run42062935517 completed SUCCESS for this exact head: https://github.com/moikdev/droidcast/actions/runs/42062935517 . The earlier reviewer CI snapshots were still in progress and are not being relabeled.

Earlier failures and recoveries remain distinct. #111 empty-feedback clipping, #69 API26 composition-precondition/system-IME limits, legacy glyph gaps/#71, #89, private/cross-boot restoration, broader Store/platform/accessibility and signing/migration remain outside clearance. No broad parity or production claim. Root will use an expected-head merge only for the reviewed, verified commit.

@moikdev
moikdev merged commit 102ec17 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.

Add explicit touch Clear search controls to launcher and Emoji

1 participant