diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt index 25607f95ae..3c041c8512 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/SafetyTipsBottomSheetDialog.kt @@ -47,7 +47,7 @@ import kotlinx.coroutines.launch import org.signal.core.ui.compose.BottomSheets import org.signal.core.ui.compose.Buttons import org.signal.core.ui.compose.theme.SignalTheme -import org.signal.core.ui.compose.theme.attributeColor +import org.signal.core.ui.compose.theme.colorAttribute import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.compose.ComposeBottomSheetDialogFragment @@ -234,7 +234,7 @@ private fun SafetyTipPreview() { private fun SafetyTip(safetyTip: SafetyTipData) { Surface( shape = RoundedCornerShape(18.dp), - color = attributeColor(id = R.attr.safety_tip_background), + color = colorAttribute(id = R.attr.safety_tip_background), contentColor = MaterialTheme.colorScheme.onSurface, modifier = Modifier .fillMaxWidth() @@ -247,7 +247,7 @@ private fun SafetyTip(safetyTip: SafetyTipData) { ) { Surface( shape = RoundedCornerShape(12.dp), - color = attributeColor(id = R.attr.safety_tip_image_background), + color = colorAttribute(id = R.attr.safety_tip_image_background), modifier = Modifier .padding(12.dp) .fillMaxWidth() diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigation.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigation.kt index 793bb50ab4..887d876d81 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigation.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainNavigation.kt @@ -23,8 +23,10 @@ import androidx.compose.material3.IconButtonDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem +import androidx.compose.material3.NavigationBarItemDefaults import androidx.compose.material3.NavigationRail import androidx.compose.material3.NavigationRailItem +import androidx.compose.material3.NavigationRailItemDefaults import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -58,7 +60,7 @@ import com.airbnb.lottie.compose.rememberLottieDynamicProperties import com.airbnb.lottie.compose.rememberLottieDynamicProperty import org.signal.core.ui.compose.Previews import org.signal.core.ui.compose.SignalPreview -import org.signal.core.ui.compose.theme.SignalTheme +import org.signal.core.ui.compose.theme.colorAttribute import org.thoughtcrime.securesms.R private val LOTTIE_SIZE = 28.dp @@ -101,7 +103,7 @@ fun MainNavigationBar( onDestinationSelected: (MainNavigationDestination) -> Unit ) { NavigationBar( - containerColor = SignalTheme.colors.colorSurface2, + containerColor = colorAttribute(R.attr.navbar_container_color), contentColor = MaterialTheme.colorScheme.onSurface, modifier = Modifier.height(if (state.compact) 48.dp else 80.dp) ) { @@ -123,6 +125,9 @@ fun MainNavigationBar( val selected = state.selectedDestination == destination NavigationBarItem( + colors = NavigationBarItemDefaults.colors( + indicatorColor = colorAttribute(R.attr.navbar_active_indicator_color), + ), selected = selected, icon = { NavigationDestinationIcon( @@ -209,7 +214,7 @@ fun MainNavigationRail( onDestinationSelected: (MainNavigationDestination) -> Unit ) { NavigationRail( - containerColor = SignalTheme.colors.colorSurface1, + containerColor = colorAttribute(R.attr.navbar_container_color), header = { FilledTonalIconButton( onClick = { }, @@ -263,6 +268,9 @@ fun MainNavigationRail( Box { NavigationRailItem( + colors = NavigationRailItemDefaults.colors( + indicatorColor = colorAttribute(R.attr.navbar_active_indicator_color) + ), modifier = Modifier.padding(bottom = if (MainNavigationDestination.entries.lastIndex == idx) 0.dp else 16.dp), icon = { NavigationDestinationIcon( diff --git a/app/src/main/res/drawable/conversation_tab_icon_background.xml b/app/src/main/res/drawable/conversation_tab_icon_background.xml deleted file mode 100644 index 291476acf7..0000000000 --- a/app/src/main/res/drawable/conversation_tab_icon_background.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 6a9aa304c0..4c84da3edd 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -369,7 +369,7 @@ @color/molly_surface_container_light - + @color/molly_secondary_container_light @color/molly_surface_container_light @@ -535,7 +535,7 @@ @color/molly_surface_container_high_dark - + @color/molly_surface_bright_dark @color/molly_surface_container_dark diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt b/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt index 0983a97c0d..edbfea35d2 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/Buttons.kt @@ -46,7 +46,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import org.signal.core.ui.R import org.signal.core.ui.compose.theme.SignalTheme -import org.signal.core.ui.compose.theme.attributeColor +import org.signal.core.ui.compose.theme.colorAttribute object Buttons { @@ -99,8 +99,8 @@ object Buttons { enabled: Boolean = true, shape: Shape = ButtonDefaults.filledTonalShape, colors: ButtonColors = ButtonDefaults.filledTonalButtonColors( - containerColor = attributeColor(R.attr.extended_action_button_container_color), - contentColor = attributeColor(R.attr.extended_action_button_icon_color) + containerColor = colorAttribute(R.attr.extended_action_button_container_color), + contentColor = colorAttribute(R.attr.extended_action_button_icon_color) ), elevation: ButtonElevation? = ButtonDefaults.filledTonalButtonElevation(), border: BorderStroke? = null, @@ -129,8 +129,8 @@ object Buttons { enabled: Boolean = true, shape: Shape = ButtonDefaults.filledTonalShape, colors: ButtonColors = ButtonDefaults.filledTonalButtonColors( - containerColor = attributeColor(R.attr.extended_action_button_container_color), - contentColor = attributeColor(R.attr.extended_action_button_icon_color) + containerColor = colorAttribute(R.attr.extended_action_button_container_color), + contentColor = colorAttribute(R.attr.extended_action_button_icon_color) ), elevation: ButtonElevation? = ButtonDefaults.filledTonalButtonElevation(), border: BorderStroke? = null, @@ -160,8 +160,8 @@ object Buttons { shape: Shape = ButtonDefaults.shape, tonal: Boolean = false, colors: ButtonColors = if (tonal) ButtonDefaults.filledTonalButtonColors( - containerColor = attributeColor(R.attr.extended_action_button_container_color), - contentColor = attributeColor(R.attr.extended_action_button_icon_color) + containerColor = colorAttribute(R.attr.extended_action_button_container_color), + contentColor = colorAttribute(R.attr.extended_action_button_icon_color) ) else ButtonDefaults.buttonColors(), elevation: ButtonElevation? = ButtonDefaults.buttonElevation(), border: BorderStroke? = null, @@ -205,7 +205,7 @@ object Buttons { painter = painterResource(iconResId), contentDescription = null, modifier = Modifier.padding(16.dp), - colorFilter = ColorFilter.tint(attributeColor(R.attr.extended_action_button_icon_color)) + colorFilter = ColorFilter.tint(colorAttribute(R.attr.extended_action_button_icon_color)) ) } } @@ -227,8 +227,8 @@ object Buttons { shape = RoundedCornerShape(18.dp), modifier = Modifier.size(56.dp), colors = IconButtonDefaults.filledTonalIconButtonColors( - containerColor = attributeColor(R.attr.extended_action_button_container_color), - contentColor = attributeColor(R.attr.extended_action_button_icon_color) + containerColor = colorAttribute(R.attr.extended_action_button_container_color), + contentColor = colorAttribute(R.attr.extended_action_button_icon_color) ), enabled = enabled, content = imageContent diff --git a/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt b/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt index 4882b5a29d..3ceb7f5146 100644 --- a/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt +++ b/core-ui/src/main/java/org/signal/core/ui/compose/theme/SignalTheme.kt @@ -277,7 +277,7 @@ private fun snackbarColors(colorScheme: ColorScheme, isDarkMode: Boolean, isDyna } @Composable -fun attributeColor(@AttrRes id: Int): Color { +fun colorAttribute(@AttrRes id: Int): Color { val theme = LocalContext.current.theme val typedValue = TypedValue() return if (theme.resolveAttribute(id, typedValue, true) && typedValue.resourceId != 0) {