e4cd38824a6627b9fef229c549c636e35ad63b5f |
|
07-Jul-2015 |
George Mount <mount@google.com> |
Support dependency injection. Bug 22389109 Change-Id: Iec63375c5412edc03b4808ee129a7596b61bf9e6
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
4df4ba38a62b791bbbc25e923efe8d9c2f9a52e9 |
|
27-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Data binding startup improvement This CL replaces how we map tags(string) to layout ids in the generated DataBindingMapper class. Previously, we would create a hashmap which was some unnecessary work in startup. The alternative was using switch(string) but we did not want to require java 7. This CL does what java 7's switch(string) would do thanks to the well defined API of String.hashCode. This CL also adds a method to DataBindingUtil to convert BR.ids back to String for debugging purposes. Bug: 22108735 Change-Id: I4b8ef816f4aac99b2963793dd46519b056ce4a30
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
b6887f1479c3ecec38a7989748ef33de1fbcd973 |
|
12-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Export generated class list from javac Previously, gradle plugin would figure out generated class names that should be excluded from the packaging. This CL changes that behavior to export the list from java compiler so that it is consistent going forward. This CL also changes exclusion task to always exclude generated binding info class to not to leak any information about user's local. Bug: 21668472 Change-Id: Ibeed24bd854781942b4185f618a5cd1eafe706d3
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
1bbaf7cdf7f9d93ae09365192abb2288cf0dfb41 |
|
15-May-2015 |
George Mount <mount@google.com> |
Always generate the DataBinderMapper.java class When a project first enables data binding, it may not have any layout files with binding expressions. The DataBinderMapper class should be generated to avoid a linking error. Bug 19945740 Change-Id: I6d8e12649c71f88e59463d7cfb2d8f260ff1eb7c
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
96e1c821dd446d1ed78f8ae61131550588f60a24 |
|
10-Apr-2015 |
George Mount <mount@google.com> |
Support merge tags. This also drops the requirement for include tags to have an ID. Each root view tag is given a numeric suffix, starting with 0. Merge tags can have multiple roots, the first of which always is suffixed with 0. The remainder have tag identifiers that are interspersed with the tags used with expressions. The numeric suffix is used to identify the View in the mapBindings call. Include tag information now uses the tag of its parent so that its parent will search for the includes within it. When mapBindings is looking at the parent, it looks for all direct children with the appropriate tag of the format "layout*/name_0". Then it searches for all siblings with the same prefix and different numeric suffixes. Any that are found are considered part of the same merged include. If it finds another with _0, it knows that a new include was found. Change-Id: Idd1144d9037648193724667320744bd079791476
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
e7c2a5e45d7651899790bd347da635875f9c73fb |
|
02-Apr-2015 |
George Mount <mount@google.com> |
Use setTag(id, val) when minSdk is ICS and later. setTag(id, val) leaks on versions before ICS. When the minimum SDK is before ICS, setTag(val) must be used for bindings. However, this prevents the developer from using the tag for his or her own purposes. Therefore, if the minimum SDK is ICS and greater, setTag(id, val) is used. Change-Id: I46327084bde4bafc05a64f82ad5ebcf710820ecc
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
125f08f32dbe73b457768aeca4accfbc44dd44b6 |
|
01-Apr-2015 |
George Mount <mount@google.com> |
Don't use reflection for DataBinderMapper. By having a concrete implementation of DataBinderMapper in the library and then stripping it out, the generated DataBinderMapper may be instantiated without reflection.
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
dea555cf42dc3583604699c8c018d22681f56166 |
|
30-Mar-2015 |
George Mount <mount@google.com> |
Merge implementation into base class for single implementations. Bug 19933646 Change-Id: Ifc947d929b5275e32598e8d40f0122504a99d7f8
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
61630faa88ee4817834d47294a0e17f19d8e1c51 |
|
30-Mar-2015 |
George Mount <mount@google.com> |
Require only one pass to make BR.java file. Bug 19985005 Because the generation of Binding files created @Bindable annotations, the BR file generation had to wait until a second annotation pass. This caused errors to be generated that were later cleared, causing confusion. I moved the BR file generation to the same annotation processing stage that generates the Binding files to clear up the error generation. TODO: merge the annotation processing stages so that there is less cross-talk between annotation processors.
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|
fead9ca09b117136b35bc5bf137340a754f9eddd |
|
23-Mar-2015 |
George Mount <mount@google.com> |
Move to package android.databinding.
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/CompilerChef.java
|