Loading packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/CommonTile.kt +25 −11 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorProducer import androidx.compose.ui.graphics.CompositingStrategy import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource Loading @@ -79,6 +80,7 @@ import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.semantics.toggleableState import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import com.android.compose.modifiers.size import com.android.compose.modifiers.thenIf Loading @@ -101,6 +103,7 @@ import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults import com.android.systemui.qs.panels.ui.viewmodel.AccessibilityUiState import com.android.systemui.qs.ui.compose.borderOnFocus import com.android.systemui.res.R import kotlin.math.abs private const val TEST_TAG_TOGGLE = "qs_tile_toggle_target" Loading Loading @@ -330,17 +333,19 @@ private fun TileLabel( if (textSize > size.width) { // Draw a blur over the end of the text val edgeWidthPx = TileLabelBlurWidth.toPx() drawRect( topLeft = Offset(size.width - edgeWidthPx, 0f), size = Size(edgeWidthPx, size.height), brush = Brush.horizontalGradient( if (layoutDirection == LayoutDirection.Rtl) { drawFadedEdge( startX = 0f, endX = edgeWidthPx, colors = listOf(Color.Transparent, Color.Black), startX = size.width, endX = size.width - edgeWidthPx, ), blendMode = BlendMode.DstIn, ) } else { drawFadedEdge( startX = size.width - edgeWidthPx, endX = size.width, colors = listOf(Color.Black, Color.Transparent), ) } } } .basicMarquee( Loading @@ -363,6 +368,15 @@ fun Modifier.largeTilePadding(isDualTarget: Boolean = false): Modifier { ) } private fun DrawScope.drawFadedEdge(startX: Float, endX: Float, colors: List<Color>) { drawRect( topLeft = Offset(startX, 0f), size = Size(abs(endX - startX), size.height), brush = Brush.horizontalGradient(colors = colors, startX = startX, endX = endX), blendMode = BlendMode.DstIn, ) } object CommonTileDefaults { val IconSize = 32.dp val LargeTileIconSize = 28.dp Loading packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/EditTile.kt +1 −1 Original line number Diff line number Diff line Loading @@ -971,7 +971,7 @@ fun EditTile( } layout(constraints.maxWidth, constraints.maxHeight) { placeable.place(startPadding.roundToInt(), 0) placeable.placeRelative(startPadding.roundToInt(), 0) } } .largeTilePadding() Loading packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/selection/Selection.kt +2 −2 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ private fun MinimumInteractiveSizeComponent( val radius = constraints.maxHeight / 2f val rotationCenter = Offset(constraints.maxWidth - radius, radius) val position = offsetForAngle(angle(), radius, rotationCenter) + offset() placeable.place( placeable.placeRelative( position.x.roundToInt() - placeable.width / 2, position.y.roundToInt() - placeable.height / 2, ) Loading @@ -285,7 +285,7 @@ private fun Modifier.resizable(selected: Boolean, state: ResizingState): Modifie state.anchoredDraggableState.requireOffset().roundToInt().takeIf { !isIdle } ?: constraints.maxWidth val placeable = measurable.measure(constraints.copy(minWidth = width, maxWidth = width)) layout(constraints.maxWidth, placeable.height) { placeable.place(0, 0) } layout(constraints.maxWidth, placeable.height) { placeable.placeRelative(0, 0) } } } Loading Loading
packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/CommonTile.kt +25 −11 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorProducer import androidx.compose.ui.graphics.CompositingStrategy import androidx.compose.ui.graphics.drawscope.DrawScope import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource Loading @@ -79,6 +80,7 @@ import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.semantics.toggleableState import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import com.android.compose.modifiers.size import com.android.compose.modifiers.thenIf Loading @@ -101,6 +103,7 @@ import com.android.systemui.qs.panels.ui.compose.infinitegrid.CommonTileDefaults import com.android.systemui.qs.panels.ui.viewmodel.AccessibilityUiState import com.android.systemui.qs.ui.compose.borderOnFocus import com.android.systemui.res.R import kotlin.math.abs private const val TEST_TAG_TOGGLE = "qs_tile_toggle_target" Loading Loading @@ -330,17 +333,19 @@ private fun TileLabel( if (textSize > size.width) { // Draw a blur over the end of the text val edgeWidthPx = TileLabelBlurWidth.toPx() drawRect( topLeft = Offset(size.width - edgeWidthPx, 0f), size = Size(edgeWidthPx, size.height), brush = Brush.horizontalGradient( if (layoutDirection == LayoutDirection.Rtl) { drawFadedEdge( startX = 0f, endX = edgeWidthPx, colors = listOf(Color.Transparent, Color.Black), startX = size.width, endX = size.width - edgeWidthPx, ), blendMode = BlendMode.DstIn, ) } else { drawFadedEdge( startX = size.width - edgeWidthPx, endX = size.width, colors = listOf(Color.Black, Color.Transparent), ) } } } .basicMarquee( Loading @@ -363,6 +368,15 @@ fun Modifier.largeTilePadding(isDualTarget: Boolean = false): Modifier { ) } private fun DrawScope.drawFadedEdge(startX: Float, endX: Float, colors: List<Color>) { drawRect( topLeft = Offset(startX, 0f), size = Size(abs(endX - startX), size.height), brush = Brush.horizontalGradient(colors = colors, startX = startX, endX = endX), blendMode = BlendMode.DstIn, ) } object CommonTileDefaults { val IconSize = 32.dp val LargeTileIconSize = 28.dp Loading
packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/infinitegrid/EditTile.kt +1 −1 Original line number Diff line number Diff line Loading @@ -971,7 +971,7 @@ fun EditTile( } layout(constraints.maxWidth, constraints.maxHeight) { placeable.place(startPadding.roundToInt(), 0) placeable.placeRelative(startPadding.roundToInt(), 0) } } .largeTilePadding() Loading
packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/selection/Selection.kt +2 −2 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ private fun MinimumInteractiveSizeComponent( val radius = constraints.maxHeight / 2f val rotationCenter = Offset(constraints.maxWidth - radius, radius) val position = offsetForAngle(angle(), radius, rotationCenter) + offset() placeable.place( placeable.placeRelative( position.x.roundToInt() - placeable.width / 2, position.y.roundToInt() - placeable.height / 2, ) Loading @@ -285,7 +285,7 @@ private fun Modifier.resizable(selected: Boolean, state: ResizingState): Modifie state.anchoredDraggableState.requireOffset().roundToInt().takeIf { !isIdle } ?: constraints.maxWidth val placeable = measurable.measure(constraints.copy(minWidth = width, maxWidth = width)) layout(constraints.maxWidth, placeable.height) { placeable.place(0, 0) } layout(constraints.maxWidth, placeable.height) { placeable.placeRelative(0, 0) } } } Loading