• Home
  • History
  • Annotate
  • only in /frameworks/layoutlib/create/src/
History log of /frameworks/layoutlib/create/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f87bd04235b47150d9891605d12b2113efbadf04 27-Jul-2017 Seigo Nonaka <nona@google.com> Revert "Update Typeface_Delegate following Change I2744db73" DO NOT MERGE

This reverts commit 71d064e47d0139f17094c6f9023f853a722e4bfc.

Change-Id: I25f45f89e74194ebf8dac81c9bdf2dd9e181aa62
om/android/tools/layoutlib/create/CreateInfo.java
71d064e47d0139f17094c6f9023f853a722e4bfc 14-Jul-2017 Jerome Gaillard <jgaillard@google.com> Update Typeface_Delegate following Change I2744db73

Test: layoutlib tests
Change-Id: I7a26cfb37ab26f92951747028c393ebba2c90b23
om/android/tools/layoutlib/create/CreateInfo.java
b1bd12381b7b0b57eff6d9bb1a5ae23309ab2b5c 22-Jun-2017 Jerome Gaillard <jgaillard@google.com> Add support for changing shape of adaptive icons

The shape of adaptive icons can now be changed by passing a string
describing the path of the shape through a flag inside
LayoutlibCallback.

Bug: 38161918
Test: testAdaptiveIcon expanded
Change-Id: I25c6af6c7a3d4264d3c72e780d26b79cfe8db35c
om/android/tools/layoutlib/create/CreateInfo.java
44440c3bb1384f220d93dde5d09623ea3d4664b5 25-May-2017 Diego Perez <diegoperez@google.com> Add constructor delegation

This allows Create to delegate calls to the Delegates after the
object has been constructed. Right after the constructor has been
created, a call to constructor_after(instance) in the delegate will be
made.

Test: Added new tests
Change-Id: Ia8b3f069b634047c3976b3db2f83bdf85bf1bab8
om/android/tools/layoutlib/create/AfterConstructorMethodAdapter.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
b35cacc0b2f6d8b97e052ae14ed5971117dc8203 18-May-2017 Diego Perez <diegoperez@google.com> Implement Resources.getIdentifier in layoutlib

Test: Added new tests
Change-Id: I60a3e8c15d2e8e0a42ba520ee983845073f6b413
om/android/tools/layoutlib/create/CreateInfo.java
03faa7e778e24fbc3de3ec1212e265c2d04a8f47 18-May-2017 Diego Perez <diegoperez@google.com> Remove field injection

Refactoring Resources to remove the field injection. This is needed to
be able to move the existing code to ResourcesImpl.
In the process, add relevant Nullable annotations and checks.

Test: Existing tests pass
Change-Id: Ibd3fe021ee0f7c9de01a79240581a410dfff681a
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/FieldInjectorAdapter.java
f6627a9e0c6d0fa9b73ebd160ae9ad55a61bd09d 24-Mar-2017 Diego Perez <diegoperez@google.com> Dispose font cache on bridge.dispose

Test: N/A
Change-Id: I81404740835814a018bfd70cf70b5c22933f19f5
om/android/tools/layoutlib/create/CreateInfo.java
dba363f589903367bff597b368199f0776f92fda 15-Mar-2017 Diego Perez <diegoperez@google.com> Fix BitmapShader to work with adaptive icons

Test: Existing test should pass
Change-Id: Ie4c78eab4dfacf1eb6060d71edb98b836c4eff78
om/android/tools/layoutlib/create/CreateInfo.java
dd984ecd9e7b98dc5dca82359e1697205a784ccc 14-Mar-2017 Diego Perez <diegoperez@google.com> Workaround for broken BitmapShader in AdaptiveIconDrawable

This removes the need of using BitmapShader while we debug the problem
in layoutlib.

Bug: 36204957
Test: Added new test for adaptive icons
Change-Id: I4ff9968b996a1563be8caa0873e7aec8fb5cb151
om/android/tools/layoutlib/create/CreateInfo.java
3c5e3381983b1f2e98560a7bdbaadd4e7491144c 01-Mar-2017 Diego Perez <diegoperez@google.com> Rename android.os.Build so it can be dynamically generated

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
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
7c22a707de1ed939ebd91079dff9df6cd5ffd401 13-Feb-2017 Diego Perez <diegoperez@google.com> Add dynamic font support

This CL allows loading fonts from resources.

Test: Added new fonts test
Change-Id: Ic82239121cc3f78f2a22b22de42e54575c1f2d98
om/android/tools/layoutlib/create/CreateInfo.java
7dbf1fd919f64e8092f9be23ee9f29948aa287d4 24-Jan-2017 Diego Perez <diegoperez@google.com> Add ability to promote classes to public visibility

Test: Added new PromoteClassClassAdapterTest
Change-Id: I30f9ee259d39e2b2768c1ceb45aa2161983c5a5e
(cherry picked from commit 294f0850f7623737899c9ea0b03cebc2cf7e4176)
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/PromoteClassClassAdapter.java
om/android/tools/layoutlib/create/PromoteFieldClassAdapter.java
a3aca31b5d20f73db6b887f1130c973c1d50dc89 07-Jan-2017 Seigo Nonaka <nona@google.com> Follow minikin::FontFamily constructor signature change.

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
om/android/tools/layoutlib/create/CreateInfo.java
cd13c5dee69bcec5b211717e5758186f2c133ae9 20-Jan-2017 Colin Cross <ccross@android.com> Merge "Revert "Update layoutlib following Change Id10ca97f on FontFamily""
1e723cf2ed8acbab9c75f274bf95cad18132b8ae 20-Jan-2017 Siyamed Sinir <siyamed@google.com> Revert "Update layoutlib following Change Id10ca97f on FontFamily"

Reason: The changes that this CL depends on, had to be reverted.

This reverts commit 7a1cab2c9606ca5aab0f030c0022b864d5c05888.

Bug: 34378805
Change-Id: I6bd05082060199c1907743b9f72d4c2438371aa6
om/android/tools/layoutlib/create/CreateInfo.java
016e71f43879b6126db4b2c8c10d391d8034a5be 05-Dec-2016 Diego Perez <diegoperez@google.com> Fix plurals support in layoutlib

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
om/android/tools/layoutlib/create/CreateInfo.java
4bcdc542bcb683a0ef4fc919b0efb88fb8b4cc4f 25-Nov-2016 Jerome Gaillard <jgaillard@google.com> Hack to deal with android:pointerIcon in layoutlib

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
om/android/tools/layoutlib/create/CreateInfo.java
e838cb3e092bcd405a935bf2ecab590062b26721 12-Jan-2017 Jerome Gaillard <jgaillard@google.com> Update layoutlib following Change Id10ca97f on FontFamily

Test: layoutlib tests

Change-Id: Ic8872a43993bcb0a157c5e3f0ce423af9b47f606
om/android/tools/layoutlib/create/CreateInfo.java
8e7e4cf314f05d82250d0d4429c02d760d988acd 03-Jan-2017 Jerome Gaillard <jgaillard@google.com> Update layoulib following changes in Android source code

This reflects modifications from Id2374bba and I99e1942d.

Test: Run layoutlib tests
Change-Id: I5cd56d8417b997b99be668825d950de661d75818
om/android/tools/layoutlib/create/CreateInfo.java
6ecd704888ba60fbf24745f025ead5acc5fcd1ca 28-Nov-2016 Jerome Gaillard <jgaillard@google.com> Override TextServicesManager in layoutlib

When a TextServicesManger is required in layoutlib, provide a fake
one.

Test: Run layoutlib tests
Change-Id: I8c25f4919a2e97b56f705b59747e81cb6f45b07b
om/android/tools/layoutlib/create/CreateInfo.java
989f4cb6da0c1d20f74a278878bc173c690d0848 24-Nov-2016 Jerome Gaillard <jgaillard@google.com> Fix layoutlib to reflect recent changes in platform code

Test: Layoutlib tests
Change-Id: I81964233a9e580ccee9c9e9b0cf3525babf30bd4
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
2837622636a971b099717d129afe4a0d8f066af2 04-Aug-2016 Diego Perez <diegoperez@google.com> Merge "Remove deprecated overriden methods in CreateInfo"
9ae992a2532a4094f6e2d491ec995db2aeac020e 03-Aug-2016 Diego Perez <diegoperez@google.com> Remove deprecated overriden methods in CreateInfo

Change-Id: Ie0b669b188086af2d6fef8f7b7d170dadb422bdb
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
f19c8542f083e7751596532463e891cd8f5bd199 22-Jul-2016 Diego Perez <diegoperez@google.com> Implement missing getAssignedPackageIdentifiers delegate

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)
om/android/tools/layoutlib/create/CreateInfo.java
3fcc5cea1c3fa4597ff89872435408de05fd0030 12-Apr-2016 Diego Perez <diegoperez@google.com> Fix broken delegates for FontFamily and PathParser

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
om/android/tools/layoutlib/create/CreateInfo.java
852bc917136aef751cfb82bef74a9e66bafdd3c8 26-Feb-2016 Diego Perez <diegoperez@google.com> Implement VirtualRefBasePtr native methods

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
om/android/tools/layoutlib/create/CreateInfo.java
49b3939b0fbf72298a9d8d1c37f43440b5220166 19-Mar-2016 Deepanshu Gupta <deepanshu@google.com> Support getResource*Name() methods for Resources

The following methods are now supported:
getResourceEntryName
getResourcePackageName
getResourceTypeName
getResourceName

Bug: http://b.android.com/181872
Change-Id: If06b5e0687ab6f8cb20ab77f339870dd08a84ce1
om/android/tools/layoutlib/create/CreateInfo.java
c5f90cfbc3e7ff85bf795e18c2b6b4de0da88d1d 23-Mar-2016 Deepanshu Gupta <deepanshu@google.com> Merge "Exclude java namespace classes from layoutlib" into nyc-dev
37d1bc21d56f9a984df114cbec5205be6ee695b8 23-Mar-2016 Deepanshu Gupta <deepanshu@google.com> Exclude java namespace classes from layoutlib

Such classes can't be loaded anyway. No point including them

Change-Id: I26934014de96aa59f0d4aef59f61d1e4f71b86ea
om/android/tools/layoutlib/create/AsmAnalyzer.java
d6f14fa68fad773ed4e7d6aa6af2738a451dd11e 22-Mar-2016 Diego Perez <diegoperez@google.com> Add fill type support to vector drawable

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
om/android/tools/layoutlib/create/CreateInfo.java
458012138a86c2f07cf12adc90af0c4e1b8d678f 07-Mar-2016 Xavier Ducrohet <xav@google.com> Merge "Change BridgeResources to Resources_Delegate" into nyc-dev
896eb1c37f6a44d65d3a459891475e99170b657c 04-Mar-2016 Deepanshu Gupta <deepanshu@google.com> Change BridgeResources to Resources_Delegate

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
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/FieldInjectorAdapter.java
ee552063dd04ab2ccc536e3431ca986d277a85f9 03-Mar-2016 Diego Perez <diegoperez@google.com> Animated vector drawable support

Change-Id: Iefd41d95503bb4f3b26020a519636a63d3da799b
om/android/tools/layoutlib/create/CreateInfo.java
e4cf18face6980b0c7ac42761512cd93b89927c3 23-Feb-2016 Diego Perez <diegoperez@google.com> Implement native methods in VectorDrawable

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
om/android/tools/layoutlib/create/CreateInfo.java
38262755489b47bf76a8437c4dd1c7a47d4b8681 24-Feb-2016 Diego Perez <diegoperez@google.com> Fix StackMap renaming in Java 8

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
om/android/tools/layoutlib/create/RefactorClassAdapter.java
1546b449c97c945693d3431385306bc4b31f3d31 22-Feb-2016 Diego Perez <diegoperez@google.com> Remove layoutlib RunQueue implementation

Change-Id: Id2b666f086a48f101ff7ef4177fe28ad17d10783
om/android/tools/layoutlib/create/CreateInfo.java
9dd7e8ab1853a8183e20c5d62b96907a2a76caa1 22-Feb-2016 Diego Perez <diegoperez@google.com> DO NOT MERGE: Fix Canvas memory leak
am: b75a0426d8

* commit 'b75a0426d8c2339f2d552f96cc4dfcd86deb3447':
DO NOT MERGE: Fix Canvas memory leak
95eceea4f12c4f0e5170b1a14658f23e87e343d5 01-Feb-2016 Diego Perez <diegoperez@google.com> Fix Canvas memory leak

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
om/android/tools/layoutlib/create/CreateInfo.java
da943378562feb8c5734a4276485394c999df0b6 01-Feb-2016 Diego Perez <diegoperez@google.com> DO NOT MERGE: Fix Canvas memory leak

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
om/android/tools/layoutlib/create/CreateInfo.java
8e09058c6ede31331d119132ae2629101609be2b 19-Feb-2016 Diego Perez <diegoperez@google.com> Merge "Revert "Fix Canvas memory leak"" into mnc-ub-dev
8b7e297d35a4871669be41c78634422baecd9117 19-Feb-2016 Diego Perez <diegoperez@google.com> Revert "Fix Canvas memory leak"

This reverts commit e82bd72b6e7ab3135d3b28fc2c2694d08af45c3d.

Change-Id: Ie9ef25b17d5f725d5054c039992a8cd2912868a6
om/android/tools/layoutlib/create/CreateInfo.java
62876055515850e2874fd31189322b0bd466d427 19-Feb-2016 Diego Perez <diegoperez@google.com> Merge "Fix Canvas memory leak" into mnc-ub-dev
fcba0daaf8dea913ef85973019b4a5a31f786838 01-Feb-2016 Diego Perez <diegoperez@google.com> Fix Canvas memory leak

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
om/android/tools/layoutlib/create/CreateInfo.java
fabe3f4e2116f6647cb9d8adaf2496f3b2019f6e 18-Feb-2016 Diego Perez <diegoperez@google.com> resolve merge conflicts of aa9c9fb29e to nyc-dev

Change-Id: Id46238cb759f2d63a072cb7ea8a27c5fd8a6672e
fbe158f5e1f77cea2a335834a1c91fea1c4680aa 07-Oct-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib fixes for N

Moves LayoutLib to Java 8 - YAY!
Fix delegates

