Skip to content

Device: Improve settings screen layout and grouping#492

Merged
d4rken merged 1 commit into
mainfrom
refactor/device-settings-grouping
Apr 8, 2026
Merged

Device: Improve settings screen layout and grouping#492
d4rken merged 1 commit into
mainfrom
refactor/device-settings-grouping

Conversation

@d4rken

@d4rken d4rken commented Apr 8, 2026

Copy link
Copy Markdown
Member

What changed

Settings on the AirPods device screen are easier to read at a glance. Icons now align consistently with their labels, and multi-option controls (like Press Speed or Call Controls) are visually grouped inside a rounded tonal container so it is immediately clear which buttons belong to which setting.

Technical Context

  • Icon alignment inconsistency came from SettingsBaseItem using Alignment.CenterVertically while the custom SegmentedSettingRow and EndCallMuteMicControl headers defaulted to Top. Fix top-aligns only the icon (not the entire row — that would top-pin trailing Switches across every settings screen in the app) and only when a subtitle is present, matching Material 3's ListItem heuristic.
  • Multi-control settings now wrap their body in a Surface(color = surfaceContainerLow, shape = RoundedCornerShape(16.dp)) with an 8dp horizontal outer margin, creating an unmistakable tonal container that groups the icon, title, subtitle, and segmented/radio control as one visual unit.
  • Inner padding inside the container reduced from 16dp to 12dp horizontal so segmented button labels do not get squeezed by the added outer margin.
  • Extracted a shared SettingsCompoundHeader composable to deduplicate the icon/title/subtitle header block between SegmentedSettingRow and EndCallMuteMicControl.
  • NoiseControlCombined left untouched — it already lives inside its own ElevatedCard and does not need a second container.

@d4rken d4rken added the enhancement Add a new feature of improve an existing feature label Apr 8, 2026
@d4rken d4rken merged commit 87d366b into main Apr 8, 2026
10 checks passed
@d4rken d4rken deleted the refactor/device-settings-grouping branch April 8, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Add a new feature of improve an existing feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant