From 0650df41d625f9e6182dcc8d4698611f3621edc0 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Sun, 26 Oct 2025 14:22:21 +0800 Subject: [PATCH] compose: Tint info icon on trackers or compatibility issues Use amber color to attract user's attention towards the issue Signed-off-by: Aayush Gupta --- .../java/com/aurora/store/compose/composable/Info.kt | 6 +++++- .../main/java/com/aurora/store/compose/theme/Color.kt | 10 ++++++++++ .../compose/ui/details/components/Compatibility.kt | 2 ++ .../store/compose/ui/details/components/Privacy.kt | 6 ++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/aurora/store/compose/theme/Color.kt diff --git a/app/src/main/java/com/aurora/store/compose/composable/Info.kt b/app/src/main/java/com/aurora/store/compose/composable/Info.kt index 86584f24b..38e357145 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/Info.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/Info.kt @@ -12,11 +12,13 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.material3.Icon +import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource @@ -36,6 +38,7 @@ import com.aurora.store.compose.preview.AppPreviewProvider * @param title Title of the information * @param description Information to show * @param painter Optional painter to draw the icon + * @param tint Optional tint color for the icon * @param onClick Callback when this composable is clicked */ @Composable @@ -44,6 +47,7 @@ fun Info( title: AnnotatedString, description: AnnotatedString? = null, painter: Painter? = null, + tint: Color = LocalContentColor.current, onClick: (() -> Unit)? = null ) { Row( @@ -57,7 +61,7 @@ fun Info( horizontalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_normal)), verticalAlignment = Alignment.CenterVertically ) { - if (painter != null) Icon(painter = painter, contentDescription = null) + if (painter != null) Icon(painter = painter, contentDescription = null, tint = tint) Column(modifier = Modifier.weight(1F)) { Text( text = title, diff --git a/app/src/main/java/com/aurora/store/compose/theme/Color.kt b/app/src/main/java/com/aurora/store/compose/theme/Color.kt new file mode 100644 index 000000000..8a5d406d5 --- /dev/null +++ b/app/src/main/java/com/aurora/store/compose/theme/Color.kt @@ -0,0 +1,10 @@ +/* + * SPDX-FileCopyrightText: 2025 The Calyx Institute + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +package com.aurora.store.compose.theme + +import androidx.compose.ui.graphics.Color + +val warningColor = Color(0xFFFFA000) // Amber diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt index 56016e659..b0abdee50 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info +import com.aurora.store.compose.theme.warningColor import com.aurora.store.data.model.Scores /** @@ -48,6 +49,7 @@ fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) { Info( painter = painterResource(R.drawable.ic_menu_about), + tint = warningColor, title = AnnotatedString( text = stringResource(R.string.details_compatibility_gms_required_title) ), diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt index 10011b4ef..36a9268f6 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt @@ -7,6 +7,7 @@ package com.aurora.store.compose.ui.details.components import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column +import androidx.compose.material3.LocalContentColor import androidx.compose.runtime.Composable import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource @@ -16,6 +17,7 @@ import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info +import com.aurora.store.compose.theme.warningColor import com.aurora.store.data.model.Report /** @@ -44,6 +46,10 @@ fun Privacy(report: Report?, onNavigateToDetailsExodus: (() -> Unit)? = null) { Info( painter = painterResource(R.drawable.ic_visibility), + tint = when { + report != null && report.trackers.isEmpty() -> LocalContentColor.current + else -> warningColor + }, title = AnnotatedString(text = reportStatus), description = AnnotatedString(text = stringResource(R.string.exodus_tracker_desc)) )