diff --git a/build.gradle.kts b/build.gradle.kts index c7c7ea59..2b9a355b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,6 @@ allprojects { extensions.configure { kotlin { target("src/**/*.kt") - // Sources copied from AndroidX Compose - targetExclude("src/main/kotlin/androidx/**") ktlint(rootProject.libs.ktlint.get().version) .customRuleSets( listOf( diff --git a/components/androidx-compose/.editorconfig b/components/androidx-compose/.editorconfig new file mode 100644 index 00000000..a1cb9273 --- /dev/null +++ b/components/androidx-compose/.editorconfig @@ -0,0 +1,3 @@ +[*.kt] +# Disable ktlint rules that conflict with the AndroidX code style. +ktlint_standard_property-naming = disabled diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/GraphicUnit.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/GraphicUnit.kt index a6752f71..85666f0d 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/GraphicUnit.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/GraphicUnit.kt @@ -21,4 +21,4 @@ internal fun rawAsGraphicUnit(raw: String): GraphicUnit { isStrokeDp -> Dp(raw.removeSuffix("dp").toFloat()) else -> Pixel(raw.toFloat()) } -} \ No newline at end of file +} diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt index 337d81b2..dbb83a34 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt @@ -64,7 +64,7 @@ class IconParser(private val icon: Icon) { PATH -> { val pathData = parser.getAttributeValue( null, - PATH_DATA + PATH_DATA, ) val fillAlpha = parser.getValueAsFloat(FILL_ALPHA) val strokeAlpha = parser.getValueAsFloat(STROKE_ALPHA) @@ -108,7 +108,7 @@ class IconParser(private val icon: Icon) { strokeLineJoin = strokeJoin ?: StrokeJoin.Miter, strokeLineMiter = strokeMiterLimit ?: 4.0f, fillType = fillType, - nodes = PathParser.parsePathString(pathData) + nodes = PathParser.parsePathString(pathData), ) if (currentGroup != null) { currentGroup.paths.add(path) @@ -122,7 +122,8 @@ class IconParser(private val icon: Icon) { currentGroup = group nodes.add(group) } - CLIP_PATH -> { /* TODO: b/147418351 - parse clipping paths */ + CLIP_PATH -> { + /* TODO: b/147418351 - parse clipping paths */ } GRADIENT -> { val gradient = when (parser.getAttributeValue(null, TYPE)) { @@ -135,7 +136,7 @@ class IconParser(private val icon: Icon) { startY = startY, startX = startX, endX = endX, - endY = endY + endY = endY, ) } RADIAL -> { @@ -145,7 +146,7 @@ class IconParser(private val icon: Icon) { Fill.RadialGradient( gradientRadius = gradientRadius, centerX = centerX, - centerY = centerY + centerY = centerY, ) } else -> null @@ -184,7 +185,7 @@ class IconParser(private val icon: Icon) { height, viewportWidth, viewportHeight, - nodes + nodes, ) } } @@ -216,8 +217,11 @@ private fun String.toHexColor(): String { return removePrefix("#") .let { if (hexRegex.matches(it)) { - if (it.length > 6) it - else "FF$it" + if (it.length > 6) { + it + } else { + "FF$it" + } } else { "FF000000" } diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/FillType.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/FillType.kt index 7dbfdbc6..d650f4dd 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/FillType.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/FillType.kt @@ -24,5 +24,5 @@ package androidx.compose.material.icons.generator.vector */ enum class FillType { NonZero, - EvenOdd + EvenOdd, } diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathNode.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathNode.kt index b05c6419..6050966d 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathNode.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathNode.kt @@ -71,7 +71,7 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val dx2: Float, val dy2: Float, val dx3: Float, - val dy3: Float + val dy3: Float, ) : PathNode(isCurve = true) { override fun asFunctionCall() = "curveToRelative(${dx1.formatFloat()}, ${dy1.formatFloat()}, ${dx2.formatFloat()}, ${dy2.formatFloat()}, ${dx3.formatFloat()}, ${dy3.formatFloat()})" } @@ -82,7 +82,7 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val x2: Float, val y2: Float, val x3: Float, - val y3: Float + val y3: Float, ) : PathNode(isCurve = true) { override fun asFunctionCall() = "curveTo(${x1.formatFloat()}, ${y1.formatFloat()}, ${x2.formatFloat()}, ${y2.formatFloat()}, ${x3.formatFloat()}, ${y3.formatFloat()})" } @@ -91,7 +91,7 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val x1: Float, val y1: Float, val x2: Float, - val y2: Float + val y2: Float, ) : PathNode(isCurve = true) { override fun asFunctionCall() = "reflectiveCurveToRelative(${x1.formatFloat()}, ${y1.formatFloat()}, ${x2.formatFloat()}, ${y2.formatFloat()})" } @@ -100,7 +100,7 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val x1: Float, val y1: Float, val x2: Float, - val y2: Float + val y2: Float, ) : PathNode(isCurve = true) { override fun asFunctionCall() = "reflectiveCurveTo(${x1.formatFloat()}, ${y1.formatFloat()}, ${x2.formatFloat()}, ${y2.formatFloat()})" } @@ -109,7 +109,7 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val x1: Float, val y1: Float, val x2: Float, - val y2: Float + val y2: Float, ) : PathNode(isQuad = true) { override fun asFunctionCall() = "quadToRelative(${x1.formatFloat()}, ${y1.formatFloat()}, ${x2.formatFloat()}, ${y2.formatFloat()})" } @@ -118,21 +118,21 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val x1: Float, val y1: Float, val x2: Float, - val y2: Float + val y2: Float, ) : PathNode(isQuad = true) { override fun asFunctionCall() = "quadTo(${x1.formatFloat()}, ${y1.formatFloat()}, ${x2.formatFloat()}, ${y2.formatFloat()})" } data class RelativeReflectiveQuadTo( val x: Float, - val y: Float + val y: Float, ) : PathNode(isQuad = true) { override fun asFunctionCall() = "reflectiveQuadToRelative(${x.formatFloat()}, ${y.formatFloat()})" } data class ReflectiveQuadTo( val x: Float, - val y: Float + val y: Float, ) : PathNode(isQuad = true) { override fun asFunctionCall() = "reflectiveQuadTo(${x.formatFloat()}, ${y.formatFloat()})" } @@ -144,7 +144,7 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val isMoreThanHalf: Boolean, val isPositiveArc: Boolean, val arcStartDx: Float, - val arcStartDy: Float + val arcStartDy: Float, ) : PathNode() { override fun asFunctionCall() = "arcToRelative(${horizontalEllipseRadius.formatFloat()}, ${verticalEllipseRadius.formatFloat()}, ${theta.formatFloat()}, $isMoreThanHalf, $isPositiveArc, ${arcStartDx.formatFloat()}, ${arcStartDy.formatFloat()})" } @@ -156,12 +156,11 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) val isMoreThanHalf: Boolean, val isPositiveArc: Boolean, val arcStartX: Float, - val arcStartY: Float + val arcStartY: Float, ) : PathNode() { override fun asFunctionCall() = "arcTo(${horizontalEllipseRadius.formatFloat()}, ${verticalEllipseRadius.formatFloat()}, ${theta.formatFloat()}, $isMoreThanHalf, $isPositiveArc, ${arcStartX.formatFloat()}, ${arcStartY.formatFloat()})" } } -/* ktlint-enable max-line-length */ /** * Return the corresponding [PathNode] for the given character key if it exists. @@ -171,81 +170,81 @@ sealed class PathNode(val isCurve: Boolean = false, val isQuad: Boolean = false) */ internal fun Char.toPathNodes(args: FloatArray): List = when (this) { RelativeCloseKey, CloseKey -> listOf( - PathNode.Close + PathNode.Close, ) RelativeMoveToKey -> pathNodesFromArgs( args, - NUM_MOVE_TO_ARGS + NUM_MOVE_TO_ARGS, ) { array -> PathNode.RelativeMoveTo( x = array[0], - y = array[1] + y = array[1], ) } MoveToKey -> pathNodesFromArgs( args, - NUM_MOVE_TO_ARGS + NUM_MOVE_TO_ARGS, ) { array -> PathNode.MoveTo( x = array[0], - y = array[1] + y = array[1], ) } RelativeLineToKey -> pathNodesFromArgs( args, - NUM_LINE_TO_ARGS + NUM_LINE_TO_ARGS, ) { array -> PathNode.RelativeLineTo( x = array[0], - y = array[1] + y = array[1], ) } LineToKey -> pathNodesFromArgs( args, - NUM_LINE_TO_ARGS + NUM_LINE_TO_ARGS, ) { array -> PathNode.LineTo( x = array[0], - y = array[1] + y = array[1], ) } RelativeHorizontalToKey -> pathNodesFromArgs( args, - NUM_HORIZONTAL_TO_ARGS + NUM_HORIZONTAL_TO_ARGS, ) { array -> PathNode.RelativeHorizontalTo( - x = array[0] + x = array[0], ) } HorizontalToKey -> pathNodesFromArgs( args, - NUM_HORIZONTAL_TO_ARGS + NUM_HORIZONTAL_TO_ARGS, ) { array -> PathNode.HorizontalTo(x = array[0]) } RelativeVerticalToKey -> pathNodesFromArgs( args, - NUM_VERTICAL_TO_ARGS + NUM_VERTICAL_TO_ARGS, ) { array -> PathNode.RelativeVerticalTo(y = array[0]) } VerticalToKey -> pathNodesFromArgs( args, - NUM_VERTICAL_TO_ARGS + NUM_VERTICAL_TO_ARGS, ) { array -> PathNode.VerticalTo(y = array[0]) } RelativeCurveToKey -> pathNodesFromArgs( args, - NUM_CURVE_TO_ARGS + NUM_CURVE_TO_ARGS, ) { array -> PathNode.RelativeCurveTo( dx1 = array[0], @@ -253,13 +252,13 @@ internal fun Char.toPathNodes(args: FloatArray): List = when (this) { dx2 = array[2], dy2 = array[3], dx3 = array[4], - dy3 = array[5] + dy3 = array[5], ) } CurveToKey -> pathNodesFromArgs( args, - NUM_CURVE_TO_ARGS + NUM_CURVE_TO_ARGS, ) { array -> PathNode.CurveTo( x1 = array[0], @@ -267,81 +266,81 @@ internal fun Char.toPathNodes(args: FloatArray): List = when (this) { x2 = array[2], y2 = array[3], x3 = array[4], - y3 = array[5] + y3 = array[5], ) } RelativeReflectiveCurveToKey -> pathNodesFromArgs( args, - NUM_REFLECTIVE_CURVE_TO_ARGS + NUM_REFLECTIVE_CURVE_TO_ARGS, ) { array -> PathNode.RelativeReflectiveCurveTo( x1 = array[0], y1 = array[1], x2 = array[2], - y2 = array[3] + y2 = array[3], ) } ReflectiveCurveToKey -> pathNodesFromArgs( args, - NUM_REFLECTIVE_CURVE_TO_ARGS + NUM_REFLECTIVE_CURVE_TO_ARGS, ) { array -> PathNode.ReflectiveCurveTo( x1 = array[0], y1 = array[1], x2 = array[2], - y2 = array[3] + y2 = array[3], ) } RelativeQuadToKey -> pathNodesFromArgs( args, - NUM_QUAD_TO_ARGS + NUM_QUAD_TO_ARGS, ) { array -> PathNode.RelativeQuadTo( x1 = array[0], y1 = array[1], x2 = array[2], - y2 = array[3] + y2 = array[3], ) } QuadToKey -> pathNodesFromArgs( args, - NUM_QUAD_TO_ARGS + NUM_QUAD_TO_ARGS, ) { array -> PathNode.QuadTo( x1 = array[0], y1 = array[1], x2 = array[2], - y2 = array[3] + y2 = array[3], ) } RelativeReflectiveQuadToKey -> pathNodesFromArgs( args, - NUM_REFLECTIVE_QUAD_TO_ARGS + NUM_REFLECTIVE_QUAD_TO_ARGS, ) { array -> PathNode.RelativeReflectiveQuadTo( x = array[0], - y = array[1] + y = array[1], ) } ReflectiveQuadToKey -> pathNodesFromArgs( args, - NUM_REFLECTIVE_QUAD_TO_ARGS + NUM_REFLECTIVE_QUAD_TO_ARGS, ) { array -> PathNode.ReflectiveQuadTo( x = array[0], - y = array[1] + y = array[1], ) } RelativeArcToKey -> pathNodesFromArgs( args, - NUM_ARC_TO_ARGS + NUM_ARC_TO_ARGS, ) { array -> PathNode.RelativeArcTo( horizontalEllipseRadius = array[0], @@ -350,13 +349,13 @@ internal fun Char.toPathNodes(args: FloatArray): List = when (this) { isMoreThanHalf = array[3].compareTo(0.0f) != 0, isPositiveArc = array[4].compareTo(0.0f) != 0, arcStartDx = array[5], - arcStartDy = array[6] + arcStartDy = array[6], ) } ArcToKey -> pathNodesFromArgs( args, - NUM_ARC_TO_ARGS + NUM_ARC_TO_ARGS, ) { array -> PathNode.ArcTo( horizontalEllipseRadius = array[0], @@ -365,7 +364,7 @@ internal fun Char.toPathNodes(args: FloatArray): List = when (this) { isMoreThanHalf = array[3].compareTo(0.0f) != 0, isPositiveArc = array[4].compareTo(0.0f) != 0, arcStartX = array[5], - arcStartY = array[6] + arcStartY = array[6], ) } @@ -375,7 +374,7 @@ internal fun Char.toPathNodes(args: FloatArray): List = when (this) { private inline fun pathNodesFromArgs( args: FloatArray, numArgs: Int, - nodeFor: (subArray: FloatArray) -> PathNode + nodeFor: (subArray: FloatArray) -> PathNode, ): List { return (0..args.size - numArgs step numArgs).map { index -> val subArray = args.slice(index until index + numArgs).toFloatArray() @@ -385,12 +384,12 @@ private inline fun pathNodesFromArgs( // the subsequent pairs are treated as implicit corresponding LineTo commands. node is PathNode.MoveTo && index > 0 -> PathNode.LineTo( subArray[0], - subArray[1] + subArray[1], ) node is PathNode.RelativeMoveTo && index > 0 -> PathNode.RelativeLineTo( subArray[0], - subArray[1] + subArray[1], ) else -> node } diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathParser.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathParser.kt index a9556b0e..ddb1feea 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathParser.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/PathParser.kt @@ -66,7 +66,8 @@ internal object PathParser { // Therefore, when searching for next command, we should ignore 'e' // and 'E'. if (((c - 'A') * (c - 'Z') <= 0 || (c - 'a') * (c - 'z') <= 0) && - c != 'e' && c != 'E' + c != 'e' && + c != 'E' ) { return index } @@ -98,7 +99,7 @@ internal object PathParser { if (startPosition < endPosition) { results[count++] = java.lang.Float.parseFloat( - s.substring(startPosition, endPosition) + s.substring(startPosition, endPosition), ) } @@ -169,6 +170,6 @@ internal object PathParser { // We need to return the position of the next separator and whether the // next float starts with a '-' or a '.'. var endPosition: Int = 0, - var endWithNegativeOrDot: Boolean = false + var endWithNegativeOrDot: Boolean = false, ) } diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeCap.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeCap.kt index fed3f652..3a6f3cbe 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeCap.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeCap.kt @@ -3,5 +3,5 @@ package androidx.compose.material.icons.generator.vector enum class StrokeCap { Butt, Round, - Square + Square, } diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeJoin.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeJoin.kt index 2241df9f..3a4ac1ba 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeJoin.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/StrokeJoin.kt @@ -3,5 +3,5 @@ package androidx.compose.material.icons.generator.vector enum class StrokeJoin { Miter, Round, - Bevel -} \ No newline at end of file + Bevel, +} diff --git a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt index 4c57ffdd..904c6795 100644 --- a/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt +++ b/components/androidx-compose/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt @@ -17,7 +17,6 @@ package androidx.compose.material.icons.generator.vector import androidx.compose.material.icons.generator.GraphicUnit -import java.awt.LinearGradientPaint /** * Simplified representation of a vector, with root [nodes]. @@ -30,7 +29,7 @@ class Vector( val height: GraphicUnit, val viewportWidth: Float, val viewportHeight: Float, - val nodes: List + val nodes: List, ) /** @@ -49,7 +48,7 @@ sealed class VectorNode { val strokeLineJoin: StrokeJoin, val strokeLineMiter: Float, val fillType: FillType, - val nodes: List + val nodes: List, ) : VectorNode() } @@ -60,12 +59,12 @@ sealed class Fill { val startX: Float, val endY: Float, val endX: Float, - val colorStops: MutableList> = mutableListOf() + val colorStops: MutableList> = mutableListOf(), ) : Fill() data class RadialGradient( val gradientRadius: Float, val centerX: Float, val centerY: Float, - val colorStops: MutableList> = mutableListOf() - ): Fill() -} \ No newline at end of file + val colorStops: MutableList> = mutableListOf(), + ) : Fill() +}