feat(ios,p0): iOS P0 platform, audio fixes, channel UX

This commit is contained in:
Edison Jwa
2026-05-17 22:00:00 +09:00
parent a1fefc8ab6
commit 7a59f5b9a1
38 changed files with 1705 additions and 674 deletions
@@ -183,9 +183,7 @@ class VoiceBar extends StatelessWidget {
const Spacer(),
IconButton(
tooltip: l10n.voiceOutputMuteLabel,
icon: Icon(
outputMuted ? Icons.headset_off : Icons.headset,
),
icon: Icon(outputMuted ? Icons.headset_off : Icons.headset),
isSelected: outputMuted,
selectedIcon: const Icon(Icons.headset_off),
onPressed: onToggleOutputMute,
@@ -274,13 +272,11 @@ class VoiceBar extends StatelessWidget {
// (single configuration entry point — see the comment
// on `onConfigure`).
//
// Hidden on touch-only mobile hosts (iOS / iPadOS /
// Android) because the capability story there is always
// "L0Focused via on-screen button" and that's already
// visually obvious from the PTT button being on the
// bar. Showing a degraded-capability badge there would
// be redundant + confusing.
if (isPtt && !_isTouchOnlyPttHost)
// Still shown on touch-only mobile hosts because iOS P0
// acceptance requires an explicit `L0Focused` badge and
// explanation that global hotkeys are not available in
// the iOS sandbox.
if (isPtt)
PttCapabilityBadge(
level: pttLevel,
backendId: pttBackendId,