This will allow the android.os.Build class to be generated dynamically
from the Studio side.
In order to allow the "refactoring" of classses like android.os.Build,
Create needed to be modified.
While adding the test, I've also done a small clean-up of the
AsmGeneratorTest to re-use some code.
Bug: http://b.android.com/210345
Test: Added new test to AsmGeneratorTest
Change-Id: Ie4e1209c1c60b7a33cb427dbd556a9741ec8f8b3
This is 2nd attempt of Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87.
The root caus of crash is due touching null pointer in nUnrefFamily.
After above change, native object may not be created on error case.
In that case, nUnrefFamily can not be called. In addition to this issue
there is also memory leak on error case. This fixes it by introducing
abortCreation method.
Also this contains fix of layout lib breakage done by jgaillard@.
Originally submitted by Ic8872a43993bcb0a157c5e3f0ce423af9b47f606
Here is original commit message of reverted change.
minikin::FontFamily no longer has addFont function, instead it accept
vector of Fonts in its constructor. To follow this signature change,
holding minikin::Font instance in native and build minikin::FontFamily
instance in FontFamily.freeze() method.
Bug: 34042446
Bug: 28119474
Bug: 34378805
Test: hwui test has passed
Test: m layoutlib layoutlib-tests
Change-Id: Ic34ebaa8191273d4c9f49c43124f15a1da5f7b78
Reason: The changes that this CL depends on, had to be reverted.
This reverts commit 7a1cab2c9606ca5aab0f030c0022b864d5c05888.
Bug: 34378805
Change-Id: I6bd05082060199c1907743b9f72d4c2438371aa6
Bug: http://b.android.com/213000
Test: Manually tested on Android Studio. Adding tests for this specific
case requires bringing a new sdk-common prebuilt to the the maintenance
branch so it's not really practical.
Change-Id: I0646aab656d5d5769355c6cc026e877b8784d173
android:pointerIcon is a View attribute that can be an enum or a
reference. Layoutlib cannot easily deal with the way that is handled
in the platform. As the property would not have any impact on the
result in layoutlib, that property is bypassed.
Test: Main.testAllWidgets
Change-Id: I38c6c6df45c1836d44b4f80245a453fb432ea251
Just leaving the implementation empty as that should avoid the crash
when calling it. The default stub was returning null and all the uses
were expecting an instance of SpareArray
Bug: http://b.android.com/211529
Change-Id: I497f823a6bfb7a6a946ba20c4f31b1020d2a0cef
(cherry picked from commit 98b704a284870b52cec37bf19370432c194e0608)
The theme editor is throwing an exception with the last embedded
layoutlib because a missing method. Added also another missing method in
FontFamily.
Change-Id: I710ba7618df6444a3185b581cdc5dc8400f7c604
The VirtualRefBasePtr is used to track the usage of native objects from
the java side by reference counting. Implementing the class delegate to
make sure we dispose the objects correctly.
Change-Id: I3dd4717944b0dbe79f30e49b3083bf65c6e5276d
The following methods are now supported:
getResourceEntryName
getResourcePackageName
getResourceTypeName
getResourceName
Bug: http://b.android.com/181872
Change-Id: If06b5e0687ab6f8cb20ab77f339870dd08a84ce1
The platform has added fill type to vector drawables. This CL implements
the native replacement.
Also remove a couple of delegates for classes that have been removed
from the platform.
Change-Id: Ie6ba344db9c9c2c45cd0ef4b99f11f9d8bcfd7de
This is a very hacky fix to make layoutlib work with the latest support
lib. Inject a couple of fields in android.content.res.Resources to
allow using most of the earlier code as is.
Bug: 27403642
Bug: http://b.android.com/201934
Change-Id: Ia96a1b4642a1907a77d9ca7a2392f78809b92e38
This tests the bugfix in StubMethodAdapter made in the change with id
I098996e43e330e995d33f12df1c16355bbc02f0f (commit 491523d)
Change-Id: I1ac897a49071dd9558bdc6b8abec29df913a6047
Most of the VectorDrawable implementation has been moved to native code.
This CL implements most of the required functionality that existed in
Marshmallow.
Change-Id: I009bcd5c166f2bfa0795d2718fabab4a549eba9f
With the move to Java 8 of layoutlib, we now need to make sure that the
method stackmaps are kept up to date or the class verification step will
fail. Up until now, we were ignoring them but this caused TestDelegates
to start failing.
This updates the code to make sure that when we modify a class name, we
also update the stackmap in the calls.
Change-Id: Iddbde7454f065ddb8da5bb1ab499ec0616f9b4fe
Every RenderSession would call the AttachInfo.setAttachInfo but wouldn't
issue a View.dispatchDetachedFromWindow.
This caused some Canvas to be slowly leaked in the DelegateManager in
every session.
Change-Id: Iec418a86f5c5e55c2a2860ef945268c51c0e8173
Every RenderSession would call the AttachInfo.setAttachInfo but wouldn't
issue a View.dispatchDetachedFromWindow.
This caused some Canvas to be slowly leaked in the DelegateManager in
every session.
Change-Id: Ib0392303e6d00a4fe5494ae484f28135b1fe6b28
Every RenderSession would call the AttachInfo.setAttachInfo but wouldn't
issue a View.dispatchDetachedFromWindow.
This caused some Canvas to be slowly leaked in the DelegateManager in
every session.
Change-Id: I0322767e5fffc6053ce1be852dd8ca904dfaa137
The main build hasn't swtiched to java 8, but lambdas are already used
in layoutlib. This fixes the build break.
Change-Id: I4dd69ebd736179067899f5d86d3608d5fdb03d93