Update layoutlib following platform change in VectorDrawable
Commit 028029730b copies tree properties when mutating a vector
drawable. Layoutlib does the same.
Bug: 28974071
Change-Id: I5075b35e517df4ce32a91e2926d9caa02a0c2606
(cherry picked from commit 5ee73b3466090828acdc87fffd95247b6ace6440)
diff --git a/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java b/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java
index 49f8691..34db24e 100644
--- a/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java
+++ b/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java
@@ -96,6 +96,14 @@
}
@LayoutlibDelegate
+ static long nCreateTreeFromCopy(long rendererToCopyPtr, long rootGroupPtr) {
+ VGroup_Delegate rootGroup = VNativeObject.getDelegate(rootGroupPtr);
+ VPathRenderer_Delegate rendererToCopy = VNativeObject.getDelegate(rendererToCopyPtr);
+ return sPathManager.addNewDelegate(new VPathRenderer_Delegate(rendererToCopy,
+ rootGroup));
+ }
+
+ @LayoutlibDelegate
static void nSetRendererViewportSize(long rendererPtr, float viewportWidth,
float viewportHeight) {
VPathRenderer_Delegate nativePathRenderer = VNativeObject.getDelegate(rendererPtr);
@@ -1035,6 +1043,14 @@
mRenderPath = new Path();
}
+ private VPathRenderer_Delegate(VPathRenderer_Delegate rendererToCopy,
+ VGroup_Delegate rootGroup) {
+ this(rootGroup);
+ mViewportWidth = rendererToCopy.mViewportWidth;
+ mViewportHeight = rendererToCopy.mViewportHeight;
+ mRootAlpha = rendererToCopy.mRootAlpha;
+ }
+
private float getRootAlpha() {
return mRootAlpha;
}