From 938242e971b461cb674c588e1ab595cd0d751e77 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 27 Jan 2025 11:16:24 -0300 Subject: [PATCH] Use colorTertiaryContainer for warning containers --- .../java/org/fdroid/fdroid/compose/ComposeUtils.kt | 14 ++++++++++++++ .../views/AppDetailsRecyclerViewAdapter.java | 3 ++- .../fdroid/fdroid/views/repos/RepoPreviewScreen.kt | 3 ++- app/src/main/res/layout/app_details2_header.xml | 2 +- app/src/main/res/values/attrs.xml | 1 + app/src/main/res/values/colors.xml | 1 - app/src/main/res/values/themes.xml | 1 + 7 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/compose/ComposeUtils.kt b/app/src/main/java/org/fdroid/fdroid/compose/ComposeUtils.kt index 94f0bfa43..e94d47456 100644 --- a/app/src/main/java/org/fdroid/fdroid/compose/ComposeUtils.kt +++ b/app/src/main/java/org/fdroid/fdroid/compose/ComposeUtils.kt @@ -1,5 +1,7 @@ package org.fdroid.fdroid.compose +import androidx.annotation.AttrRes +import androidx.annotation.ColorInt import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding @@ -13,14 +15,18 @@ import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.rememberUpdatedState import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.compose.LocalLifecycleOwner +import com.google.android.material.color.MaterialColors object ComposeUtils { @@ -111,3 +117,11 @@ object ComposeUtils { ) } } + +@Composable +@ColorInt +@ReadOnlyComposable +fun colorAttribute(@AttrRes attrColor: Int): Color { + val color = MaterialColors.getColor(LocalContext.current, attrColor, 0) + return Color(color) +} diff --git a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java index 504d4452f..a3ec939f6 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java +++ b/app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java @@ -51,6 +51,7 @@ import androidx.recyclerview.widget.LinearSmoothScroller; import androidx.recyclerview.widget.RecyclerView; import androidx.transition.TransitionManager; +import com.google.android.material.color.MaterialColors; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.progressindicator.LinearProgressIndicator; @@ -583,7 +584,7 @@ public class AppDetailsRecyclerViewAdapter warningView.setVisibility(View.VISIBLE); } else if (SessionInstallManager.canBeUsed(context) && suggestedApk != null && !SessionInstallManager.isTargetSdkSupported(suggestedApk.targetSdkVersion)) { - int color = ContextCompat.getColor(context, R.color.warning); + int color = MaterialColors.getColor(warningView, R.attr.warning); warningView.setBackgroundColor(color); warningView.setText(R.string.warning_target_sdk); warningView.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/org/fdroid/fdroid/views/repos/RepoPreviewScreen.kt b/app/src/main/java/org/fdroid/fdroid/views/repos/RepoPreviewScreen.kt index 83483390b..d5d5fd148 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/repos/RepoPreviewScreen.kt +++ b/app/src/main/java/org/fdroid/fdroid/views/repos/RepoPreviewScreen.kt @@ -45,6 +45,7 @@ import org.fdroid.fdroid.R import org.fdroid.fdroid.Utils import org.fdroid.fdroid.Utils.getGlideModel import org.fdroid.fdroid.compose.ComposeUtils.FDroidButton +import org.fdroid.fdroid.compose.colorAttribute import org.fdroid.fdroid.ui.theme.FDroidContent import org.fdroid.index.v2.FileV2 import org.fdroid.repo.FetchResult.IsExistingMirror @@ -180,7 +181,7 @@ fun RepoPreviewHeader( if (warningText != null) Box( modifier = Modifier .fillMaxWidth() - .background(colorResource(R.color.warning)), + .background(colorAttribute(R.attr.warning)), contentAlignment = Alignment.Center, ) { Text( diff --git a/app/src/main/res/layout/app_details2_header.xml b/app/src/main/res/layout/app_details2_header.xml index 130b33ffc..3492a8794 100644 --- a/app/src/main/res/layout/app_details2_header.xml +++ b/app/src/main/res/layout/app_details2_header.xml @@ -189,7 +189,7 @@ android:id="@+id/warning" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@color/warning" + android:background="?attr/warning" android:padding="8dp" android:text="@string/warning_target_sdk" android:textAlignment="center" diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 7e4da89bd..44a65c0dd 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -6,6 +6,7 @@ + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index fcff03f09..317467805 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -31,7 +31,6 @@ #ff757575 #cc222222 - #827717 #fff4511e diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 397096c54..3f358c1dd 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -48,6 +48,7 @@ ?attr/colorSurfaceDim + ?attr/colorTertiaryContainer #4a4a4a #424242 #424242