Change-Id: I098996e43e330e995d33f12df1c16355bbc02f0f
om/android/tools/layoutlib/create/AbstractClassAdapter.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/StubMethodAdapter.java
4836a7f446e66d6a7de8a801fdb20e6386a71a5a 17-Feb-2016 Diego Perez <diegoperez@google.com> Replace SimpleDateFormat implementation

This will process all the classes and replace all the uses of
java.text.DateFormat and java.text.SimpleDateFormat with the
android.icu.text. package implementations. The original ones do not
match the Android platform behaviour.

Change-Id: Id55f103c21117a8d6403bf2124b6c1a0e1fb2f71
om/android/tools/layoutlib/create/CreateInfo.java
9720b3c95a1c28b3b6072234f103914ce92b7968 23-Jan-2016 Deepanshu Gupta <deepanshu@google.com> Merge "Remove GregorianCalendar hack" am: 187c022bf1
am: 08f736e7b1

* commit '08f736e7b143f825fe3c29e70e9b505bbf8e1ae6':
Remove GregorianCalendar hack
720f8933f3319ab48b596a9dd812a27071b533d7 23-Jan-2016 Deepanshu Gupta <deepanshu@google.com> Merge "Remove GregorianCalendar hack"
am: 187c022bf1

* commit '187c022bf187f137d48d9031c43cfc233c9fc158':
Remove GregorianCalendar hack
eb717ab890a3a0fdac30e161f4cc93c967ba000f 22-Jan-2016 Deepanshu Gupta <deepanshu@google.com> Remove GregorianCalendar hack

Bug: http://b.android.com/199424
Change-Id: I589d153e1f57b6302c6fe3c031c5c63e33ad9996
om/android/tools/layoutlib/create/CreateInfo.java
e97c60606de9b9f90ab411e1f54f697d30c6b259 21-Jan-2016 Jerome Gaillard <jgaillard@google.com> Deals with translation and scaling in layoutlib am: ded4d14e33
am: cc90965d8f

* commit 'cc90965d8f3b8779fc477ec8a43b16306e5da535':
Deals with translation and scaling in layoutlib
34693831d7714df7a130372c5dcee0d8fac410e3 21-Jan-2016 Jerome Gaillard <jgaillard@google.com> Deals with translation and scaling in layoutlib

Layoutlib now correctly interprets the translation and scaling
xml attributes of views, by implementing what the Android platform
does in native code.

Change-Id: Ie8465f40ef4508d3c31796200800f12cb8f883a4
om/android/tools/layoutlib/create/CreateInfo.java
c6f0d61a1db7544b6f2965a27ea49649e186509a 20-Jan-2016 Jerome Gaillard <jgaillard@google.com> Merge "Deals with android:rotation attribute in layoutlib" into mnc-ub-dev am: 7efb74d54a
am: 426910e4df

* commit '426910e4dfb1f84f93697017c90400c0b4f8e6c0':
Deals with android:rotation attribute in layoutlib
af095381cd884ab94a076d07e2919417a8cd96c3 19-Jan-2016 Jerome Gaillard <jgaillard@google.com> Deals with android:rotation attribute in layoutlib

The way Android views deal with their rotation xml attribute is through
native code called for hardware accelerated rendering. So layoutlib
has to bypass that in order to take those attributes into account.

Bug: http://b.android.com/73300
Change-Id: Ieb5bf0567a25a9021491ebf3250cedd0752f7863
om/android/tools/layoutlib/create/CreateInfo.java
850ed8f8147c98aad3e9168dccdd7307fe86a986 11-Jan-2016 Deepanshu Gupta <deepanshu@google.com> Merge "Fix ninepatch scaling." into mnc-ub-dev am: 0c08fc0fc5
am: 2aebcddf02

* commit '2aebcddf02383c84a8a21279d32fd00376b8c25e':
Fix ninepatch scaling.
9708127dbc50453b911b06b45df1c2ba20d43a8d 11-Jan-2016 Deepanshu Gupta <deepanshu@google.com> Merge "Fix ninepatch scaling." into mnc-ub-dev
528ddbf71ab1cac494e9a1aa50b9c8b76ba29586 08-Jan-2016 Deepanshu Gupta <deepanshu@google.com> Java 8 in layoutlib-create

Upgrade to ASM 5 and diamond operators.

Also minor fixes here and there.

Bug: 26442940
Change-Id: I5611ed0889aa94cca8655fec47799e1ddccb0150
om/android/tools/layoutlib/create/AbstractClassAdapter.java
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/ClassHasNativeVisitor.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
om/android/tools/layoutlib/create/DependencyFinder.java
om/android/tools/layoutlib/create/InjectMethodRunnables.java
om/android/tools/layoutlib/create/InjectMethodsAdapter.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/MethodListener.java
om/android/tools/layoutlib/create/OverrideMethod.java
om/android/tools/layoutlib/create/PromoteFieldClassAdapter.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
om/android/tools/layoutlib/create/StubMethodAdapter.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
om/android/tools/layoutlib/java/AutoCloseable.java
5cd1a1095273a5386653796f4d62b9894d0f4c26 07-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Fix ninepatch scaling.

Really fix the bug now. Also add tests for the same and update
allwidgets golden file for M.

Bug: http://b.android.com/187939
Change-Id: I98cd55da0561fef9d47d8759bcd287ee36d03cc2
om/android/tools/layoutlib/create/CreateInfo.java
344cbc9b8ed3ae06a5b183d684df0399fef59879 02-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Revert "Revert "Add support for Choreographer animations""

This reverts commit 8390b2ac85765e768d4b685077a96e6395d208b4.

The build break should now be fixed by
cbb1ba7f493116882b79578ec68646366f29cde4

Change-Id: I9bf21cc6dbdb5d515a665384dc6dfa464c3e6e2e
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
om/android/tools/layoutlib/java/System_Delegate.java
2e0b6120e49129e06ef9ced7df9594c9749a0724 02-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Add ability to promote fields.

This adds the ability to promote private fields to public ones to
enable layoutlib to access them. This was first added in change
b556decf75b2b084e1aed54ac7fa23a141eedb7f, but reverted in
847b0d3ad22a47e0bca3d8bc8168fea7a0ba2f80. This is essentially a revert
of the change again, but without the SimpleMonthView related stuff.

Also, promote the Choreographer's field as is needed to support
animations.

Change-Id: Iee45a465c7a1cadd362c1841385941e6232e4900
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/PromoteFieldClassAdapter.java
31bedba360a3bba732b63566ddb0521f1765753e 02-Dec-2015 Diego Perez <diegoperez@google.com> Revert "Add support for Choreographer animations"

This reverts commit 29ed07524ce0fc2e5950f5340d306247145d0efa.
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
om/android/tools/layoutlib/java/System_Delegate.java
09984faf5721ab63c01da2bc1482f4703012d014 02-Dec-2015 Diego Perez <diegoperez@google.com> resolve merge conflicts of 956cad8870 to master.

Change-Id: Iebad149b2768bcd7a52ee2c7c8c260a9279d1742
67edd77d7aae7770b691b45e00c67d7f42e0316d 14-Oct-2015 Diego Perez <diegoperez@google.com> Add support for Choreographer animations

First step to add support for Choreographer based animations. The
Choreographer_Delegate avoid using a handler so the animation callbacks
can be called on-demand (by using doFrame). This allows things like
frame by frame animation or selecting a specific frame, and doesn't need
a separate thread to run.

The CL also changes the System and SystemClock implementations to allow
to set specific times. Because animations heavily rely on the system
time, this allows controlling it. It can also be useful to ensure that
the rendering produces a deterministic result when using controls like
the Calendar widget.

Change-Id: Iff221d2698a82075cafbb60f341be01741f7aa13
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
om/android/tools/layoutlib/java/System_Delegate.java
2e1661a00c33b612d5977566752c32414e4a6254 19-Nov-2015 Diego Perez <diegoperez@google.com> Merge "Fix delegation of methods within inner static classes" into mnc-ub-dev am: 603544d4c4 am: 14a826380d am: 0b76d094c6
am: f9281b6dfe

* commit 'f9281b6dfe94f1df0fac3ddbad846012b0a6fb7d':
Fix delegation of methods within inner static classes
c6162743a2d25364409adc1b850fc112c03e0e7f 13-Nov-2015 Diego Perez <diegoperez@google.com> Fix delegation of methods within inner static classes

Currently, delegation of inner static classes methods is broken since
the rewritten method tries to pass an instance to the outer class. This
updates the method generation to only pass the reference if the inner
class is not static.

Change-Id: I8493929cafdbd80968989b422af0f956fa65681a
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
e3e149f08e4beec064259c761cb47e1eff566cbf 07-Oct-2015 Deepanshu Gupta <deepanshu@google.com> am d7b7e93a: am 9969f858: LayoutLib: Fix ring rendering.

* commit 'd7b7e93a47e99fb54c91fb0d5b37971c8638074d':
LayoutLib: Fix ring rendering.
bab3f779655416107aef2c77142a6775eec4aa67 07-Oct-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Fix ring rendering.

Bug: http://b.android.com/65503
Change-Id: I6ed901703cffee345f3083ea3ddeb52a28f4ac64
om/android/tools/layoutlib/create/CreateInfo.java
6018f05d93134b91bff2bf16ab56a5ea2ce2e562 07-Oct-2015 Diego Perez <diegoperez@google.com> am 4a36d982: am 081cebf5: Implement Path.approximate and add PathMeasure support

* commit '4a36d982592c3a3238009be785574dd65ff33cc6':
Implement Path.approximate and add PathMeasure support
18fdccbb190f8478db6fedef748a868e9cdea6f4 07-Oct-2015 Diego Perez <diegoperez@google.com> Implement Path.approximate and add PathMeasure support

PathMeasure is needed to use the trimPath* properties in drawables.
These properties are used in the vector drawable for indeterminate
progress bars in Material so this is needed to be able to render them
correctly in the preview.
PathMeasure makes use of Path.approximate to calculate which segments to
paint.

Change-Id: Ic513f0a30a6aac0317f7c13cd75e9154c37405c8
om/android/tools/layoutlib/create/CreateInfo.java
aacfb10a5d838fe1c2bf4606e3fe4f657b348ecd 07-Aug-2015 Deepanshu Gupta <deepanshu@google.com> Revert "LayoutLib: Switch SimpleDateFormat to icu."

This reverts commit b556decf75b2b084e1aed54ac7fa23a141eedb7f.

This is no longer needed as the SimpleDateFormat has been switched in
the framework. Also, the revert leaves the change to intellij inspection
profiles as is, because that change was independent of the main issue.

Change-Id: I6f4d7d9ddc10262b087ad6a2604fa50562fac043
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/PromoteFieldClassAdapter.java
b36aba1d5921d075c673c55cb82b6ca8c990df3b 07-Aug-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Switch SimpleDateFormat to icu.

Use ICU's implementation of SimpleDateFormat in LayoutLib. The format
patterns used are not supported by java.text.SimpleDateFormat.

The change required adding a mechanism for promoting visibility of
fields in the framework in the create tool.
TODO: Add additional tests in the create tool for this new
functionality.

Change-Id: Id0f4be41f9731c42a28919c32cc5ef271a656982
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/PromoteFieldClassAdapter.java
893ddc5c6c5cfdb279fe4864b6d3c88ccbb8e5b6 05-Aug-2015 Deepanshu Gupta <deepanshu@google.com> Replace Locale.getDefault with custom impl.

In LayoutLib the default locale should always be the locale set the
rendering params. This change replaces all calls to Locale.getDefault in
the framework with calls to AndroidLocale.getDefault() which tries to
find the locale from the current context, but falls back to the original
call.

Change-Id: I496b35dcfc17fd61fedee21c7495541ab870b1fc
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
c03f22b0e831ef0a6822267bc712705d12630fa7 29-Jul-2015 Deepanshu Gupta <deepanshu@google.com> Include EpicenterTranslateClipReveal in LayoutLib

Needed by Spinner to create transitions that are then ignored :)

Change-Id: Ibe7167a643ecb186e97c9af446c0e1d2eb2d6f86
om/android/tools/layoutlib/create/Main.java
a9e9bac7f1631530d2f8c90634612b5c88efccb4 07-Jul-2015 Deepanshu Gupta <deepanshu@google.com> Revert "Replace infinite loop with foreach."

This reverts commit c77f9c76e4142db8dd76a28ad99b8f0395b82eba.

Class.getDeclaredClasses() doesn't return anonymous inner class and
hence the change was wrong.

The revert doesn't undo the typo fixed in the original change.

Change-Id: Id0595c4bc3db1185dd1ce39808a6b8c3610a1e11
om/android/tools/layoutlib/create/AsmGenerator.java
c3978c9e1b62a74ec6d6f764ef37e674eccc859a 30-Jun-2015 Deepanshu Gupta <deepanshu@google.com> Replace infinite loop with foreach.

A method call exists to find all inner classes. Use it instead of
manually enumerating the possibilities and checking.

Also fix a typo.

Change-Id: I2af678e92ea0c11b53617b247d8cda324391c185
om/android/tools/layoutlib/create/AsmGenerator.java
4b45b08eb7e472863701f6d78cc08b817aa8d0f1 01-Jun-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Skip classes from java package.

Classes in "java" package can't be defined at runtime anyway. No use
including them in LayoutLib.

Change-Id: I7e7c46f0d74e32c893b23093828569b4fa5e3a73
om/android/tools/layoutlib/create/DependencyFinder.java
f5646c85175178884e0aca70d6a1f45c47064a83 27-May-2015 Deepanshu Gupta <deepanshu@google.com> Merge "Include Shapes in LayoutLib." into mnc-dev
ca24b3cc808b28f96d82281e7929d29e7842e7f2 26-May-2015 Deepanshu Gupta <deepanshu@google.com> Include Shapes in LayoutLib.

Change-Id: Ifb32882c478f8d407ad904e224b67fe2bd65dc08
om/android/tools/layoutlib/create/Main.java
442aee6bc1abfb143dcfa1ba60d696e576d066c4 22-May-2015 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Change nullity annotations.

Switch from using tools nullity annotations (com.android.annotations)
to android framework annotations (android.annotation).

