TX strip: make the CQ options sheet discoverable#349
Merged
Conversation
Holding the CQ button opens a sheet (CQ modifier, free text, Field Day), but the only affordance was a 10dp, 50%-alpha chevron tucked after the label and the whole-button long-press. A tester reported they'd never have found it. Replace the faint glyph with a visible, separately-tappable chevron button at the trailing edge of the CQ button: a plain tap opens the options sheet (discoverable), with a "CQ message options" content description for accessibility. The whole button still long-presses to the same sheet as a shortcut, and short-tap still calls CQ. Extract the subtitle-precedence logic (free text > Field Day > modifier > none) into a testable cqStripSubtitle() helper with unit tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev #349 +/- ##
============================================
- Coverage 11.70% 11.50% -0.21%
- Complexity 113 120 +7
============================================
Files 85 89 +4
Lines 11691 12578 +887
Branches 2110 2249 +139
============================================
+ Hits 1369 1447 +78
- Misses 10191 11000 +809
Partials 131 131
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Improves the discoverability and accessibility of the CQ options sheet in the TX strip by adding a dedicated chevron affordance and extracting subtitle precedence logic into a unit-testable helper.
Changes:
- Adds a separately tappable chevron button on the CQ action to open the CQ options sheet (while preserving whole-button long-press).
- Introduces
cqStripSubtitle()helper and adds unit tests to validate subtitle precedence and STOP behavior. - Adds an accessibility content description string for the CQ options affordance.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| ft8af/app/src/main/kotlin/radio/ks3ckc/ft8af/ui/components/TxStrip.kt | Adds cqStripSubtitle() helper and replaces the faint chevron with a dedicated tappable chevron affordance plus accessibility semantics. |
| ft8af/app/src/main/res/values/strings_compose.xml | Adds tx_cq_options string for TalkBack/content description on the new chevron button. |
| ft8af/app/src/test/kotlin/radio/ks3ckc/ft8af/ui/components/CqStripSubtitleTest.kt | Adds unit tests covering subtitle precedence and STOP-state behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Problem
Holding the CQ button opens an options sheet (CQ modifier, free text, Field Day), but the only hint it existed was a 10dp, 50%-alpha chevron tucked after the label plus the whole-button long-press gesture. A tester reported: "it's too hard to understand that holding CQ button shown popup. I wouldn't know if I dont report this issue."
Change
tx_cq_optionscontent description ("CQ message options …") for accessibility / TalkBack.cqStripSubtitle()helper.Tests
CqStripSubtitleTestcovering the precedence + STOP-state cases.testDebugUnitTestgreen; built and installed on the Pixel 8, launches cleanly.Part of a series addressing tester feedback on the Android UI (item 1 of 4).