Skip to content

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

Closed

Description

@moikdev

Part of #1 and #71, following merged PR #113. Scope: the native launcher and Emoji search on wide viewports.

Observed baseline: on Tinycast_Tablet_API_36 at 2340×1080 /420dpi with the system IME open and 200% font, the retained feedback-shown-matching frames show the search header while the nonempty result list/grid is below the palette viewport. These are the exact 6c5825bf app / 72dc12a instrumentation captures hash-listed in PR113's retained manifest; the prior functional-smoke tests did not establish full nonempty reachability. System IME dismissal and palette scrolling already exist.

The app's existing 48dp keyboard button always says Show on-screen keyboard and requests show, including while the keyboard is already visible (launcher, Emoji). A state-appropriate Hide/Show action would give touch users an in-app way to browse results and return to editing.

Acceptance:

  • Use the existing fixed, nonoverlapping 48dp header slot. Visible icon and accessibility label communicate Hide versus Show based on actual IME visibility. Preserve requested font scale, editor width and header origin.
  • Actual pointer Hide reveals usable launcher results / Emoji grid; pointer Show reopens the IME. Preserve exact query and selection, category/filter, current result, route and editor focus. Avoid synthetic text resets; label actual composition behavior honestly.
  • Reject callbacks from closed/replaced searches, obsolete visibility modes, inactive windows and obstructing menus/reviews. Preserve existing keyboard/composition/activation behavior and phone layouts.
  • Establish meaningful same-instrumentation old-app controls by tapping the existing button and witnessing that the visible IME fails to hide; a missing new label alone earns no functional-control credit.
  • Cover actual tablet and short-landscape at 100%/200%, IME visible/hidden, nonempty/empty search and relevant caller/ownership regressions. Capture real before/after states, complete target and natural-line geometry, and guarded restoration of app data/APKs/settings.
  • Keep nonempty functional/selected-target evidence distinct from full row/grid typography, physical typing, every system-IME transition, OEM/TalkBack and whole-Store parity. Resolve API26 keyboard, IME and caller-selection compatibility failures #69/Make palette controls readable and reliable for touch and large fonts #71/Render native Markdown and metadata with correct List.Detail visibility #89 and signing/migration remain open.
  • Publish exact source/APK identities, real commit-pinned Android PNGs, local checks, actual exact-head hosted Android, two independent gpt-6.1-sol/high full-change audits and expected-head merge proof. Update Track complete Tinycast parity and verified Android equivalents #1 and docs/PARITY-TRACKER.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions