Don’t allow editing custom accent colour if system accent colour is selected

This commit is contained in:
Patryk Michalik
2021-08-05 13:52:12 +02:00
parent a3d135576b
commit 17192ee526
2 changed files with 24 additions and 7 deletions
@@ -17,11 +17,12 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.dp
import app.lawnchair.ui.util.addIf
@Composable
fun ClickableIcon(
painter: Painter,
onClick: () -> Unit,
onClick: (() -> Unit)?,
modifier: Modifier = Modifier,
tint: Color = LocalContentColor.current.copy(alpha = LocalContentAlpha.current)
) {
@@ -31,7 +32,9 @@ fun ClickableIcon(
.padding(start = 8.dp)
.size(height = 40.dp, width = 40.dp)
.clip(CircleShape)
.clickable(onClick = onClick)
.addIf(onClick != null) {
clickable(onClick = onClick!!)
}
) {
Icon(
painter = painter,
@@ -258,11 +258,25 @@ fun ModeRow(
)
}
if (onEditClick != null) {
ClickableIcon(
painter = painterResource(id = R.drawable.ic_edit),
tint = MaterialTheme.colors.primary,
onClick = onEditClick
)
Crossfade(targetState = selected) {
if (it) {
ClickableIcon(
painter = painterResource(id = R.drawable.ic_edit),
tint = MaterialTheme.colors.primary,
onClick = onEditClick
)
} else {
CompositionLocalProvider(
LocalContentAlpha provides ContentAlpha.disabled,
LocalContentColor provides MaterialTheme.colors.primary
) {
ClickableIcon(
painter = painterResource(id = R.drawable.ic_edit),
onClick = null
)
}
}
}
}
}
if (showDivider) {