A new sdk-common prebuilt is required for LayoutLib tests. The new
sdk-common requires an updated tools-common. The updated tools-common
doesn't have nullity annotations. So, instead of adding the annotation
dependency, just reuse the platform ones. This also paves the way to
include other platform annotations like IdRes etc.

Change-Id: I87b8f767d3681d914abe7d1329e26a87f49f50a7
om/android/tools/layoutlib/create/Main.java
d4b46ab11d7f44dc3eb0ced1a5a0a3f144a1688d 21-May-2015 Deepanshu Gupta <deepanshu@google.com> Make DatePicker rendering not fail.

Ensures that having a DatePicker in the layout doesn't crash the
complete rendering. The rendering is still not perfect, but at least it
works.

- Return a non-null window token so that ViewPager thinks that it's
attached to a window and doesn't skip populating the views.
- Fix a style not found issue.

Change-Id: Ied2b71de5b32bcb640bf4ec445e8a39509f800e9
om/android/tools/layoutlib/create/CreateInfo.java
c2782f216a2b7ab34c9d2678bf7d168e6abb95af 20-May-2015 Deepanshu Gupta <deepanshu@google.com> Inject anonymous inner classes of injected classes

When injecting classes in LayoutLib (eg. CreateInfo), so that LayoutLib
can refer back to the changes, also inject the anonymous inner classes.
Without this, the injected classes are not loadable. Although, LayoutLib
itself doesn't load these classes, but some tests do.

Change-Id: Ib5f6b779ef4d79dec8d614d3dbb26eeac88a1064
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/InjectMethodRunnables.java
f4d62181569ea4f112046a5400acd24e5c5d196b 19-May-2015 Deepanshu Gupta <deepanshu@google.com> Make Context.getClassLoader() work.

Context.getClassLoader() is used by the LayoutInflater and can be used
by custom views. However, when called from the LayoutInflater, this
needs to return only the Framework classes. This is so that the IDE gets
a chance to instantiate the custom views, which helps in better error
reporting and better fallback in case of exceptions, like MockView.

To workaround this need of the same method returning different results
based on where it's called from, the method call in LayoutInflater is
renamed to getFrameworkClassLoader() and the new method is injected in
Context. The implementation of getFrameworkClassLoader() maintains the
existing behaviour of getClassLoader().

Context.getClassLoader() is now modified to return classes from both
Framework and the app namespace.

Also, update the list of packages to search for Framework views.

Change-Id: I1a6be4aa1fc5c1c5520b5440a348a52f10b6eb3b
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/InjectMethodRunnables.java
om/android/tools/layoutlib/create/InjectMethodsAdapter.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
c1e44b5fbd19324248c67ba9ec416f603292fa54 13-May-2015 Deepanshu Gupta <deepanshu@google.com> Load ICU data in LayoutLib

Also return the correct version numbers for ICU data.

Change-Id: I7de973b5553c73948870b97bdc12a880bb2fdd85
om/android/tools/layoutlib/create/Main.java
9fe7fca9bcdceade9c654c6a8dcf0c48be16d78d 12-May-2015 Deepanshu Gupta <deepanshu@google.com> Add missing delegates for M preview.

- Remove ICU dependency (use the version bundled with platform).
- Restructure intelliJ project to move dependencies to module.
- Minor fixes to layoutlib tests.

TODO:
- Load ICU data.
- Hyphenator doesn't work.
- High quality line breaker not present.

Change-Id: I965e096e17bfc97ee995a649c3f4f6f64bb4f70d
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
7ac0f8fba3037366181a3b507cbbfbcd3f68172b 04-Feb-2015 Jorim Jaggi <jjaggi@google.com> Split up android.policy into framework.jar and services.jar 1/3

Change-Id: Ifd69f1f3dd308a7e17a1442e2f3950da8b03cec4
om/android/tools/layoutlib/create/CreateInfo.java
89cf3799e7c13a397b9631c537924eb181e281d6 08-Jan-2015 Deepanshu Gupta <deepanshu@google.com> am 2d14feb4: Merge "Replace java.util.LinkedHashMap.eldest()" into lmp-mr1-dev
automerge: 03c822a

* commit '03c822aa585c319fb9cd05f392d8518501cc4f79':
Replace java.util.LinkedHashMap.eldest()
abcc60ac0c9a6ec2adb40c5009046f4626e8c585 08-Jan-2015 Deepanshu Gupta <deepanshu@google.com> Replace java.util.LinkedHashMap.eldest()

Provide an alternate implementation for the above method and replace the
calls to it, since the method is not available on host VM.

Change-Id: I329d86b457d1859b137da8fb2790ddd7f8efa788
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
om/android/tools/layoutlib/java/LinkedHashMap_Delegate.java
9e753c359b0e5858276caba27451a076915d36f0 06-Jan-2015 Deepanshu Gupta <deepanshu@google.com> resolve conflict for 8c831b2f -> lmp-mr1-dev-plus-aosp again

The earlier resolution (a2a5ce49b29b8e3bf3cd695ff9f968e5579f4be2)
wasn't the right one. This fixes it.

Change-Id: I6a6dc908d3e7dd510064a46df932d129a58eed98
om/android/tools/layoutlib/create/CreateInfo.java
7a7967c39fc5feb9f8e187ac2e54a9425bd7fec0 06-Jan-2015 Deepanshu Gupta <deepanshu@google.com> am 0db2524c: am b2ebb968: Merge "Remove Time from CreateInfo" into lmp-dev

* commit '0db2524caa01022629075a113d3370a1b7c3da30':
Remove Time from CreateInfo
da3c24ef76a7b7fb83127bdec8f3f754f679419f 06-Jan-2015 Deepanshu Gupta <deepanshu@google.com> am cec8e5a1: am f861c0ce: Merge "Fix default initial value for preferences" into lmp-dev

* commit 'cec8e5a10de413c733223b8b1cc11b70c6254647':
Fix default initial value for preferences
bc38f817ef48071b21a655cab6c4ee80dbb1737a 06-Jan-2015 Deepanshu Gupta <deepanshu@google.com> am 7ed14549: am 7081a114: Merge "Add preferences rendering." into lmp-dev

* commit '7ed145493d3f5bea32c567980f77cc42f613197e':
Add preferences rendering.
ac2047016345aee083b9f34feb56ac36bf1b8850 02-Jan-2015 Deepanshu Gupta <deepanshu@google.com> Remove Time from CreateInfo

Time_Delegate was removed in change with Change-Id:
Iae5ef65678f0e6c7c5af520c45bd15980ce3fa55. But the name wasn't removed
from CreateInfo. This didn't cause any problems at runtime, but caused
the layoutlib_create tests to fail.

Change-Id: I079b1e024b97d389eb07d4f088fd860efbb02eb3
om/android/tools/layoutlib/create/CreateInfo.java
82deba9c07904e682371d2206485b09597660087 18-Nov-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for a0bc2e7e to lmp-mr1-dev

The original change wasn't properly merged into lmp-mr1-dev because of
merge conflicts. This change manually resolves the conflicts. The main
reason for the conflict was that TimePickerSpinnerDelegate was swapped
with TimePickerClockDelegate.

This change also fixes the typo in the original change which was fixed
in a subsequent change.

Original commit: 12b6d29b7b5592dcfb6e6fd6f0c21a40f37d014a
fix for typo: cb09bc45c58740af953874f9915306d351fc3d9d

Change-Id: I50bf8c2d86318f632465a38adfad16d1382a9319
om/android/tools/layoutlib/create/CreateInfo.java
ef10b6c0edbc4b7f47e7202816c734672789f52c 06-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Fix default initial value for preferences

NO_SQ: Depends on unsubmitted changes.
Change-Id: I061cf71f6167d382e9ef060abeb4d5cff83c4104
om/android/tools/layoutlib/create/CreateInfo.java
8a16d5d203a48e7b13761f329333b3dcb8f8210b 05-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Add preferences rendering.

NO_SQ: Depends on updating layoutlib-api-prebuilt.jar
Change-Id: Iae93ab74c478e6f2158e1528467bec9ee2d7ee9b
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
31e3b189c39ea42254705a9deb580ebace25cd3b 04-Dec-2014 Deepanshu Gupta <deepanshu@google.com> am 4628d51a: am 141c7614: Merge "Fix AnalogClock rendering" into lmp-dev

* commit '4628d51a0d01641ca7fe2cf8403ad551ea6f50ce':
Fix AnalogClock rendering
c6fa65b9f29ae26ed3a2f4623cfa0286a1853a8b 21-Nov-2014 Deepanshu Gupta <deepanshu@google.com> Fix AnalogClock rendering

1. Change calls to java.lang.System.log* since they don't exist on the
host.
2. Clean up method rewrite mechanism in ReplaceMethodCallsAdapter.
3. Stub out creation of uninitialized GregorianCalendar.
4. Memory map the time zone data base file and provide a custom
implementation of BufferIterator for use by ZoneInfoDB
5. Delete unused Time_Delegate

Also fixed a comment in BridgeAssetManager and an error message in
FontFamily_Delegate.

Bug: http://b.android.com/79160
Change-Id: Iae5ef65678f0e6c7c5af520c45bd15980ce3fa55
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
om/android/tools/layoutlib/java/System_Delegate.java
2268bcfd77e68e40fa01ae2638c332c16596997e 18-Nov-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Stub AM/PM keycodes in Time Picker.

TimePickerSpinnerDelegate doesn't need to deal with input when running
inside LayoutLib. So, we just return the keycodes as if it's running in
English locale.

Bug: http://b.android.com/79189
Change-Id: Ife0ae91a1e34a8dac379bc1dda1c1c8ed461c164
om/android/tools/layoutlib/create/CreateInfo.java
2f81ef3387a582ea4092cb04a26dd024685f30e7 11-Nov-2014 Deepanshu Gupta <deepanshu@google.com> Don't skip loading object animator.

This is used by Buttons as part of StateListAnimator.

Change-Id: Id370869e71898d46e11bbd17ad31169c9f9f5274
om/android/tools/layoutlib/create/DelegateClassAdapter.java
3d65b9279686974dc4cf8351efda9cd59ba59cbd 05-Nov-2014 Deepanshu Gupta <deepanshu@google.com> Add primitive shadows support to LayoutLib

The shadows rendered are not the same as rendered by the framework. The
main purpose of the shadows here is let the user know when shadows will
be cast.

Currently rectangular shadows are available in only two intensities. Any
elevation below 10dp uses one shadow and any elevation over 10 dp uses
the other.

Also, even though the code for arbitrary shapes exist, it doesn't quite
work yet. No shadows are visible when that code is run.

Change-Id: Ie8235ffccf1d3809713f5d8f82afde434817d6b2
om/android/tools/layoutlib/create/CreateInfo.java
4c779a2d6c4cff3d154d105465e4e18d33139d38 29-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Skip loading animations." into lmp-dev
eaf02095eb99ee864398494fcd9f82d86b9fbe99 28-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Skip loading animations.

This is a temporary fix until Path.approximate() is supported.

Bug: http://b.android.com/77865
Change-Id: I28739e58f51fabaaf1dcc1c9be61cd0b17e84eec
om/android/tools/layoutlib/create/CreateInfo.java
642f32a6166f8ff29bc82523cf0adf9f686db589 28-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Fix multiple styles case in resource resolution.

When multiple styles are applied to a theme, we only remembered the last
one. This change fixes the issue.

Change-Id: I46490e882edc3eabe522a641c83366234b5bb25d
om/android/tools/layoutlib/create/CreateInfo.java
337efd3b599c3f63526fcea7e42a474f036fe894 08-Oct-2014 Deepanshu Gupta <deepanshu@google.com> am 4f133894: Exclude KXmlParser from LayoutLib.

* commit '4f133894a6e98d8d30557ea42cec92cfb21fa5c9':
Exclude KXmlParser from LayoutLib.
11d25a19eb84122aa07db570bca260b3fe6b4fd2 08-Oct-2014 Deepanshu Gupta <deepanshu@google.com> Exclude KXmlParser from LayoutLib.

The class was incorrectly being included in the LayoutLib.

Change-Id: I3c86662efa068019fe9165f2fc49a00d0a1b7f2d
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/Main.java
7b46c296a79fbb5a2388209db8b4ab3e05923300 02-Aug-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Use ICU's line break algo. [DO NOT MERGE]

Change-Id: I7e5b0ab7423a72f5a4b0e1163d0a537f0b03ba07
(cherry picked from commit 760f6394d0f65fbb5365186e8e068d53c506b653)
om/android/tools/layoutlib/create/CreateInfo.java
0c6a7cb726653fca5fc40d3d347a1312fbcca95a 07-Aug-2014 Deepanshu Gupta <deepanshu@google.com> am 904d7711: am 7b561be3: am 09c3c2ed: am ba31d628: am db94ea9e: am f970d2c2: am 79c3f678: am 206c691b: am 72cf03a2: am 3a544a81: resolved conflicts for merge of a232a68d to jb-mr1.1-docs

* commit '904d77118bab63139174470ef728ca9a53e75a15':
Fix SystemProperties in LayoutLib.
055730b8d57e44ae7b91dffe8a497d86087ca504 07-Aug-2014 Deepanshu Gupta <deepanshu@google.com> am 09c3c2ed: am ba31d628: am db94ea9e: am f970d2c2: am 79c3f678: am 206c691b: am 72cf03a2: am 3a544a81: resolved conflicts for merge of a232a68d to jb-mr1.1-docs

* commit '09c3c2edb2391d3ffed9a07ec360b9f75b9f7637':
Fix SystemProperties in LayoutLib.
3038addf3e293cd77cc982ff345fd295043e206d 07-Aug-2014 Deepanshu Gupta <deepanshu@google.com> am f970d2c2: am 79c3f678: am 206c691b: am 72cf03a2: am 3a544a81: resolved conflicts for merge of a232a68d to jb-mr1.1-docs

* commit 'f970d2c201649843b8d51d094b865f16b15bc0bc':
Fix SystemProperties in LayoutLib.
ebf8b7b94709cf830c900b5cf11aa427e1d3317b 07-Aug-2014 Deepanshu Gupta <deepanshu@google.com> am 79c3f678: am 206c691b: am 72cf03a2: am 3a544a81: resolved conflicts for merge of a232a68d to jb-mr1.1-docs

