diff --git a/app/src/main/java/com/sameerasw/essentials/domain/diy/Action.kt b/app/src/main/java/com/sameerasw/essentials/domain/diy/Action.kt index ffeea6f4..d40029fa 100644 --- a/app/src/main/java/com/sameerasw/essentials/domain/diy/Action.kt +++ b/app/src/main/java/com/sameerasw/essentials/domain/diy/Action.kt @@ -45,8 +45,8 @@ sealed interface Action { } data class DimWallpaper(val dimAmount: Float = 0f) : Action { - override val title: Int = R.string.diy_action_dim_wallpaper - override val icon: Int = R.drawable.rounded_mobile_screensaver_24 + override val title: Int get() = R.string.diy_action_dim_wallpaper + override val icon: Int get() = R.drawable.rounded_mobile_screensaver_24 override val permissions: List = listOf("shizuku", "root") override val isConfigurable: Boolean = true } diff --git a/app/src/main/java/com/sameerasw/essentials/ui/components/diy/AutomationItem.kt b/app/src/main/java/com/sameerasw/essentials/ui/components/diy/AutomationItem.kt index 47949959..c786f7d5 100644 --- a/app/src/main/java/com/sameerasw/essentials/ui/components/diy/AutomationItem.kt +++ b/app/src/main/java/com/sameerasw/essentials/ui/components/diy/AutomationItem.kt @@ -53,6 +53,7 @@ import com.sameerasw.essentials.ui.components.containers.RoundedCardContainer import com.sameerasw.essentials.ui.components.menus.SegmentedDropdownMenu import com.sameerasw.essentials.ui.components.menus.SegmentedDropdownMenuItem import com.sameerasw.essentials.utils.HapticUtil +import androidx.compose.ui.platform.LocalContext @OptIn(ExperimentalFoundationApi::class) @Composable @@ -167,8 +168,17 @@ fun AutomationItem( .fillMaxHeight(), verticalAlignment = Alignment.CenterVertically ) { + val context = LocalContext.current + val validatedIcon = remember(icon) { + try { + if (context.resources.getResourceTypeName(icon) == "drawable") icon + else R.drawable.rounded_do_not_disturb_on_24 + } catch (e: Exception) { + R.drawable.rounded_do_not_disturb_on_24 + } + } Icon( - painter = painterResource(id = icon), + painter = painterResource(id = validatedIcon), contentDescription = null, modifier = Modifier.size(24.dp), tint = MaterialTheme.colorScheme.onSecondaryContainer @@ -281,8 +291,18 @@ fun ActionItem( modifier = Modifier.padding(12.dp), verticalAlignment = Alignment.CenterVertically ) { + val context = LocalContext.current + val iconId = action?.icon ?: R.drawable.rounded_do_not_disturb_on_24 + val validatedIcon = remember(iconId) { + try { + if (context.resources.getResourceTypeName(iconId) == "drawable") iconId + else R.drawable.rounded_do_not_disturb_on_24 + } catch (e: Exception) { + R.drawable.rounded_do_not_disturb_on_24 + } + } Icon( - painter = painterResource(id = action?.icon ?: R.drawable.rounded_do_not_disturb_on_24), + painter = painterResource(id = validatedIcon), contentDescription = null, modifier = Modifier.size(24.dp), tint = MaterialTheme.colorScheme.onSurface