feat(android): drop the in-stream mic control from the stream overlay #197

Merged
enricobuehler merged 1 commits from worktree-android-remove-mic-button into main 2026-08-13 14:03:29 +00:00
Owner

The mic element sat in the top-right corner of every Android stream that opened a capture — a standing, tappable button on touch, a red Muted badge on TV. It goes for now: the on-screen overlay UI being built will carry mute as one of its controls, and re-introducing it there is the right moment to decide how it looks.

MicMuteControl and its call site in StreamScreen.kt are removed, along with the imports that only it used (clickable, Row, Spacer, width, Icons, Mic, MicOff, Icon, clip).

What is untouched

Mute itself. micRunning, micMuted and setMicMuted still back the Select + Y chord, which is now the whole of the control, and MicChordHint — the 1.6 s "Microphone muted / live" pill — is now its only on-screen feedback. Mic capture, the AEC/NS effect pair and the start-banner chord line are all unchanged.

Three comments that described the button were rewritten rather than left to rot: the micRunning and micHint declarations, the chord registration, and MicChordHint's doc (which pointed at the badge that no longer exists).

Consequence worth stating

On a phone or tablet with no gamepad attached there is now no way to mute mid-stream — that is the direct result of removing the only touch affordance, and it resolves when the overlay UI lands.

Verification

  • :app:compileDebugKotlin — BUILD SUCCESSFUL, no Kotlin warnings.
  • :app:testDebugUnitTest — BUILD SUCCESSFUL (only pre-existing Compose-test deprecation warnings, unrelated to this change).
  • Grepped the whole Android tree: MicMuteControl was the only mic UI element in the client, so nothing else renders one.

No CHANGELOG entry — that file is the protocol/ABI/embedder half, and this changes neither.

The mic element sat in the top-right corner of every Android stream that opened a capture — a standing, tappable button on touch, a red **Muted** badge on TV. It goes for now: the on-screen overlay UI being built will carry mute as one of its controls, and re-introducing it there is the right moment to decide how it looks. `MicMuteControl` and its call site in `StreamScreen.kt` are removed, along with the imports that only it used (`clickable`, `Row`, `Spacer`, `width`, `Icons`, `Mic`, `MicOff`, `Icon`, `clip`). ## What is untouched Mute itself. `micRunning`, `micMuted` and `setMicMuted` still back the **Select + Y** chord, which is now the whole of the control, and `MicChordHint` — the 1.6 s "Microphone muted / live" pill — is now its only on-screen feedback. Mic capture, the AEC/NS effect pair and the start-banner chord line are all unchanged. Three comments that described the button were rewritten rather than left to rot: the `micRunning` and `micHint` declarations, the chord registration, and `MicChordHint`'s doc (which pointed at the badge that no longer exists). ## Consequence worth stating On a phone or tablet with no gamepad attached there is now no way to mute mid-stream — that is the direct result of removing the only touch affordance, and it resolves when the overlay UI lands. ## Verification - `:app:compileDebugKotlin` — BUILD SUCCESSFUL, no Kotlin warnings. - `:app:testDebugUnitTest` — BUILD SUCCESSFUL (only pre-existing Compose-test deprecation warnings, unrelated to this change). - Grepped the whole Android tree: `MicMuteControl` was the only mic UI element in the client, so nothing else renders one. No CHANGELOG entry — that file is the protocol/ABI/embedder half, and this changes neither.
enricobuehler added 1 commit 2026-08-13 14:02:51 +00:00
feat(android): drop the in-stream mic control from the stream overlay
ci / rust-arm64 (pull_request) Successful in 2m2s
ci / docs-site (pull_request) Successful in 1m53s
ci / bun-nix (pull_request) Successful in 24s
ci / web (pull_request) Successful in 7m24s
ci / rust (pull_request) Successful in 15m22s
android / android (pull_request) Failing after 1m3s
e7af5a5274
The mic element sat in the top-right corner of every stream that opened a
capture — a standing button on touch, a Muted badge on TV. It goes for now;
the on-screen overlay UI being built will carry mute as one of its controls,
and re-introducing it there is the right moment to decide how it looks.

Mute itself is untouched: `micRunning`, `micMuted` and `setMicMuted` still
back the Select + Y chord, which is now the whole of the control, and
`MicChordHint` is now its only on-screen feedback (its doc updated to say so
rather than pointing at the badge that no longer exists).
enricobuehler scheduled this pull request to auto merge when all checks succeed 2026-08-13 14:03:25 +00:00
enricobuehler merged commit 0a53457cb7 into main 2026-08-13 14:03:29 +00:00
enricobuehler deleted branch worktree-android-remove-mic-button 2026-08-13 14:03:33 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unom/punktfunk#197