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) {