From 60970a2a0c255a2a66d2e24d6cf2c56299abc185 Mon Sep 17 00:00:00 2001 From: darken Date: Tue, 14 Apr 2026 14:37:41 +0200 Subject: [PATCH] refactor(device-settings): Group Reactions items with dividers 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. --- .../ui/devicesettings/DeviceSettingsScreen.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/eu/darken/capod/main/ui/devicesettings/DeviceSettingsScreen.kt b/app/src/main/java/eu/darken/capod/main/ui/devicesettings/DeviceSettingsScreen.kt index 14f8b654..a5674928 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/devicesettings/DeviceSettingsScreen.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/devicesettings/DeviceSettingsScreen.kt @@ -352,9 +352,12 @@ fun DeviceSettingsScreen( text = stringResource(R.string.settings_eardetection_info_description), ) } + ReactionsDivider() } if (device.isAapConnected) { val convAwareness = device.conversationalAwareness + val hasAnyAapReaction = + (features.hasConversationAwareness && convAwareness != null) || features.hasSleepDetection if (features.hasConversationAwareness && convAwareness != null) { SettingsSwitchItem( icon = Icons.TwoTone.Hearing, @@ -378,6 +381,9 @@ fun DeviceSettingsScreen( requiresUpgrade = !isPro, ) } + if (hasAnyAapReaction) { + ReactionsDivider() + } } SettingsSwitchItem( icon = Icons.TwoTone.BluetoothConnected, @@ -393,6 +399,7 @@ fun DeviceSettingsScreen( onClick = { if (reactions.autoConnect) showAutoConnectConditionDialog = true }, enabled = reactions.autoConnect, ) + ReactionsDivider() if (features.hasCase) { SettingsSwitchItem( icon = Icons.AutoMirrored.TwoTone.Message, @@ -681,6 +688,14 @@ fun DeviceSettingsScreen( } } +@Composable +private fun ReactionsDivider() { + HorizontalDivider( + modifier = Modifier.padding(horizontal = 16.dp, vertical = 4.dp), + color = MaterialTheme.colorScheme.outlineVariant, + ) +} + @Composable private fun ToneVolumeSlider( level: Int,