* commit '79c3f678d21f6b3c058623217cbe5dd57a553fe8':
Fix SystemProperties in LayoutLib.
e61e1f1a148959b5415ae5bc66f03c109ce54a9a 07-Aug-2014 Deepanshu Gupta <deepanshu@google.com> am 3a544a81: resolved conflicts for merge of a232a68d to jb-mr1.1-docs

* commit '3a544a81b3d2d529b2995f4b5db2077760d440b5':
Fix SystemProperties in LayoutLib.
3c0860268274ec1e1cd99e74fc57dd13b0879364 07-Aug-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge of a232a68d to jb-mr1.1-docs

Change-Id: I1ea220e3e0a81880db68abab87beab56dc4a336c
46118283f4c7c67f642beb7d5167520eb9da4fc1 06-Aug-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge of 5476cfee to jb-mr1-dev

Change-Id: I5197271e6fdd36fed9ca9f9b7221d9a99141a4b4
c0cfbebc8e3d7e2be0873d59add4ef6b8b1eac00 06-Aug-2014 Deepanshu Gupta <deepanshu@google.com> am 505c675c: Fix SystemProperties in LayoutLib.

* commit '505c675c3a536ac7c6ad264eb62542537532119c':
Fix SystemProperties in LayoutLib.
7e5e468e5fa4a3b8decb9e2862282ddb8bdb08ad 06-Aug-2014 Deepanshu Gupta <deepanshu@google.com> Fix SystemProperties in LayoutLib.

Not all System Properties were used via Build class. Also, properties
like SDK_INT which called SystemProperties directly were not initialized
properly.

This change is essentially cherry picking of the relevant parts from the
following commits:
984749bf75c9ce9d3401b8410ea7d6276544b6ee
167bc25bceea9280bbe4858db4cb8233f86ce325

Bug: http://b.android.com/73046
Change-Id: Ia0fb467ee6d5fdedda500d57d02be20006f115df
om/android/tools/layoutlib/create/CreateInfo.java
f64e54483dbcd4b26853164831f397cb1fa7590e 02-Aug-2014 Deepanshu Gupta <deepanshu@google.com> Add SystemProperties native method implementations.

Bug: http://b.android.com/73046
Change-Id: Ia695e7beb81f426509b646cfd929201f7e0a4ade
om/android/tools/layoutlib/create/CreateInfo.java
ae0b1a2ebde9984c2e75650b7dcfa7449d1a8833 02-Aug-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Use ICU's line break algo.

Change-Id: I7e5b0ab7423a72f5a4b0e1163d0a537f0b03ba07
om/android/tools/layoutlib/create/CreateInfo.java
d7f0902af46a322c49e3eef74385e785691ec77c 31-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Replace more Locale methods.

This change replaces some methods of java.util.Locale. Some of them were
added in 1.7 and some are not present in the Desktop VM.

Change-Id: Ifdf8451bb2acf55e01dce8b5e15c40c8160107cc
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
b77a349014d1fade2185a53c2a58edaa4b971dbe 31-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Fix LayoutLib Create tests.

Change-Id: Ica3efe417d54da7dc74b21d28215199d37600744
om/android/tools/layoutlib/create/AbstractClassAdapter.java
om/android/tools/layoutlib/create/DependencyFinder.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/OverrideMethod.java
om/android/tools/layoutlib/create/RenameClassAdapter.java
om/android/tools/layoutlib/create/StubMethodAdapter.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
21207162172a4093ab4fd9f2080be9382a997f28 31-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Fix classpath for AndroidLocale

Change-Id: I9af9ac05ec26f12529d51e566bf38789a2579390
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
4dedb412f73978528a7fd5b5527612feeb465738 10-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Fix EditText rendering [DO NOT MERGE]

Framework has overloaded java.lang.System.arraycopy() for char[]. The
method is not present on the Desktop VMs. This change replaces the calls
to this method by its more general alternative - the one using Objects.

TODO: Make it more configurable and flexible to allow rewrite of any
such methods in the future.

Change-Id: I6823b13e52b1c555eb257d02b79707d84e73236f
(cherry picked from commit fc3e93300733b4a161adb9cceebea6cda353d085)
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
c9557c315c48f163bbdf964b0a7c18cb8796ce05 15-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Support Locale.toLanguageTag on Java 6

Change-Id: I255e79e2c288cd24b350b7c26128bbbb0b2cb9a3
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
544d3255f6a27d693009a2cd32b9175efde3f28d 11-Jul-2014 Deepanshu Gupta <deepanshu@google.com> Style improvements to LayoutLib create.

This change doesn't change the functionality but removes dead code and
simplifies various places to remove warnings.

Change-Id: I371e06bfbd587dbf0eeafc69787b9805f7008f62
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter2.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
831bae3fed2ae6fb38af11d8ed0f71246b98095d 10-Jul-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Fix System.arraycopy()

Framework has specialized versions of java.lang.System.arraycopy() for
all primitive data types. These versions are not present on the Desktop
VM. This change replaces calls to any of the specialized versions with
the more general alternative - the one using Objects.

Note that this was already being done for char.

Change-Id: If1584125fea8ecc080fb39a5ee6cdb4d922d0c98
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
c501846c167bcf24abfda522a850f31ed75b983f 25-Jun-2014 Deepanshu Gupta <deepanshu@google.com> Add VMRuntime_Delegate

Framework now uses libart which moved the implementation of
newUnpaddedArray() to native. This copies over the implementation of the
method from libdvm to restore the old behaviour.

Change-Id: Ic062aeb01f9ea52b6ed35517f742058d0ba8c804
om/android/tools/layoutlib/create/CreateInfo.java
bc3738efbeec8363c0e17646f523d5214bc17585 10-Jun-2014 Deepanshu Gupta <deepanshu@google.com> LayoutLib: Fix EditText rendering

Framework has overloaded java.lang.System.arraycopy() for char[]. The
method is not present on the Desktop VMs. This change replaces the calls
to this method by its more general alternative - the one using Objects.

TODO: Make it more configurable and flexible to allow rewrite of any
such methods in the future.

Change-Id: I6823b13e52b1c555eb257d02b79707d84e73236f
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
017c06241e22e290406ae53402f96e3e2a9597b8 20-May-2014 Deepanshu Gupta <deepanshu@google.com> Layoutlib fixes for L [DO NOT MERGE]

This adds the new delegates that were missing. This starts the work on
changes related to Minikin Fonts.

There are some changes related to TypedArray that still need to be
fixed.

Change-Id: Ic2397b64aa3f1f48926e849b14689c47d9ee7f8c
(cherry picked from commit 7ca3612094270183243938e79337c84effea7ad0)
om/android/tools/layoutlib/create/CreateInfo.java
0bec685a9bde5e23ee2e9ce598e948e2aec8bcf0 15-May-2014 Deepanshu Gupta <deepanshu@google.com> Layoutlib: Update delegates for L

Update delegate method signatures for L.

Change-Id: Ie607293bcae60b2d3a61d1cad3ac5f04bda2a238
om/android/tools/layoutlib/create/CreateInfo.java
f46f52ed67eb7694c02e895db476c9b55d40edea 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 567f948b: am 872a5a1a: am 01fefec9: am 5fc8f945: am b0f2ded5: am 40db4a13: am 9ddb073b: am c70ce72a: am af9fde96: am 425addb9: am a43aaf00: resolved conflicts for merge of 9c00e673 to jb-mr1.1-dev

* commit '567f948b60e9a647610454745b0629c136d492db':
Fix CalendarView to show the right labels. [DO NOT MERGE]
d02426477d20f8ed32bcebb642c5f8d46473fd89 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am bd5a3e65: am 1677a9bd: Merge "resolve conflicts for merge 5a7b3b65 correctly" into jb-dev-plus-aosp

* commit 'bd5a3e6510e83b161a0e40c191d349524ae4a8e6':
resolve conflicts for merge 5a7b3b65 correctly
7ecc8946e16e461f909c97f133cfb923003996e5 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 1677a9bd: Merge "resolve conflicts for merge 5a7b3b65 correctly" into jb-dev-plus-aosp

* commit '1677a9bdeba3961625236925e754920fca1b7e89':
resolve conflicts for merge 5a7b3b65 correctly
471f369e116f4a700e4ca668cb70ff6b3d781ec8 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am b0f2ded5: am 40db4a13: am 9ddb073b: am c70ce72a: am af9fde96: am 425addb9: am a43aaf00: resolved conflicts for merge of 9c00e673 to jb-mr1.1-dev

* commit 'b0f2ded5e9e84fb51ec5b2cb6b419b040b008276':
Fix CalendarView to show the right labels. [DO NOT MERGE]
04a6b33b27ccf14f7e0ce18e6a7cbe7ab340d4a2 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am c70ce72a: am af9fde96: am 425addb9: am a43aaf00: resolved conflicts for merge of 9c00e673 to jb-mr1.1-dev

* commit 'c70ce72a986f029c9f8c43b4060001624176068d':
Fix CalendarView to show the right labels. [DO NOT MERGE]
e331d1c49ffcfee3ff52515ca6fe6f7bfc1e6306 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am af9fde96: am 425addb9: am a43aaf00: resolved conflicts for merge of 9c00e673 to jb-mr1.1-dev

* commit 'af9fde9680922f072981a4853e37ccfcf974920a':
Fix CalendarView to show the right labels. [DO NOT MERGE]
93e66c5aaf07592ddd4b93b1cb53809533a5b658 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 5280c911: am 0df5ae65: am 0f209967: Add view cookies for action bar menus. [DO NOT MERGE]

* commit '5280c911d81a7db5ec8854850bef60d8b0951358':
Add view cookies for action bar menus. [DO NOT MERGE]
3e9215236ec74f5837abf926990d76305b42e05b 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am a5461ebf: resolved conflicts for merge of 6d3c4ab2 to jb-mr1-dev

* commit 'a5461ebfaebf3337a0cf1c752334f23de145a6d1':
Action bar rendering in layoutlib [DO NOT MERGE]
447106cb1f4a8e101cc6f5dd82631ff296faf24a 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 0df5ae65: am 0f209967: Add view cookies for action bar menus. [DO NOT MERGE]

* commit '0df5ae65a91174c99d1af633b45b3a1a7861cd1c':
Add view cookies for action bar menus. [DO NOT MERGE]
7bf7518c870d8a5449065aa1c27b5feb8618be2d 13-May-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge of 9c00e673 to jb-mr1.1-dev

Change-Id: I4ab1b0a71b99692458efc3a67c8a8da3690afb7b
cf725ccfc11863e5169e0a536c1b2c7d204b965f 13-May-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge of 6d3c4ab2 to jb-mr1-dev

Change-Id: I5c4634897882deb663f32d8148202d7c9189521d
df466e211cb3ed400a0ca5206ed62104e4ebccff 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 9053261a: am 052e0c58: am 770e40f8: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '9053261a5413f401168d25fa4a9749723b232949':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
017017921997471892bbef9aa0cc83708bfcc796 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 5594616c: am 9602fc1c: am 87665388: Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

* commit '5594616c4f4513dc97b08d6cabb6fd7127dde131':
Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]
4a85b232a2c3d83d41e4c4c84bbee3bae706c8a3 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 48bf7b49: am 69b3115e: am e183855c: Add methods for Time_Delegate [DO NOT MERGE]

* commit '48bf7b49bb361a4084e5fb4c6d0ae497a606c700':
Add methods for Time_Delegate [DO NOT MERGE]
2de08a9bfc39b23414665f88a606c3b92950b0be 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am ed98abec: am 8a70bcef: resolved conflicts for merge 5a7b3b65 to jb-dev-plus-aosp

* commit 'ed98abecad359ab1765ac1f698c8ba06dbd00745':
Remove references to non-std Java classes. [DO NOT MERGE]
9e0117f3a92ed6a96106f89180613b12f846c70d 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 052e0c58: am 770e40f8: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '052e0c589e5cf714ca71bc8d7b3ce8b3f6c4cb96':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
6c2a2ab345e23de8465b5d74ae05fcc2a429dafd 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 9602fc1c: am 87665388: Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

* commit '9602fc1c00e5e5cdf26cdc3fe22022ffcd115361':
Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]
afc517256e54d6eecec4898cd499554b5251c06f 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 69b3115e: am e183855c: Add methods for Time_Delegate [DO NOT MERGE]

* commit '69b3115e1c02f2b22165b93bd9bcc5c90ec69b12':
Add methods for Time_Delegate [DO NOT MERGE]
b8e3f229a50c5ee09988da20ae61227dbe5f6045 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 8a70bcef: resolved conflicts for merge 5a7b3b65 to jb-dev-plus-aosp

* commit '8a70bcef5a724906e3c35c58cb2266ee9c9e1b78':
Remove references to non-std Java classes. [DO NOT MERGE]
f0b224c5e7acd23d9cdeb001473dcf5416ec8451 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 2fb139e0: resolved conflicts for merge of 9f2f5e77 to jb-mr1-dev

* commit '2fb139e02c1e9d2d7c92acf813445a063e73d94f':
Fix CalendarView to show the right labels. [DO NOT MERGE]
6a159ac6a04deb1fe01cf651aa423b72a16275f3 13-May-2014 Deepanshu Gupta <deepanshu@google.com> Merge "resolve conflicts for merge 5a7b3b65 correctly" into jb-dev-plus-aosp
5d8fc268ad06361758fa9fce993cbc92915328ae 13-May-2014 Deepanshu Gupta <deepanshu@google.com> resolve conflicts for merge 5a7b3b65 correctly

Change-Id: I832b7ee50002bcd1429bf431cc91f12e60d19f84
om/android/tools/layoutlib/create/Main.java
07e01f9d1a4100c7b1554bd7d995b572f71a7833 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 0f209967: Add view cookies for action bar menus. [DO NOT MERGE]

* commit '0f209967bfc4a6f1eec46cc34a39cfe8af9f8af9':
Add view cookies for action bar menus. [DO NOT MERGE]
6d374e3eb5459ce8d5fe9e0518bd41218c6d733c 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 43b15371: Action bar rendering in layoutlib [DO NOT MERGE]

