v2: editable row-aligned swipe shortcut menus - #156
Merged
Merged
Conversation
Build on upstream popup and secondary-layout infrastructure. Preserve row alignment, number-row targeting, key lifecycle and cancellation without importing fork input logic. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d01a009-639e-403d-8608-f127da2a4ddc
Keep fork-only release metadata separate from the upstream-portable feature commit. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d01a009-639e-403d-8608-f127da2a4ddc
Run swipe regressions with the real gesture arbiter enabled and disabled. Cover normal glide completion and recovery after menu cancellation; reproduce a pending glide timer firing under an open menu and cancel it on activation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d01a009-639e-403d-8608-f127da2a4ddc
Name popup completion and candidate cancellation explicitly, including accessibility callers. Use named coordinate-space arguments and a shared error reporter without changing catch behavior or menu UX. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d01a009-639e-403d-8608-f127da2a4ddc
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d01a009-639e-403d-8608-f127da2a4ddc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rebuild swipe shortcuts from scratch on the clean
v2baseline. This PR targetsv2, not the old fork'smain.v2starts at LeanBitLab/LeanType2a9d5fecb67c12b834ba2a1e80ffcdc8ab7d6720, with a separate LeanTypeDual branding commit (com.asafmah.leantypedual, version2.0.0, version code6000). No old fork input logic was carried over.z x c v b n m.Lifecycle and glide follow-up
Upstream portability
Apply feature commit
a0d63617ac956a17b1836e926b669a8394f67e90, then glide fixc03e95b1f071e632a5c288dea113815d27eaf0c9and cleanup0e3f0aefede4234ee6f05c6242bb1953b511e6fe. Fork-only changelog changes are separate commits.The complete updated implementation, tests and layout documentation applied cleanly to pristine upstream
2a9d5fecbin a detached scratch worktree. All 57 feature/settings tests passed there without the branding commit. No upstream PR has been opened.Validation
da4985e936f0d80ceb1ba8b24ce9e1f7ede8656busing the unchanged production Gradle configuration.aapt: LeanTypeDual debug label, version2.0.0/6000, flavor-specific fork package IDs, and botharm64-v8aandarmeabi-v7anative libraries. APKs are in the workflow's HeliBoard-debug artifact (the inherited artifact name).Local JVM checks used an external, uncommitted init script selecting installed Build-Tools 36 and disabling native compilation, because the local SDK lacks the pinned NDK and Build-Tools 35. Native proximity JNI is shadowed and the keyboard listener is mocked; gesture arbitration, timers and event delivery are real. The separate successful Linux APK build covers the real native build. The upstream offline unit-test variant has a pre-existing minSdk 21 / graphics-path minSdk 23 manifest conflict, so local JVM tests use
standardRunTests. No production build settings were changed for these workarounds.Remaining manual check
Physical-device swipe feel and native dictionary decoding have not been exercised. Automated coverage now checks glide/shortcut event coexistence, but does not establish decoded-word accuracy or on-device feel. Keep this draft until those manual checks are done.