Changes Vector defaultWidth/defaultHeight to use Dp
This makes programmatic Vector use a lot easier, as they can be defined
outside of a composable / density scope context.
Bug: b/146212530
Test: XmlVectorParserTest
Change-Id: Iad267c8242206328be222ca200d76edc522274a7
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt b/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
index c7b248e..53be7f4 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
@@ -20,17 +20,14 @@
import android.util.AttributeSet
import androidx.core.content.res.ComplexColorCompat
import androidx.core.content.res.TypedArrayUtils
-import androidx.ui.core.Px
-import androidx.ui.graphics.vector.VectorAssetBuilder
+import androidx.ui.core.dp
import androidx.ui.graphics.Brush
import androidx.ui.graphics.Color
+import androidx.ui.graphics.Shader
import androidx.ui.graphics.ShaderBrush
import androidx.ui.graphics.SolidColor
-
-import androidx.ui.graphics.Shader
import androidx.ui.graphics.StrokeCap
import androidx.ui.graphics.StrokeJoin
-import androidx.ui.graphics.vector.addPathNodes
import androidx.ui.graphics.vector.DefaultPivotX
import androidx.ui.graphics.vector.DefaultPivotY
import androidx.ui.graphics.vector.DefaultRotation
@@ -40,6 +37,8 @@
import androidx.ui.graphics.vector.DefaultTranslationY
import androidx.ui.graphics.vector.EmptyPath
import androidx.ui.graphics.vector.PathNode
+import androidx.ui.graphics.vector.VectorAssetBuilder
+import androidx.ui.graphics.vector.addPathNodes
import org.xmlpull.v1.XmlPullParser
import org.xmlpull.v1.XmlPullParserException
@@ -156,13 +155,11 @@
if (viewportWidth <= 0) {
throw XmlPullParserException(
- vectorAttrs.getPositionDescription() +
- "<VectorGraphic> tag requires viewportWidth > 0"
+ vectorAttrs.positionDescription + "<VectorGraphic> tag requires viewportWidth > 0"
)
} else if (viewportHeight <= 0) {
throw XmlPullParserException(
- vectorAttrs.getPositionDescription() +
- "<VectorGraphic> tag requires viewportHeight > 0"
+ vectorAttrs.positionDescription + "<VectorGraphic> tag requires viewportHeight > 0"
)
}
@@ -173,11 +170,14 @@
AndroidVectorResources.STYLEABLE_VECTOR_DRAWABLE_HEIGHT, 0.0f
)
+ val defaultWidthDp = (defaultWidth / res.displayMetrics.density).dp
+ val defaultHeightDp = (defaultHeight / res.displayMetrics.density).dp
+
vectorAttrs.recycle()
return VectorAssetBuilder(
- defaultWidth = Px(defaultWidth),
- defaultHeight = Px(defaultHeight),
+ defaultWidth = defaultWidthDp,
+ defaultHeight = defaultHeightDp,
viewportWidth = viewportWidth,
viewportHeight = viewportHeight
)