* commit '43b15371f9f1da7d97fe0500eb1536d981097e31':
Action bar rendering in layoutlib [DO NOT MERGE]
f64774bc44c7bc296ed1f9b30d0061e59c6682fd 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 770e40f8: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '770e40f839f059e1e3a15a2b14157c7cbb3b0553':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
c46afd4f5f4aae189a62895cc06470d0f3cfa40a 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 87665388: Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

* commit '87665388466812897e888680c0b2a1d7db1b9cbd':
Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]
a05abc7857007262b988ea30877173c3fb982938 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am e183855c: Add methods for Time_Delegate [DO NOT MERGE]

* commit 'e183855c1eb7baf750c67bb20e70fb887eba7af6':
Add methods for Time_Delegate [DO NOT MERGE]
d86b2bd9a0b3f98d64486740fbacb526ddf8a9d8 13-May-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge of 9f2f5e77 to jb-mr1-dev

Change-Id: Id8cb5e2e9d0c41bdaf767563ebd6e3951ae68a3c
6070e912829a20356f6f607c88465946bb149141 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 80f2914b: am b67b1b45: am 094fd8ec: Add view cookies for action bar menus. [DO NOT MERGE]

* commit '80f2914b4b12340ff590882125789144d4f00ce0':
Add view cookies for action bar menus. [DO NOT MERGE]
ec2190115d234878b955813ca64b15e060452667 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 21404483: am 0bb06b91: am fe38489f: Action bar rendering in layoutlib [DO NOT MERGE]

* commit '21404483adbd4f26b5a2c7ebee7c09e83f42607e':
Action bar rendering in layoutlib [DO NOT MERGE]
f0226f21df72c3b6a0d1835f0c771f1d5b3e146b 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 71acfa6c: am 49d47a02: am 76dccb7f: Fix theme/style resolution in Layoutlib [DO NOT MERGE]

* commit '71acfa6c1933806a080fc6efb820833f8de68d54':
Fix theme/style resolution in Layoutlib [DO NOT MERGE]
24de19e013a167effb6401b307a051b3ab31dcac 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am b90db3e6: am de3b2c06: am 1ed75bde: Remove references to non-std Java classes. [DO NOT MERGE]

* commit 'b90db3e6ab1bc89752ce8d7bd286268c41843693':
Remove references to non-std Java classes. [DO NOT MERGE]
3ed136af098b1c5aa53aedf78a97a44f9d6e1186 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am c2a6f3b1: am 2f94c1db: am 6136af32: Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

* commit 'c2a6f3b1eda89365eec2508aec4a3a5024c140e5':
Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]
89d424b14008f92bd06b57e1d27115b9738d0665 13-May-2014 Deepanshu Gupta <deepanshu@google.com> resolved conflicts for merge 5a7b3b65 to jb-dev-plus-aosp

Change-Id: I6bafdb9c6a8dfc6f55a4d9adf67f447661137eb8
0a11da4c0cdb4f5057a86cb82615acb2c668db43 13-May-2014 Deepanshu Gupta <deepanshu@google.com> am 2d82586b: Fix CalendarView to show the right labels. [DO NOT MERGE]

* commit '2d82586b96593b1b3b5280d77d5ae9a09df9d1fd':
Fix CalendarView to show the right labels. [DO NOT MERGE]
36e3754edd01941ec4be9e9b47890f3338d3b434 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus. [DO NOT MERGE]

The change adds the view cookies for the menus rendered in the action
bar. This enables the IDE to map the menu to the relevant XML Tag in the
menu xml and show the highlighting accordingly.

The change also contains a bugfix where a method wasn't renamed
properly.

Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
(cherry-picked from commit 094fd8ecb6f4b666be6c9e7332679bce28fdc3ca)
om/android/tools/layoutlib/create/CreateInfo.java
896fa37dd4cf0a012099ac96459226d44210e6c7 12-Dec-2013 Deepanshu Gupta <deepanshu@google.com> Action bar rendering in layoutlib [DO NOT MERGE]

This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. ActionBarImpl - add a new constructor for use by layoutlib.

This also relies on some changes to the plugin to pass the correct params.

Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
(cherry-picked from fe38489f6734fefd0a216e9cfe12f8f978ff371f)
om/android/tools/layoutlib/create/Main.java
50748bd2e0906c99b21e52a90bed9665ddcd62dd 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib [DO NOT MERGE]

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
(cherry picked from commit 76dccb7f436565136ff5e15b1ca57530940f5642)
om/android/tools/layoutlib/create/CreateInfo.java
95e994020242105212241842576cf03b376306e0 01-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

The bug caused some classes to be missed when computing the dependencies
of the existing classes.

This change includes the new mock_android.jar compiled from the mock
sources again.

Change-Id: I7285ff67e016ce5d73a8550501f49acc73cfadfa
(cherry-picked from 6136af326e64037184a7a2a3ae60c399f04d631f)
om/android/tools/layoutlib/create/AsmAnalyzer.java
dfcf1bd0652dc27f6d3a5b9ceeba9309dd27ff5f 01-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Add methods for Time_Delegate [DO NOT MERGE]

Bug: http://b.android.com/65359
Change-Id: I7c2d09286d6bcd9899444aaa5a4a5a342e39d923
(cherry-picked from 02cde9ceeb4c052ee273a5d809816dfd355ebb56)
om/android/tools/layoutlib/create/CreateInfo.java
e1a2e2fd5a7a09510262e991e4e9b739e903930b 11-Sep-2013 Deepanshu Gupta <deepanshu@google.com> Remove references to non-std Java classes. [DO NOT MERGE]

Do not add the non-standard Java classes. Updates the references to all
non-standard classes to new classes in
com.android.tools.layoulib.create package. This also treats
java.lang.AutoCloseable which is part of Java 7 similarly so that we can
still run on Java 6.

This also adapts the cherrypick for this branch by updating references
to the non-standard Java classes present in this branch. This also
includes the following change that includes some changes that the
original cherrypick missed.
Change-Id: I76c87c74ee088778b37d1a7a7d531e0fde5c758f
commit: 1ed75bde09275c9f2bd1f81830e381ea864ac7f5

Change-Id: Iac5b272652e2780c9bb72d19f415d150948ca589
(cherry picked from 80c668f2a076e91d887dbf77776cd503ff88b0b4)
om/android/tools/layoutlib/create/AbstractClassAdapter.java
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/RefactorClassAdapter.java
om/android/tools/layoutlib/create/RenameClassAdapter.java
om/android/tools/layoutlib/java/AutoCloseable.java
om/android/tools/layoutlib/java/Charsets.java
om/android/tools/layoutlib/java/IntegralToString.java
om/android/tools/layoutlib/java/ModifiedUtf8.java
om/android/tools/layoutlib/java/UnsafeByteSequence.java
531a76632d520b637b467750d4239a89b26861d5 15-Oct-2013 Deepanshu Gupta <deepanshu@google.com> Fix CalendarView to show the right labels. [DO NOT MERGE]

Change-Id: I95431f1054678d4192bd1621c1f69b29268f55e9
(cherry picked from commit 44bcd64e5b9fd211dd56b0598693a0559f65dc1a)
om/android/tools/layoutlib/create/CreateInfo.java
779cc66bba174d1d8322b0a457735ed9c0655567 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus. [DO NOT MERGE]

The change adds the view cookies for the menus rendered in the action
bar. This enables the IDE to map the menu to the relevant XML Tag in the
menu xml and show the highlighting accordingly.

The change also contains a bugfix where a method wasn't renamed
properly.

Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
(cherry-picked from commit 7704837947455909f295b088a3d15a20e107dbd7)
om/android/tools/layoutlib/create/CreateInfo.java
9391cde8f5276b2c059b206bd89d1e151b39c527 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus. [DO NOT MERGE]

The change adds the view cookies for the menus rendered in the action
bar. This enables the IDE to map the menu to the relevant XML Tag in the
menu xml and show the highlighting accordingly.

The change also contains a bugfix where a method wasn't renamed
properly.

Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
(cherry-picked from commit 5ba2f230faa355eb9bc1e90f6c48eeeb437f390c)
om/android/tools/layoutlib/create/CreateInfo.java
5cf85811d2640b5bbd1121bccb4e07188ae590db 12-Dec-2013 Deepanshu Gupta <deepanshu@google.com> Action bar rendering in layoutlib [DO NOT MERGE]

This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. ActionBarImpl - add a new constructor for use by layoutlib.

This also relies on some changes to the plugin to pass the correct params.

Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
(cherry-picked from 20e0695b554e883b095f5223be10b6e1097db49f)
om/android/tools/layoutlib/create/Main.java
5e452ebfd4b16ebeb397c2104f305642f98c8059 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib [DO NOT MERGE]

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
(cherry picked from commit 3c00b28bf60ab01b449e16df045238f4bae4d700)
om/android/tools/layoutlib/create/CreateInfo.java
8edcc4030532bc6731d21c664b26f4130b83d848 11-Sep-2013 Deepanshu Gupta <deepanshu@google.com> Remove references to non-std Java classes. [DO NOT MERGE]

This change adds a substitute for the Charsets class in java namespace.
The original cherry pick of the change had dropped this substitute. But
the substitute is required for bug b.android.com/59732

The original cherry-pick is 6335590aa8997944cc7fb358a315dbb9b789f87f and
the original change is 81f74f4bc96ea4266cebe1b785d095558f540800
The original Change-Id is Iac5b272652e2780c9bb72d19f415d150948ca589

Change-Id: I76c87c74ee088778b37d1a7a7d531e0fde5c758f
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/java/Charsets.java
ea401f543c861c0f242ae88ed73898c26572b5bd 01-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

The bug caused some classes to be missed when computing the dependencies
of the existing classes.

Change-Id: I7285ff67e016ce5d73a8550501f49acc73cfadfa
(cherry-picked from 6f9baea47757fef4745de434e09bd552fddc1f03)
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/DependencyFinder.java
7cd8ca8db93334ae8d9a6b513bd6e50b0f61e68f 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am 47ad22ed: am 961e3281: am 6df2860b: Add missing files to fix libphonenumber for layoutlib. [DO NOT MERGE]

* commit '47ad22edb7df502356598d417adbce0b0ce35616':
Add missing files to fix libphonenumber for layoutlib. [DO NOT MERGE]
96631964e0e4e31cd76c91bd0c279393634b6664 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am edd67cb1: am 7c02c6e2: am 02cde9ce: Add methods for Time_Delegate [DO NOT MERGE]

* commit 'edd67cb194b54bb7c6c25eb570d28614900446cf':
Add methods for Time_Delegate [DO NOT MERGE]
c16373c72346282e2c10ee7518a595f211652b01 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am 84e7a6b8: am 443372dd: am 9d7b5165: Add libphonenumber to layoutlib.jar. [DO NOT MERGE]

* commit '84e7a6b82303b52c7b44f1a2a295177361edf9ea':
Add libphonenumber to layoutlib.jar. [DO NOT MERGE]
8a6565099a7ac8fd168ce9ee84d1c4bbe674dd88 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am 1a434aa8: am 697c511d: am 80c668f2: Remove references to non-std Java classes. [DO NOT MERGE]

* commit '1a434aa8fcc118df13bea58e112da081d47ae73b':
Remove references to non-std Java classes. [DO NOT MERGE]
211595fe75453c51a1e1533a556b1d09e3eaeea1 02-May-2014 Deepanshu Gupta <deepanshu@google.com> am 582bb0dc: am fbb1561a: am 44bcd64e: Fix CalendarView to show the right labels. [DO NOT MERGE]

* commit '582bb0dc7498997f441c5209b1558a4640b5a107':
Fix CalendarView to show the right labels. [DO NOT MERGE]
1a216313aa4fda75c7bbf07a0e3cdb24400490c1 16-Jan-2014 Deepanshu Gupta <deepanshu@google.com> Add missing files to fix libphonenumber for layoutlib. [DO NOT MERGE]

Change-Id: I8102da6c1c4625e887293a8823770d199521c53f
(cherry-picked from 8a16f8e29a67c383e065ba9c47d5d1e80d7d2db9)
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/Main.java
328ca549df2acc1f137b5b6eddecda051f1d998b 01-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Add methods for Time_Delegate [DO NOT MERGE]

Bug: http://b.android.com/65359
Change-Id: I7c2d09286d6bcd9899444aaa5a4a5a342e39d923
(cherry-picked from ddb7f3273c3c00e6520794dcaabdaad20fd98e26)
om/android/tools/layoutlib/create/CreateInfo.java
b298773aea4f866c1f0d0ce071cf935b7505c4d7 13-Nov-2013 Deepanshu Gupta <deepanshu@google.com> Add libphonenumber to layoutlib.jar. [DO NOT MERGE]

Issue: http://b.android.com/59497
Change-Id: Ief11e602703b6041db66241f1699cc1de72e65a5
(cherry picked from commit 317f304893c58c5e50255bd712448ca233ae5cec)
om/android/tools/layoutlib/create/Main.java
61cab3c7319f05ddbb8d132126ca981616f438bd 11-Sep-2013 Deepanshu Gupta <deepanshu@google.com> Remove references to non-std Java classes. [DO NOT MERGE]

Do not add the non-standard Java classes. Updates the references to all
non-standard classes to new classes in
com.android.tools.layoulib.create package. This also treats
java.lang.AutoCloseable which is part of Java 7 similarly so that we can
still run on Java 6.

This also adapts the cherrypick for this branch by updating references
to the non-standard Java classes present in this branch.

Change-Id: Iac5b272652e2780c9bb72d19f415d150948ca589
(cherry picked from 0b7d80765c21dbd9294a0245f92a655fdd61514e)
om/android/tools/layoutlib/create/AbstractClassAdapter.java
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/RefactorClassAdapter.java
om/android/tools/layoutlib/create/RenameClassAdapter.java
om/android/tools/layoutlib/java/AutoCloseable.java
om/android/tools/layoutlib/java/IntegralToString.java
om/android/tools/layoutlib/java/ModifiedUtf8.java
om/android/tools/layoutlib/java/UnsafeByteSequence.java
f3056ab6c3b247fb8fdb3db9ed1f6a13f0e15040 15-Oct-2013 Deepanshu Gupta <deepanshu@google.com> Fix CalendarView to show the right labels. [DO NOT MERGE]

