Fix clock icon shape clipping

This commit is contained in:
MM20 2023-05-22 21:34:09 +02:00
parent 875043c214
commit a294980627
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -38,6 +38,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.Size import androidx.compose.ui.geometry.Size
@ -187,6 +188,7 @@ fun ShapedLauncherIcon(
when (fg) { when (fg) {
is ClockLayer -> { is ClockLayer -> {
ClockLayer( ClockLayer(
modifier = Modifier.fillMaxSize().clip(shape),
sublayers = fg.sublayers, sublayers = fg.sublayers,
defaultMinute = fg.defaultMinute, defaultMinute = fg.defaultMinute,
defaultHour = fg.defaultHour, defaultHour = fg.defaultHour,
@ -198,6 +200,7 @@ fun ShapedLauncherIcon(
is TintedClockLayer -> { is TintedClockLayer -> {
ClockLayer( ClockLayer(
modifier = Modifier.fillMaxSize().clip(shape),
sublayers = fg.sublayers, sublayers = fg.sublayers,
defaultMinute = fg.defaultMinute, defaultMinute = fg.defaultMinute,
defaultHour = fg.defaultHour, defaultHour = fg.defaultHour,
@ -424,6 +427,7 @@ private fun ClockLayer(
defaultSecond: Int, defaultSecond: Int,
scale: Float, scale: Float,
tintColor: Color?, tintColor: Color?,
modifier: Modifier = Modifier,
) { ) {
val time = remember(LocalTime.current) { val time = remember(LocalTime.current) {
Instant.ofEpochMilli(System.currentTimeMillis()).atZone(ZoneId.systemDefault()) Instant.ofEpochMilli(System.currentTimeMillis()).atZone(ZoneId.systemDefault())
@ -460,7 +464,7 @@ private fun ClockLayer(
} }
} }
Canvas(modifier = Modifier.fillMaxSize()) { Canvas(modifier = modifier) {
val colorFilter = tintColor?.let { val colorFilter = tintColor?.let {
PorterDuffColorFilter(tintColor.toArgb(), PorterDuff.Mode.SRC_IN) PorterDuffColorFilter(tintColor.toArgb(), PorterDuff.Mode.SRC_IN)
} }