Skip to content

Device: Reorganize the per-device settings screen#506

Merged
d4rken merged 3 commits into
mainfrom
refactor/device-settings-layout
Apr 14, 2026
Merged

Device: Reorganize the per-device settings screen#506
d4rken merged 3 commits into
mainfrom
refactor/device-settings-layout

Conversation

@d4rken

@d4rken d4rken commented Apr 14, 2026

Copy link
Copy Markdown
Member

What changed

  • "Other" category is now called "Smart features" and contains Conversation Awareness alongside Sleep Detection
  • Microphone Mode moved out of the former "Other" bucket into "Sound"
  • Noise control now sits in its own card (matching Sound / Controls / Smart features) with a divider separating the mode picker from the trailing items (Adaptive Noise, NC-with-One-AirPod, cycle upgrade)

Technical Context

  • Conversation Awareness moved out of Noise Control because its description ("lower volume and reduce noise when someone speaks") is an automatic-detection toggle — same family as Sleep Detection, not a user-driven mode selection
  • Wrapping Noise Control in SettingsSection required dropping the outer ElevatedCard from NoiseControlCombined to avoid nesting a card inside the Surface
  • settings_category_other_label stays — still used by GeneralSettingsScreen and SettingsScreen; only the DeviceSettings reference was swapped for a new device_settings_category_smart_features_label
  • Extracted seven composables into cards/, dialogs/, and components/ subpackages with their own @Preview2 fixtures; the screen file is now orchestration only

Visual: wrap Noise Control in SettingsSection for consistency with Sound/Controls/Smart features, add divider between ANC mode picker and trailing items.

Categories: rename 'Other' to 'Smart features', move Microphone Mode to Sound, move Conversation Awareness to Smart features alongside Sleep Detection, place Adaptive Noise adjacent to ANC mode picker.

Extraction: split DeviceInfoCard, NotConnectedCard, AapUnavailableCard into cards/; AutoConnectConditionDialog, RenameDialog, SystemRenameUnavailableDialog into dialogs/; NoiseControlCombined into components/. Each with isolated previews.
@d4rken d4rken added the enhancement Add a new feature of improve an existing feature label Apr 14, 2026
d4rken added 2 commits April 14, 2026 14:34
…ction into Reactions

AAP vs BLE is an implementation detail. From a user perspective these are 'when X happens, do Y' toggles like Auto Play/Pause. Gate them on device.isAapConnected so they stay hidden on phones without L2CAP support, avoiding confusion. The separate 'Smart features' section and its string resource are removed.
Three dividers separate the logical clusters inside the Reactions section: ear-detection behaviors, AAP auto-behaviors (when connected), connection settings, and pop-up notifications. AAP divider only renders when at least one AAP item is shown.
@d4rken d4rken merged commit 60970a2 into main Apr 14, 2026
10 checks passed
@d4rken d4rken deleted the refactor/device-settings-layout branch April 14, 2026 12:39
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