Change-Id: I95431f1054678d4192bd1621c1f69b29268f55e9
(cherry picked from commit 083e3caf66c21f7cc9511db479726c38d90e2d2f)
om/android/tools/layoutlib/create/CreateInfo.java
def41f7fc8836f4ae8be31d16633f67d5c415f09 12-Dec-2013 Deepanshu Gupta <deepanshu@google.com> Action bar rendering in layoutlib [DO NOT MERGE]

This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. ActionBarImpl - add a new constructor for use by layoutlib.

This also relies on some changes to the plugin to pass the correct params.

Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
(cherry-picked from 4ccc4bd54f85d86818f61d728c6361d2003ddd8e)
om/android/tools/layoutlib/create/Main.java
9507a8050463948beae4c3a2c1ec6b2a5a441482 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib [DO NOT MERGE]

Cherry picked from klp-dev from
Change-Id: If1e7187645f0b0388f7b97d742395efd228b347a which was
cherrypicked from master with the following

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
(cherry picked from commit f1e7187645f0b0388f7b97d742395efd228b347a)
om/android/tools/layoutlib/create/CreateInfo.java
e233d4d2951e369cda5bd1f90f6bfc7e01a79b6d 01-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

The bug caused some classes to be missed when computing the dependencies
of the existing classes.

Change-Id: I7285ff67e016ce5d73a8550501f49acc73cfadfa
(cherry-picked from 6f9baea47757fef4745de434e09bd552fddc1f03)
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/DependencyFinder.java
86d75a0633595bd7d1540ef85847475d68dcdb75 18-Oct-2013 Deepanshu Gupta <deepanshu@google.com> Remove references to java package class Objects. [DO NOT MERGE]

Remove references to Java 7 class java.util.Objects and replace it with
a new class that can be loaded on Java 6.

Change-Id: Ibbd9b20b8bc89e247f1d0c48d743d06d1a4f0704
(cherry-picked from commit 45f5cd49fa898a59484edfd8e291dbe10df82db2)
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/java/Objects.java
be7082f194212b6e5dedf3f77bab1587bc123839 24-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]" into klp-dev
0ef451cf70fe0b94e40b67a189845bfad2226fa8 24-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Bug fix in layoutlib

Renaming a method wasn't completed properly.
The bug was introduced in the following change:
Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
(1001961f904bac5294aaf73a47c2497aa764bf7f)

Change-Id: I698437b428d696c656e2268ded654a612a3e0c80
om/android/tools/layoutlib/create/CreateInfo.java
41670df819e35f5822cc166db775ed2e9e3dfb7d 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus. [DO NOT MERGE]

The change adds the view cookies for the menus rendered in the action
bar. This enables the IDE to map the menu to the relevant XML Tag in the
menu xml and show the highlighting accordingly.

The change also contains a bugfix where a method wasn't renamed
properly.

Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
(cherry-picked from commit 1001961f904bac5294aaf73a47c2497aa764bf7f)
om/android/tools/layoutlib/create/CreateInfo.java
1e048241b92e987a709cd1a12911792924fbc256 01-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Fix visitFieldInsn in layoutlib_create. [DO NOT MERGE]

The bug caused some classes to be missed when computing the dependencies
of the existing classes.

Change-Id: I7285ff67e016ce5d73a8550501f49acc73cfadfa
(cherry-picked from 4a0f93bd32b8dd9b3c351680ad82e461d5111f38)
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/DependencyFinder.java
199e99a7db8717cf35822676581da04aecefa98f 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus.

The change adds the view cookies for the menus rendered in the action
bar. This enables the IDE to map the menu to the relevant XML Tag in the
menu xml and show the highlighting accordingly.

Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
om/android/tools/layoutlib/create/CreateInfo.java
e8bdeb2edad618e4f6b93edd434d58194d9286aa 16-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Add methods for Time_Delegate [DO NOT MERGE]" into jb-mr2-dev
f9bdfe0fb4e2819902e19a9228f96ff7e0757a06 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib [DO NOT MERGE]

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
(cherry picked from commit bfec73c2db5a34ced248213edf5519c80727a65f)

Conflicts:
core/java/android/content/res/Resources.java
tools/layoutlib/create/src/com/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/CreateInfo.java
85c5ae75ab4b9041bb143f146ef5fc4547686210 12-Dec-2013 Deepanshu Gupta <deepanshu@google.com> Action bar rendering in layoutlib [DO NOT MERGE]

This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. ActionBarImpl - add a new constructor for use by layoutlib.

This also relies on some changes to the plugin to pass the correct params.

Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
(cherry-picked from 14bf0cef7eeed572a67c29a328581afac4decc20)
om/android/tools/layoutlib/create/Main.java
f7f53ba8cbca6f91c89e2047742a05c5109bd2d1 10-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Support custom views using TimePickerDialog [DO NOT MERGE]

Bug: http://b.android/com/61515

Change-Id: I0dc3357be0c058adde9d3ea5b6796004b786fd34
(cherry picked from commit 86e5218220a0e01f7eb574a2480bd91f9ebfae35)
om/android/tools/layoutlib/create/Main.java
f49117b4bfcac616d6c97d14437f0d19bad5c453 12-Dec-2013 Deepanshu Gupta <deepanshu@google.com> Action bar rendering in layoutlib

This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. WindowDecorActionBar - add a new constructor for use by layoutlib.

This also relies on some changes to the plugin to pass the correct params.

Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
om/android/tools/layoutlib/create/Main.java
a40976249a5e7a06b6eb1c57fb46b23028329809 26-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Add DatePickerDialog to layoutlib [DO NOT MERGE]

Includes android.app.DatePickerDialog in the layoutlib.jar

Bug: http://b.android.com/28318
Change-Id: I583dde4a8b88204bf98bfca8d91470e1aa4719ce
(cherry picked from commit c2016d4073c61e87439d4fa14837b397a3c1630a)
om/android/tools/layoutlib/create/Main.java
7a7fc18ee863c8759196ae026227201b7b6fcfa8 10-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Support custom views using TimePickerDialog in layoutlib

Bug: http://b.android/com/61515

Change-Id: I0dc3357be0c058adde9d3ea5b6796004b786fd34
om/android/tools/layoutlib/create/Main.java
592996556cae56c0ba4d17110ae945ae7cd8861e 09-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Make layoutlib load on Java 7 VM"
42fb69adadfb085683b6b08f5519060c1e5a616d 09-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Make layoutlib load on Java 7 VM

Prevent Java 7 VM from verifying the StackMapTable for methods by lying
about the class version.

The changeset also fixes the eclipse project by using the right asm
library in the checkout.

Change-Id: Idabf165380fb75fcc2d5c8fbd72388f52887a5df
om/android/tools/layoutlib/create/AbstractClassAdapter.java
6a3ba682d669a115a3850bd323eb0892d56a85a7 12-Mar-2014 Deepanshu Gupta <deepanshu@google.com> Fix theme/style resolution in Layoutlib

Change-Id: Icfb91e566666408802dadc0e2070991151b16b9d
om/android/tools/layoutlib/create/CreateInfo.java
2ff4f504c82e35c1f8d3cae79a32b4400a628c28 01-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Fix visitFieldInsn in layoutlib_create.

The bug caused some classes to be missed when computing the dependencies
of the existing classes.

Change-Id: I7285ff67e016ce5d73a8550501f49acc73cfadfa
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/DependencyFinder.java
e3c6c5ac3d7210f5d1b61d51b137f26a8f3f12e2 01-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Add methods for Time_Delegate [DO NOT MERGE]

Bug: http://b.android.com/65359
Change-Id: I7c2d09286d6bcd9899444aaa5a4a5a342e39d923
(cherry-picked from eb3c5459eb893061779b102236a81069efdbef73)
om/android/tools/layoutlib/create/CreateInfo.java
d1374587ee395e6098696e8e67bcccbe1a49637e 16-Jan-2014 Deepanshu Gupta <deepanshu@google.com> Add missing files to fix libphonenumber for layoutlib. [DO NOT MERGE]

Change-Id: I8102da6c1c4625e887293a8823770d199521c53f
(cherry-picked from 58037a4404e639d28695a0f1c17053b53b96b970)
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/Main.java
fd25fc27450d89439fb308a0695f06a83595da97 13-Nov-2013 Deepanshu Gupta <deepanshu@google.com> Add libphonenumber to layoutlib.jar. [DO NOT MERGE]

Issue: http://b.android.com/59497
Change-Id: Ief11e602703b6041db66241f1699cc1de72e65a5
(cherry-picked from 1f92d7fc0ffa72d7db93244c29a1a6575bb4b318)
om/android/tools/layoutlib/create/Main.java
40593b6d84db2054988a975427d61d162509082c 26-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Add DatePickerDialog to layoutlib

Includes android.app.DatePickerDialog in the layoutlib.jar

Bug: http://b.android.com/28318
Change-Id: I583dde4a8b88204bf98bfca8d91470e1aa4719ce
om/android/tools/layoutlib/create/Main.java
444b1a7f19dd6336264b4f6508fec6fbf491d201 15-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Fix layoutlib by avoiding Java7 calls

This change also fixes a NPE in TypedArray caused by changes in the
framework.

Change-Id: Ie64237c567fa16c35c807db22ce9a4b609ee411d
om/android/tools/layoutlib/create/CreateInfo.java
e9a9ebbc921436e92ee1f4391673e503f0117d28 06-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Merge "Add methods for Time_Delegate" into klp-dev
aa79b0af01eba69518293afd0cf0e07a06ce78dc 01-Feb-2014 Deepanshu Gupta <deepanshu@google.com> Add methods for Time_Delegate

Bug: http://b.android.com/65359
Change-Id: I7c2d09286d6bcd9899444aaa5a4a5a342e39d923
om/android/tools/layoutlib/create/CreateInfo.java
fa4c9e68fb1593d34b8b28baf0c40d722a14e829 16-Jan-2014 Deepanshu Gupta <deepanshu@google.com> Add missing files to fix libphonenumber for layoutlib.

Change-Id: I8102da6c1c4625e887293a8823770d199521c53f
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/Main.java
4df159e90b72b894adc70add1f4e4704e5601fe8 13-Nov-2013 Deepanshu Gupta <deepanshu@google.com> Add libphonenumber to layoutlib.jar. DO NOT MERGE

Issue: http://b.android.com/59497
Change-Id: Ief11e602703b6041db66241f1699cc1de72e65a5
om/android/tools/layoutlib/create/Main.java
4c38a0f03a75fcf24982d47155f3b2d9f7e95140 18-Oct-2013 Deepanshu Gupta <deepanshu@google.com> Layoutlib Create: Remove references to java package class Objects.

Remove references to Java 7 class java.util.Objects and replace it with
a new class that can be loaded on Java 6.

Change-Id: Ibbd9b20b8bc89e247f1d0c48d743d06d1a4f0704
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/java/Objects.java
d949a0869ee19422e5c31f828539aa5ed19467bb 17-Oct-2013 Deepanshu Gupta <deepanshu@google.com> Layoutlib: Add DateIntervalFormat_Delegate required by CalendarView

Change-Id: Ica79267a4eb231db833cb0232cfacf419fe73de3
om/android/tools/layoutlib/create/CreateInfo.java
956273a86bfb74707592ff0b34abc385c019af54 15-Oct-2013 Deepanshu Gupta <deepanshu@google.com> Fix CalendarView to show the right month and year label.

Change-Id: I95431f1054678d4192bd1621c1f69b29268f55e9
om/android/tools/layoutlib/create/CreateInfo.java
707fa95775f9482ddd324426c0e127f3419748f6 11-Sep-2013 Deepanshu Gupta <deepanshu@google.com> Layoutlib Create: Remove references to non-std Java classes.

Do not add the non-standard Java classes. Updates the references to all
non-standard classes to new classes in
com.android.tools.layoulib.create package. This also treats
java.lang.AutoCloseable which is part of Java 7 similarly so that we can
still run on Java 6.

Change-Id: Iac5b272652e2780c9bb72d19f415d150948ca589
om/android/tools/layoutlib/create/AbstractClassAdapter.java
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/RefactorClassAdapter.java
om/android/tools/layoutlib/create/RenameClassAdapter.java
om/android/tools/layoutlib/java/AutoCloseable.java
om/android/tools/layoutlib/java/Charsets.java
om/android/tools/layoutlib/java/IntegralToString.java
om/android/tools/layoutlib/java/UnsafeByteSequence.java
8859a02b890d012abb831ba64eaa1be85d195af2 13-Feb-2013 Xavier Ducrohet <xav@android.com> am 5d5c05de: am b7a4aed9: am f70b8c1c: Merge "Fix DateFormat for layoutlib." into jb-mr1.1-dev

# Via Android Git Automerger (2) and others
* commit '5d5c05dee9911eaf8add2d4298641e60f2a113d5':
Fix DateFormat for layoutlib.
661d88dc9bd3dcb4d03e1e04e960a4ba05802226 12-Feb-2013 Xavier Ducrohet <xav@android.com> Fix DateFormat for layoutlib.

Change-Id: I389c9d106b93b9f81dd3614398a5b66ba2b39a70
om/android/tools/layoutlib/create/CreateInfo.java
aa3b515d7a4098cd8a00256bdf2fd52bf82d8a09 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
05a1bbba200568fb31deaeb7441e39791333197b 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
om/android/tools/layoutlib/annotations/Nullable.java
om/android/tools/layoutlib/annotations/VisibleForTesting.java
om/android/tools/layoutlib/create/DependencyFinder.java
76f4c3e91d8579a580569c3d079da99511309727 15-Oct-2012 Xavier Ducrohet <xav@android.com> Fix SDK layout rendering in Eclipse.

Change-Id: I0e9e85632012c0929b987ee9d0ccf7c25eece322
om/android/tools/layoutlib/create/CreateInfo.java
af639085d2e41756fab0fbe259655c22ca91ddfe 11-Jul-2012 Xavier Ducrohet <xav@android.com> am 15c15eaa: Merge "Replace LruCache implementation for layoutlib. do not merge." into jb-dev

* commit '15c15eaac51c0c375d18fb70cd1bd066d87b034e':
Replace LruCache implementation for layoutlib. do not merge.
02c2061ea651e872ad37b43d6ab4a1a49fe1e240 10-Jul-2012 Xavier Ducrohet <xav@android.com> Replace LruCache implementation for layoutlib. do not merge.

The android version depends on a custom version of LinkedHashMap
which is not present on desktop VMs. This new implementation is done
in a way that minimizes the difference between the two.

Also some minor fixes.

(cherry picked from commit 01b6c755dbcf24e71192dc44757e2eea2a426091)

Change-Id: Idc7bca820e472e281a3024a5b610fd55606cf428
om/android/tools/layoutlib/create/CreateInfo.java
41fb2853aa6de48c3b657bd6be32797dfac2103b 10-Jul-2012 Xavier Ducrohet <xav@android.com> Replace LruCache implementation for layoutlib.

The android version depends on a custom version of LinkedHashMap
which is not present on desktop VMs. This new implementation is done
in a way that minimizes the difference between the two.

Also some minor fixes.

Change-Id: Ib27b0419f9d0e6ba4d4abb26b2ccd968af59eba8
om/android/tools/layoutlib/create/CreateInfo.java
edac98c993899c877b261da0dc80b08afcd8fded 14-Jun-2012 Raphael Moll <raphael@google.com> resolved conflicts for merge of 8cf489c1 to jb-dev-plus-aosp

Change-Id: I06608e3c122b8f321429d457c51aa2213dd238b4
d8b940e4ac6cae0d45ce85ff0530279eb5bf3127 13-Jun-2012 Raphael Moll <ralf@android.com> Layoutlib Create: Find dependencies.

Usage: layoutlib_create --list-deps /path/to/layoutlib.jar

Prints:
- all classes found in the Jar and the types they use (the dependencies).
- all the dependencies missing from the Jar and what uses them.

Change-Id: I8b2674df127e1494feed7a653282e88e4d2f5494
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/DependencyFinder.java
om/android/tools/layoutlib/create/Log.java
om/android/tools/layoutlib/create/Main.java
506cc4043b43c41ee0401dfd495399d306a855db 24-Mar-2012 Xavier Ducrohet <xav@android.com> Add Delegate for ViewRootImpl#isInTouchMode to prevent IPC call in Eclipse.

Also fix some new/removed method from BitmapFactory.

Change-Id: I606bd8bee6ff1e2c6c9472b4672175bfdaff45de
om/android/tools/layoutlib/create/CreateInfo.java
3e65d540dfd87d3122bc6b067e29cb930c1e5b73 22-Feb-2012 Xavier Ducrohet <xav@android.com> Fix sdk layout rendering in JB.

Since JB, com.android.internal.R does not contain all the resources,
instead only the ones that are accessed through Java.
This means we need to dynamically generate IDs for resources that are
private and only accessed from other XML resources. This is done
through the DynamicIdMap class.

Also add a PolicyManager and a PowerManager since those are now
needed by ViewRootImpl?!?

Change-Id: If2ae8ad79502fa084d852664a44aefd46e01aec6
om/android/tools/layoutlib/create/CreateInfo.java
d98e133b3911b8db3430ce9d85efd5a6adcf70bf 03-Feb-2012 Xavier Ducrohet <xav@android.com> Make Layoutlib compile on Java 6.

Change-Id: Ic8f0e321c6c218de83664fc01f253a07fa80852c
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/MethodAdapter.java
8184ee147d8a398c21c5e3a328fbf8603185831d 05-Dec-2011 Tor Norbye <tnorbye@google.com> Upgrade layoutlib generation code to use ASM 4.0

Change-Id: I46b3854a05677dc7cadd217efb001dbb25631fbd
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/ClassHasNativeVisitor.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter2.java
om/android/tools/layoutlib/create/RenameClassAdapter.java
om/android/tools/layoutlib/create/StubMethodAdapter.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
03bb4bfbe2a72bd092bad80ea8bfe98f8bdd4eb6 01-Oct-2011 Xavier Ducrohet <xav@android.com> Layoutlib: add support for ITextServicesManager.

This include a fix in layoutlib_create to properly handle
delegating a static method of an inner class (was broken and
only worked on non static method).

Added a few comments here and there to *_Accessor classes so
that it's a bit more obvious what they are for and how they are
used.

Change-Id: Ifc31dd1a006393bb0c08e22b6a17f500dd62e090
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/DelegateMethodAdapter2.java
994236e95e9809ec8c1d06a218f606f1af2083af 11-Aug-2011 Xavier Ducrohet <xav@android.com> Make some methods/fields package private so that layoutlib can access them.

Change-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
5c2fff612716e2b7f01c58619f06dd039b0663f6 09-Aug-2011 Philip Milne <pmilne@google.com> Implement native println_native in android.util.Log for LayoutLib

Change-Id: I2ab83a131468490cf789bf17f9c12b6360e953a4
om/android/tools/layoutlib/create/CreateInfo.java
7c0ad1b03679253affbd8177e3178e2e135e9910 30-Jul-2011 Xavier Ducrohet <xav@android.com> Misc layoutlib fix in preparation of the access change in framework code.

Change-Id: I873adb7345514be6daa5c4fea4ebabb515f203e2
om/android/tools/layoutlib/create/Main.java
39db2c187ffe78536f91d6724c3cf8d60f450965 26-Jul-2011 Xavier Ducrohet <xav@android.com> am ed07215e: am 55775e5f: am e70b2b8f: am 9bcf26ea: Merge "Layoutlib_create flag -p: don\'t change all accesses to public."

* commit 'ed07215e482cae1ffedbba707284821b3afc310f':
Layoutlib_create flag -p: don't change all accesses to public.
043b9bb4c581f54efa7aa7089f714f17ee75b790 25-Jul-2011 Xavier Ducrohet <xav@android.com> am 55775e5f: am e70b2b8f: am 9bcf26ea: Merge "Layoutlib_create flag -p: don\'t change all accesses to public."

* commit '55775e5f34af8d7c22ab3212c253b3a7d34a6f8a':
Layoutlib_create flag -p: don't change all accesses to public.
42cff02e8b0a9ddbabec7c45a12b97bd2bfb8222 22-Jul-2011 Xavier Ducrohet <xav@android.com> am 9bcf26ea: Merge "Layoutlib_create flag -p: don\'t change all accesses to public."

* commit '9bcf26ea7aa108ce4bf4e973b4774d3e60eebafe':
Layoutlib_create flag -p: don't change all accesses to public.
b8e9768e5afc6484fbbee775abe611124050eb44 20-Jul-2011 Raphael Moll <ralf@android.com> Layoutlib_create flag -p: don't change all accesses to public.

Change-Id: Icb1709ed0cb275a5a51ca34030695a5e94091499
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
0fb362cbd32fd4fc68a35ef79df50f2d65d823ca 20-Jul-2011 Xavier Ducrohet <xav@android.com> Layoutlib: misc fix + start of AndroidBidi support.

Change-Id: If2ce0b683da8cce01679322d503eed8dd474e521
om/android/tools/layoutlib/create/CreateInfo.java
445aa602b947ab3b21dfa813a2b561993d51ac06 12-Jul-2011 Xavier Ducrohet <xav@android.com> LayoutLib: updated fake accessbility manager and ensure there's an InputMethodManager

We had replaced the accessibility Manager but it lacked some new API. Obvisouly
this is fragile and should be fixed, but this works for now.

After fixing this there was another issue with the lack of InputMethodManager.
To fix this I had to create an implementation of IInputMethodManager which
normally comes from a binder object.

I may want to do a similar trick with the accessibility manager later.

Change-Id: I28c6494e333f39072f348d0199124efac93256a5
om/android/tools/layoutlib/create/CreateInfo.java
b90271578d01dc8a16a3da04c18180c98295c8b8 12-Jul-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Delegate for Display and IWindowManager implementation.

This allows ViewConfiguration to be properly implemented which is now
required for the rendering to happen.

Change-Id: I55629689fa8f5f874b43fcac2aa0789ce02d58f4
om/android/tools/layoutlib/create/CreateInfo.java
3bcbe1d5ea58459c01787594ec0125b80fafa24f 23-Jun-2011 Raphael Moll <ralf@android.com> am 2b5f2d01: am e2b41b0d: Merge "Laoutlib_creator: keep original of delegate methods."

* commit '2b5f2d01558ba338042f486c754f63873c4061fe':
Laoutlib_creator: keep original of delegate methods.
3803cff81f6503697ce57732c16bd9961abde38a 23-Jun-2011 Raphael Moll <ralf@android.com> am e2b41b0d: Merge "Laoutlib_creator: keep original of delegate methods."

* commit 'e2b41b0d5c8db85a60cd190c7094052db61114b2':
Laoutlib_creator: keep original of delegate methods.
5e00375a72a61960d8ecdfd69310b06427c3eeb0 18-Jun-2011 Raphael Moll <ralf@android.com> Laoutlib_creator: keep original of delegate methods.

For specific methods, Layoublib_create can rewrite the implementation
of a method to invoke a delegate instead of the original code. This
allows layoutlib to implement native code or override existing behavior.

This patch also 'saves' the original implementation of a rewritten
method so that the delegate can access the original implementation
as needed. Obviously this is only done for non-native methods.

Given a non-native SomeClass.MethodName, we generate 2 methods:
- A copy of the original method named "SomeClass.MethodName_original".
The content is the original method as-is from the reader.
- A brand new implementation of SomeClass.MethodName which calls to a
non-existing method named "SomeClass_delegate.MethodName".
The implementation of this 'delegate' method is done in layoutlib_brigde.

Change-Id: I5ca2cd3ac55991a8e8a51c417e75ee447bf9e9e6
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter2.java
om/android/tools/layoutlib/create/StubMethodAdapter.java
35cd9992e5e757d9b4f2829ef4b67b75c3ef74b5 04-Jun-2011 Xavier Ducrohet <xav@android.com> Import the Layoutlib from hc-mr1.

This is squash commit of all the missing patches.

Change-Id: Ie081c46a173290646deddbde503a720d50c4400f
om/android/tools/layoutlib/create/CreateInfo.java
570020bde4ab285b010ef4693048cf8ecae45e06 04-Jun-2011 Xavier Ducrohet <xav@android.com> Cherrypick d1ed33c4 from hc-mr1. do not merge.

Fix zombie threads in the Layoutlib.

Some widgets can create (indirectly) HandlerThread which are started
but never stopped.

This patch use the delegate methods to override the thread run method
to record which threads are started to be able to call quit() on them
after a render.

Note that we should really fix layoutlib_create to be able to call
the default implementation from a delegate to remove code duplication.

Change-Id: Iaf5432623e9704bb3114a8e0583c8553282c205e
om/android/tools/layoutlib/create/CreateInfo.java
75122597268b94cc60fbf0b0a326760b4fdfe19b 20-May-2011 Xavier Ducrohet <xav@android.com> Merge e57aa434 from honeycomb-mr1. do not merge.

LayoutLib: Fix issue where <include> with no layout params wouldn't display.

The issue is that the layout params from the root element of the included
layout should be used but this failed because loading the layout params
from the <include> tag didn't throw a RuntimeException in our modified
code (BridgeTypedArray).

Because we don't want to throw exception in general we only throw it
when reading the layout params of an include node which is pretty crappy,
but works for now.

Change-Id: I83ccf956e8b476f34dfc9a70aebae2288d53746e
om/android/tools/layoutlib/create/CreateInfo.java
81efe359d53a5359a64374012bb4cf800e566537 08-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Adapt the HC layoutlib to GB. do not merge.

Change-Id: I0b2016987a65fabbc0ce7011514543349e9fb929
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
36652b5d892b854a176ef4ccb00339115c73c47e 08-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Original import of Honeycomb's layoutlib. do not merge.

frameworks/base.git @ f0a53435f14d23d9555fc46014352ee6a7baa647

Change-Id: Ibc215751693dc7650683b61bb458f7c8beaf8060
om/android/tools/layoutlib/annotations/LayoutlibDelegate.java
om/android/tools/layoutlib/annotations/Nullable.java
om/android/tools/layoutlib/annotations/VisibleForTesting.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/ClassHasNativeVisitor.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
1ab2e15233e7d3ea92dcef1cf3cf3280a17acfe4 06-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: improved rendering for system/title/action bars.

Change-Id: I926531e9ad4a7b98e04e23cac3837794f7c89449
om/android/tools/layoutlib/create/CreateInfo.java
02316e55ed65eeffc0eeefeaa3b1cce58f789387 05-Feb-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Replace custom BitmapFactory by a simpler delegate

Change-Id: Ie61a0a5b4426e64bb71a22d76d05efa4c0865e5e
om/android/tools/layoutlib/create/CreateInfo.java
88aa1f36d93e9e214c3c64864a8c692d6a733892 02-Feb-2011 Xavier Ducrohet <xav@android.com> Make TimePicker/DatePicker/CalendarView render in Eclipse.

Change-Id: Id5313a6f0f53bf45f6eaabc0e10fcf0660eeac08
om/android/tools/layoutlib/create/CreateInfo.java
9808dbef55c36375afcf0aa162424d49da3c9abe 28-Jan-2011 Raphael <raphael@google.com> LayoutLib.Create: support Outer_Inner_Delegate renaming.

When generating delegates, LayoutLib.Create support renaming
inner classes. Only one level of inner class is supported.

The method Outer$Inner#get(...) generates a call to:
static Outer_Inner_Delegate#get(Outer instance, Outer$Inner instance, ...)

Change-Id: Ie70f2b8e5e5f311ed9c7f26b7f64637ae6157a51
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
e9a2ea4ac32589b372ec195d8be59391c686a8c6 26-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: return ViewInfo for all merged items + Build init.

android.os.Build is now initialized from the build properties
parsed from the SDK build.prop file.

Change-Id: If16953215ca90fb0beacb51bf405b89a5c8a34fa
om/android/tools/layoutlib/create/CreateInfo.java
596608bc518705be0fab10c1fa77d21d4bd864b4 24-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: Use special view cookie for include-merge case.

All items directly under the <merge> tag now return the view cookie
of the referencing <include> tag using a special class for
easy differentiation in the calling client.

Change-Id: I7a2a4e642be9564f47e256fd1586012497d34792
om/android/tools/layoutlib/create/CreateInfo.java
664d31345d232ba8b731a269e6f9416e5ab4c33c 11-Jan-2011 Xavier Ducrohet <xav@android.com> LayoutLib: fix XmlUtils.convertValueToInt

It looks like the device implementation of Integer.parseInt
is able to handle converting hexa value > 80000000 while the
desktop VM cannot.

This patch provide a fix for this.

While implementing it and running the TestDegates test I realized
that some delegate methods for Region were mising, so this adds them
too.

Change-Id: Ifee1efd47c8c52adc2f4658ec4fc8bd55adb84b4
om/android/tools/layoutlib/create/CreateInfo.java
b97612483440e28c44d0a6ca98760aa7f34dc7fc 23-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: Support Region through delegates.

also finish supporting some clip operation
on the canvas.

Change-Id: I743b9e52a7aa6e9340506f1c904cc1cfbf3ff81f
om/android/tools/layoutlib/create/CreateInfo.java
a6e51d549710d42f8ee4776fa5fefa08277c8e57 23-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: add support for unsupported drawing modifiers.

DrawFilter, Rasterizer, ColorFilter and MaskFilter
are not supported but we need to provide their
JNI counterparts anyway, to at least display warnings
when they are used.

Also improved the API to query Paint for Shaders
and PathEffects, and clean up some code by
moving asserts into the DelegateManager.

Change-Id: I8942514565d28576d5608c6373bda25d86d42ff2
om/android/tools/layoutlib/create/CreateInfo.java
c810bea18e3f0e42aed4afb5e5159fba678a95e1 20-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: support for Path and BitmapShader using delegates.

Also created delegates for all missing shader, xfermode
and patheffect classes. Moved the logic of the xfermode,
and patheffects that was in Canvas_Delegate into the
xfermode/patheffect classes, and added support (in all
3 clases) for knowing if the shader/xfermode/patheffect
is actually supported or not. Make use of fidelityWarning
in LayoutLog if they are not.
om/android/tools/layoutlib/create/CreateInfo.java
2fba1f9c1eb4c80be9711e0cbf5fa56ce12c2994 07-Dec-2010 Xavier Ducrohet <xav@android.com> LayoutLib: explicitely override PropertyValuesHolder native code.

Change-Id: Ic7dd9efc990d01b20db144117cb11eb130349048
om/android/tools/layoutlib/create/CreateInfo.java
ddea50d03cdda807bbaea54beffd7a341c51f770 24-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib: Animation support.

New locking mechanims to prevent concurrent renderings.

There's now a thread specific prepareThread() method (only
prepares the looper) and its associated cleanupThread().

For the rendering itself, acquire must be called before doing
any type of Android specific work on the scene (inflate or rendering)
After instantiation, init() must be called, which also acts as acquire.

Added a lot of checks to make sure method aren't called without
acquire or if scenes try to be rendered while acquire was called
from the same thread but on another scene.

Animation implementation:
- Handler delegate to use our own queue (since the animation runs
through handler messages). This uses a callback to process
the message. This callback is per-thread and only used in
animation threads.
- SystemClock delegate to provide clock implementation.
- AnimationThread to handle playing the animation and calling back
to the animation listener.

Change-Id: Ia39aba7ed476759df1da3200e413fe3e92590d15
om/android/tools/layoutlib/create/CreateInfo.java
e4d978793ab8b4fdf88c7a6235d9ba17860c7bda 23-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib: use default nine patch classes.

Move away from using our own implementation of NinePatchDrawable.
Now use native delegate for a few methods of NinePatch.

The byte[] used to describe the 9-patch chunk is entirely controlled
by the delegate. Therefore, while the default version (JNI) use the
array as a representation of a C struct, this version uses the array
as a serialized version of NinePatchChunk.

A cache mechanism using SoftReferences allows us to not deserialize
the array every time rendering needs to access the chunk itself.

The Bridge-level cache mechanism for bitmaps and nine-patches as
changed. Since the new nine-patches doesn't hold the bitmap
data anymore (it's stored in a normal Android bitmap which
is cached itself through the cache), then the nine-patch cache
has been changed to only contain the nine patch chunk.

Also initialize the canvas with the display metrics to prepare
for correct scaling when density of the assets don't match the target
density.

Still to come: actual density support in the 9-patch drawing code.

Change-Id: Ibefcccf4432e1986e8436e0c41a0107741593536
om/android/tools/layoutlib/create/CreateInfo.java
7e3988879c2a3253e2f4151a8d787b2a8fe89ddd 11-Nov-2010 Xavier Ducrohet <xav@android.com> Misc fix in layoutlib bridge + View.isIneditMode as delegate.

Change-Id: Ideab29167e933203da99d4270cebcb777726201f
om/android/tools/layoutlib/create/CreateInfo.java
697bc8d68e22b4504d9b78772cfb753c59d76729 05-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib: Load fragments

This change does the following:
- Make the bridge context extend Activity instead of Context
so that it can act as a view factory. This is needed because
the Activity is used as factory for Fragment objects.

- Override the default Fragment.instantiate(...) method
through a delegate. This is done to load the Fragment
classes located in the project (similar to custom views).

Change-Id: If62e7c9ff2b7585677077ad825aa1c3591d1b5e0
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
79ef98ea43f746537297b747549d2b97c2d5ec70 04-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib native delegate: FloatMath.

While the difference is pretty minor since it's a small class,
the point is that the unit test will ensure that we detect
new methods added to FloatMath more easily.

Change-Id: Ia8bfee231cc4ae0cfeb18692be86d02649c187d5
om/android/tools/layoutlib/create/CreateInfo.java
3cff572566c2b8ec956fe59702e66f0d592d8361 04-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib native delegate: path effects and xfermode.

Change-Id: Iafaac6dbaf452e2dba3e77c801089dad33ac4ea9
om/android/tools/layoutlib/create/CreateInfo.java
f1a1745224b8b6af23e15d2bf93631da80adc355 02-Nov-2010 Xavier Ducrohet <xav@android.com> Layoutlib native delegate: primitive shapes and shaders

Change-Id: Id2b0c6231589e82d8e96c9f019042eba348a6583
om/android/tools/layoutlib/create/CreateInfo.java
ef44aead46faf1bbc4120825cd6e457ac8ddba1b 28-Oct-2010 Xavier Ducrohet <xav@android.com> Layoutlib Canvas and Paint implementation through native delegates

Also fix native delegate generation to put "this" parameter even
for methods that don't have any parameters.

Change-Id: I5dd0c505871370ff7b4cda16de84a5b3ae438f73
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
221f6782615b9bebd4a531611c00c1d9be947927 30-Oct-2010 Xavier Ducrohet <xav@android.com> Implement the layoutlib Bitmap through a native delegate.

This does not implement all the native methods of the
android.graphics.Bitmap class, only what's needed to draw an
ImageView object. The rest will be implemented after Canvas and
Paint have been moved to the native delegate.

Change-Id: Ia0c3b2cafa03871c298deaef5817a25ac1c35521
om/android/tools/layoutlib/create/CreateInfo.java
f33eec68d0f7c4e27c93674cb799252949663b56 28-Oct-2010 Xavier Ducrohet <xav@android.com> Move layoutlib typeface implementation to delegate.

Also move BridgeContentProvider to its own class to make it
less messy in BridgeContentResolver.

Change-Id: Id3462218b500d43d4c9b20b25326ad24e4106fa5
om/android/tools/layoutlib/create/CreateInfo.java
48ab1a32897947a1d44ee280fa6f1397df882dba 22-Oct-2010 Xavier Ducrohet <xav@android.com> Reimplement the native matrix method using the new delegate way.

Instead of renaming the old Matrix class into _Original_Matrix
and have layoutlib provide a full new implementation of Matrix,
we keep the old one by only modifying it to implement the native
methods which calls out to a new Matrix_Delegate class.

The goal is to not have to maintain the java portion in
sync between the framework and the layoutlib version.

Change-Id: I3e1aefffbae45e91b75331c0c6ff2260323deacd
om/android/tools/layoutlib/create/CreateInfo.java
d9652b25bfa7fe0f9ed9a7c1681cb1b7bbd83834 26-Oct-2010 Xavier Ducrohet <xav@android.com> Fix rendering of digitalClock/Gallery in Eclipse editors.

Change-Id: Iedcd3184cd9f34be8d0695a51eda953ac68683ce
om/android/tools/layoutlib/create/Main.java
491690b42f84c9859ace22ab7642fd18d8c96a4f 26-Oct-2010 Raphael <raphael@google.com> Revert "Fix rendering of digitalClock/Gallery in Eclipse editors."

This reverts commit 25e96ce7b99f9736a6024d25bd65a83774c7640f.
om/android/tools/layoutlib/create/Main.java
239484757407b88a51181219cd72f126f6f38535 26-Oct-2010 Xavier Ducrohet <xav@android.com> am a44a5e02: am 1b6180ec: Merge "Fix rendering of digitalClock/Gallery in Eclipse editors." into gingerbread
f4f90d132950c6e8bb6ca1c3aacea0c768761a18 26-Oct-2010 Xavier Ducrohet <xav@android.com> am 1b6180ec: Merge "Fix rendering of digitalClock/Gallery in Eclipse editors." into gingerbread
b12f5fc4d4c922a6fe13e6e75a5f028e5e9da12d 26-Oct-2010 Xavier Ducrohet <xav@android.com> Fix rendering of digitalClock/Gallery in Eclipse editors.

Change-Id: I80f4f90b173529632eaf2fbc3bb5471b7ede8216
om/android/tools/layoutlib/create/Main.java
21f3175e1f42cd128984a5de00904964919f29cc 23-Oct-2010 Raphael <raphael@google.com> Layoutlib_Create: Fix order of class adapters.

The Transform adapter was running last, instead of
running on the output of the Delegate adapter.

Change-Id: I2cd777add7b0972c6bb197aaac6693d39dd5a103
om/android/tools/layoutlib/create/AsmGenerator.java
dc66e2fb4b111a32845071d9ac4450af0e42fc05 22-Oct-2010 Raphael <raphael@google.com> Layoutlib_create: fix binary name of delegate methods.

Change-Id: Iebd7d730b23e12f770e6ecadafb2f5c3459958db
om/android/tools/layoutlib/create/AsmGenerator.java
9d82886f763bdefda3e0a45925d85173cbfd3f23 27-Sep-2010 Raphael <raphael@google.com> layoutlib_create: Generate delegate to implement native methods.

- Some new parameters are added to CreateInfo with the list of methods
or classes to override with delegates.
- DelegateClassAdapter and DelegateMethodAdapter do the work... see javadoc.

Change-Id: I0657cd929837181d81c65db7051d8ccbdc59c741
om/android/tools/layoutlib/annotations/LayoutlibDelegate.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/DelegateClassAdapter.java
om/android/tools/layoutlib/create/DelegateMethodAdapter.java
om/android/tools/layoutlib/create/ICreateInfo.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/TransformClassAdapter.java
f52bb88c27fecbf0a2e43e20021bce1d202b8ab9 24-Sep-2010 Raphael <raphael@google.com> Layoutlib_create: Unittest for ClassHasNativeVisitor.

Change-Id: Id101bb3fc2644e450847e73c933cb6f616982f24
om/android/tools/layoutlib/annotations/Nullable.java
om/android/tools/layoutlib/annotations/VisibleForTesting.java
om/android/tools/layoutlib/create/ClassHasNativeVisitor.java
bbbcf4d8779812ca14513dce1fdfd51f2d5f1af0 15-Jan-2010 Xavier Ducrohet <xav@android.com> ADT/Layoutlib: Add dash support to stroke.

Change-Id: I09a7e84948be013cbb11f6d9774ab81df897b424
om/android/tools/layoutlib/create/CreateInfo.java
238857e9ec73ae33c43c56e133e7e1e202a6f077 14-Jan-2010 Xavier Ducrohet <xav@android.com> ADT/Layoutlib: Reimplement parts of BitmapFactory

The original bitmap factory is mostly done in native and deals
with the normal android Bitmap class which has been replaced
in the layoutlib by a bitmap that is merely a wrapper around
an AWT BufferedImage.

This new BitmapFactory creates the layoutlib version of
Bitmap all in Java.

Change-Id: Ice8b5d19141a9a43f83349c159201bf85604b3b0
om/android/tools/layoutlib/create/CreateInfo.java
98c7d2d9463b4e66be75ff9d1e7b7f9f570cc181 05-Oct-2009 Xavier Ducrohet <xav@android.com> Refactor class/method names used by layoutlib_create.

Information about classes and methods that are replaced, renamed, removed
into CreateInfo, so that it can be used by the tests.

Change-Id: I8874a40503249416621aa90b2ca02dcaf30ecd57
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/CreateInfo.java
om/android/tools/layoutlib/create/Main.java
7267e11177e9f0dfdfe2896fa333b1dae2030ce8 15-Aug-2009 Xavier Ducrohet <xav@android.com> Improved drawing/matrix support in layoutlib

- Make the custom Canvas actually replace the original one so that it's used
even by parts of the framework that allocate their own temp Canvas object.
- Better support for Matrix: added support for mapPoint() and mapRect(), and invert()
- Implemented drawBitmap() with a Matrix, and made the paint object not NPE when null.
om/android/tools/layoutlib/create/Main.java
581f51fd43b9ecdf3336e95c409c05f929e48a97 13-Aug-2009 Xavier Ducrohet <xav@android.com> Mock ServiceManager and AccesibilityManager to make the view renders in ADT

BUG: 2049348
om/android/tools/layoutlib/create/Main.java
64100b3110618603e98c7efa164c323594172e18 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
om/android/tools/layoutlib/create/AsmAnalyzer.java
om/android/tools/layoutlib/create/AsmGenerator.java
om/android/tools/layoutlib/create/ClassHasNativeVisitor.java
om/android/tools/layoutlib/create/Log.java
om/android/tools/layoutlib/create/LogAbortException.java
om/android/tools/layoutlib/create/Main.java
om/android/tools/layoutlib/create/MethodAdapter.java
om/android/tools/layoutlib/create/MethodListener.java
om/android/tools/layoutlib/create/OverrideMethod.java
om/android/tools/layoutlib/create/RenameClassAdapter.java
om/android/tools/layoutlib/create/StubMethodAdapter.java
om/android/tools/layoutlib/create/TransformClassAdapter.java