78dc9ae6d67ae94bf3f637eeea0848e4f700b7a3 |
21-Apr-2016 |
George Mount <mount@google.com> |
Fix problem where root View's style is used instead of bound View's Bug 27808662 Change-Id: I870b0db47e3ed970a3bd67e602e873e503610028
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
est/java/android/databinding/tool/ExpressionVisitorTest.java
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/expr/ExecutionPathTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
15b6682cf3505b117329e2190967c92a89b179e9 |
08-Apr-2016 |
Yigit Boyar <yboyar@google.com> |
Move to org.antlr from tunnelvision We were using a version of antlr that is published by tunnelvision which works fine but this becomes a problem when another gradle plugin wants to depend on antlr as well. It is best if we depend on the original one to avoid conflicts with other libs. Bug: 27175207 Change-Id: I0a87f9902361ace5dc6d03d838e2ad431c844de8
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/LayoutBinder.java
|
f58c3bd412f9bdc5ec589fdcfed470889abb6ea6 |
26-Mar-2016 |
Yigit Boyar <yboyar@google.com> |
Fix expression evaluation problem This CL fixes a bug in expression evaluator where we would elevate a conditional dependency by mistake when it is not read completely. This was caused by marking bit paths as read in the same cycle. There is still a potential bug in the code path where we detect a variable would've already been calculated for a dependency to be calculated (e.g. a ? a : b) but this change is a fairly safe compared to making a big change in that logic. Bug: 895468 Change-Id: I60a704a59c3b5b8e4f833f060c6233d356dab6c8
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
11df39c91611b9ff2d7c87a9a9829251a015bccf |
16-Mar-2016 |
George Mount <mount@google.com> |
Added simple inverted String conversion. When binding a primitive to an EditText, a common pattern is to use '@{"" + value}'. This, however, doesn't allow for a two-way data binding expressions. To mitigate the need for conversion functions, a simple inversion for this expression wsa implemented that just converts value from a String when possible. This CL also fixes a bug in which a method matching the first parameter was always chosen, reguardless of the second and further parameters. Change-Id: I36828d9f54d2073965358fceb140b2d5e6328919
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/reflection/InjectedBindingClass.java
ain/java/android/databinding/tool/reflection/InjectedBindingClassField.java
ain/java/android/databinding/tool/reflection/InjectedBindingClassMethod.java
ain/java/android/databinding/tool/reflection/InjectedClass.java
ain/java/android/databinding/tool/reflection/InjectedField.java
ain/java/android/databinding/tool/reflection/InjectedMethod.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
ain/java/android/databinding/tool/reflection/ModelMethod.java
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
|
c0c1dab0b6254e4d27f18c37a72a9e7952e958a0 |
02-Mar-2016 |
George Mount <mount@google.com> |
Support for java 8 method reference syntax. Bug 26937350 Our event handling syntax is obj.method, where java 8 uses the syntax obj::method. This adds support for the java 8 syntax and adds a deprecation warning for the old syntax. Change-Id: Ideb0570c2646f674da031f642ed3369e8c5fcd3b
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/ListenerExpr.java
ain/java/android/databinding/tool/expr/MethodBaseExpr.java
ain/java/android/databinding/tool/expr/MethodReferenceExpr.java
ain/java/android/databinding/tool/expr/ObservableFieldExpr.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
bb4a033fcd5cd20e5be46ef8ead442dc7db2454d |
18-Feb-2016 |
George Mount <mount@google.com> |
Have two-way binding use localized variables to prevent NPE. Bug 26962999 Two-way binding was using the inverted expressions directly without localizing variables. That meant that if there was a variable set to null during evaluation, it may get a NullPointerException even though it checked for null on the value previously. This CL localizes the variables so that cannot happen. Change-Id: Ia55955ce0f1cb750e6a678e72e0cda03f0e3c9b6
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/InverseBinding.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/ArgListExpr.java
ain/java/android/databinding/tool/expr/BitShiftExpr.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/BuiltInVariableExpr.java
ain/java/android/databinding/tool/expr/CallbackArgExpr.java
ain/java/android/databinding/tool/expr/CallbackExprModel.java
ain/java/android/databinding/tool/expr/CastExpr.java
ain/java/android/databinding/tool/expr/ComparisonExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/FieldAssignmentExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/InstanceOfExpr.java
ain/java/android/databinding/tool/expr/LambdaExpr.java
ain/java/android/databinding/tool/expr/ListenerExpr.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/ObservableFieldExpr.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/java/android/databinding/tool/expr/StaticIdentifierExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/expr/TwoWayListenerExpr.java
ain/java/android/databinding/tool/expr/UnaryExpr.java
ain/java/android/databinding/tool/expr/ViewFieldExpr.java
ain/java/android/databinding/tool/reflection/InjectedBindingClass.java
ain/java/android/databinding/tool/reflection/InjectedBindingClassField.java
ain/java/android/databinding/tool/reflection/InjectedBindingClassMethod.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/ModelMethod.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/expr/ExprWriters.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/ExpressionVisitorTest.java
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/expr/ExecutionPathTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/expr/ExprTest.java
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
est/java/android/databinding/tool/reflection/java/JavaMethod.java
|
b522c7650bf7d9ec566845bc9eb37e761eea853d |
23-Feb-2016 |
George Mount <mount@google.com> |
GroupExpr is unnecessary. The grouping happens at parsing time, so grouping as part of the expression model is unnecessary. It can be inferred. Change-Id: I10c617516741b9ff8115144d51fcadcd2f8b87d6
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/GroupExpr.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
09f8e10e2a49a075da8bb2f64853377c5e37045a |
17-Feb-2016 |
Yigit Boyar <yboyar@google.com> |
Allow ObservableFields to be Bindable. This CL fixes a bug where if a field/accessor is Observable and Bindable, it would not be assigned a BR id, resulting in malformed generated code. Bug: 26922185 Change-Id: Ia3d11204460fc1967f0a7b60ed7cba1d3698098d
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
|
6047998943beebd81e0ae1068df39c0cbee38628 |
02-Feb-2016 |
Yigit Boyar <yboyar@google.com> |
Lambda In da house This CL adds support for assigning callbacks to listeners using lambda expressions. These expressions can receive either 0 or N arguments where N is equal to the number of parameters in the callback function. These expressions are evaluated when the callback is invoked. In other words, they are independent from the rest of the ExprModel except the Identifier expressions. Since these are limited to 1 full expression and they don't have any invalidation flags; we use a verbose branching code generation mode where we calculate all possible execution paths, eliminate trivial ones and generate the code. This allows callbacks to be thread safe as well. See ExecutionPath class for details. It is not efficient but since these are rere occasions, should be OK. Callback expressions are still forced to be expressions that return value. To handle `void` case, I've added `void` and `Void` as acceptable symbols. Also, if the callback method returns void, the expression is free to return `void` or any other value. ¯\\_(ツ)_/¯ I've also moved kotlin to rc0. Although rc0 is unrelated to this task, it made more sense to upgrade here because most changes it will ask for were already done in this branch. Bug: 26849440 Change-Id: I805b3d470f85df9c2ce3f3ed5ca74925a08bb7a5
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/CallbackWrapper.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/CallbackArgExpr.java
ain/java/android/databinding/tool/expr/CallbackExprModel.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/LambdaExpr.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/reflection/Callable.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/ModelMethod.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/solver/ExecutionBranch.java
ain/java/android/databinding/tool/solver/ExecutionPath.java
ain/java/android/databinding/tool/writer/CallbackWrapperWriter.kt
ain/kotlin/android/databinding/tool/expr/ExprWriters.kt
ain/kotlin/android/databinding/tool/writer/BRWriter.kt
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/BindingExpressionParserTest.java
est/java/android/databinding/tool/expr/ExecutionPathTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
af146d6a8c0efcf5682d14047c06866a5548f78f |
22-Jan-2016 |
Yigit Boyar <yboyar@google.com> |
Update data binding to kotlin beta 4 I've also run some cleanup inspections to keep codebase more up to date. Bug: 26738574 Change-Id: I02aa43157cad858c0ea60dd41a22150e3cf2cfa1
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/VersionProvider.java
ain/kotlin/android/databinding/tool/ext/list_ext.kt
ain/kotlin/android/databinding/tool/ext/node_ext.kt
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
39113ca579a3d4e1c24e204f102e6dc9b26125af |
20-Jan-2016 |
Tor Norbye <tnorbye@google.com> |
Update Kotlin code to be beta 4 compatible Change-Id: I96ab85fd9ec3d857929055b804fd094a4e3d245c
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
99d74030fe5856572bd4b569bc04d2a11258f202 |
14-Jan-2016 |
George Mount <mount@google.com> |
Fixed warning when using a color resource. Bug 26254496 Change-Id: Ied6b942fada3a99ec331ad59f2f5ee6e6c33a20b
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
|
d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01 |
17-Sep-2015 |
George Mount <mount@google.com> |
Two-way binding Bug 1474349 Bug 22460238 This adds two-way data binding for those attributes on Views that also have event listeners for them. General use is also supported, but event listeners are required to notify when those properties change. Change-Id: Iedc66a604257930265f9d661f69658a0a0c3208b
ain/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/InverseBinding.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/ArgListExpr.java
ain/java/android/databinding/tool/expr/BitShiftExpr.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/BuiltInVariableExpr.java
ain/java/android/databinding/tool/expr/CastExpr.java
ain/java/android/databinding/tool/expr/ComparisonExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/GroupExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/InstanceOfExpr.java
ain/java/android/databinding/tool/expr/ListenerExpr.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/java/android/databinding/tool/expr/StaticIdentifierExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/expr/TwoWayListenerExpr.java
ain/java/android/databinding/tool/expr/UnaryExpr.java
ain/java/android/databinding/tool/expr/ViewFieldExpr.java
ain/java/android/databinding/tool/reflection/Callable.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/expr/ExprTest.java
|
4ba16229a40e9758db86d4fb1df5119fdcb8aa2a |
22-Dec-2015 |
Deepanshu Gupta <deepanshu@google.com> |
Change from commons-lang3 to guava Change-Id: I1a18e06af7bf2d65228f1491663b6e096a9538ed
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/writer/BRWriter.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
|
5bd6addc9cb9dda23d022a6632e90591457f613e |
08-Dec-2015 |
Deepanshu Gupta <deepanshu@google.com> |
Add modules definitions. These are referenced by the tools/idea project. Also, some minor code improvments. Change-Id: Ia1f6a80c257b9022a2efda553ccc9096e03edc00
ain/kotlin/android/databinding/tool/ext/list_ext.kt
|
e61d1cc710803cdf0ab4f2aca3d18c46949758a9 |
04-Dec-2015 |
Yigit Boyar <yboyar@google.com> |
Fix compiler tests setup, upgrade public known version Change-Id: I91babbab13cd00d4f0df149c997349fca0aed80b
est/java/android/databinding/tool/expr/ExprModelTest.java
|
0b6d118e6eeb3bc100fc6a6e66016ab812cb2783 |
04-Dec-2015 |
Yigit Boyar <yboyar@google.com> |
Avoid re-reading variables. This CL fixes a bad code generation where we would set a variable to itself, which breaks if you use a tool like ErrorProne. I've also updated gradle version and data binding versions. Bug: 25077399 Change-Id: I6620faf4cad5fa74dc7c35be03c46c4a76c9cfbc
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
1cd7d1209b1e3eec10cb2dd78b172b0d344008df |
16-Nov-2015 |
George Mount <mount@google.com> |
Merge "Don't use DynamicUtil now that 1.0-rc5 has been released." into studio-master-dev
|
1907fd71019ef16d4fc2953d56f1ec0702275aa0 |
15-Nov-2015 |
Yigit Boyar <yboyar@google.com> |
Load intermediate files as Interface Change-Id: I6e07443d7d51eaad0d655f4fcd2e3e43ef14bdc8
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
|
90004de4330158be2351b9e26ba951f2ccbccfce |
14-Nov-2015 |
George Mount <mount@google.com> |
Don't use DynamicUtil now that 1.0-rc5 has been released. Change-Id: I017049ba3fb3c0d66982f504192d6a2814859f9a
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
|
28e7064d455e2ef9da31c817dfc05ec7405c60df |
11-Nov-2015 |
Yigit Boyar <yboyar@google.com> |
Override layout file metadata from module If a layout file is inherited from a module but also exists in the app, w~e force the app version to the metadata of the module version. This means forcing its created class location to be the same as the module. This usually happens when gradle or aapt generates some layout during app compilation. Bug: 25369165 Change-Id: I5d2002ac04d16cfe9935fe5580548344b19b4aca
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
|
59229481aec5a284d322a2ca80dff836485feb0c |
30-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
upgrade kotlin to 1.0-beta1 Change-Id: I62b77fd118e2715d272a16d96b9083d2347f5fb1
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/ListenerExpr.java
ain/kotlin/android/databinding/tool/ext/ext.kt
ain/kotlin/android/databinding/tool/ext/list_ext.kt
ain/kotlin/android/databinding/tool/writer/BRWriter.kt
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
ain/resources/NOTICE.txt
|
83a8c9d56cba07985d611ce7df47346b94742336 |
23-Oct-2015 |
George Mount <mount@google.com> |
Add targetSdk check for DynamicUtil. Change-Id: I271b3fc364c2d8689f22e0555174a8ca30bc04b5
ain/java/android/databinding/tool/CompilerChef.java
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
|
499cacaab504a8166dfe44515e0242b9852d8673 |
30-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Revert "Revert "Update notice"" This reverts commit f5517fe4100cc751b365edb43a07455b7b435215. Change-Id: Ic60d99c9a9508dbd912a67fa2d467e7332c51dfb
ain/resources/NOTICE.txt
|
f5517fe4100cc751b365edb43a07455b7b435215 |
30-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Revert "Update notice" This reverts commit 0a39d327fc5dedb0a766f1ad44d7b1fc7048ef84. Change-Id: I72fad57691ac1fb1f74ccdd82d61d16b0b52e435
ain/resources/NOTICE.txt
|
0a39d327fc5dedb0a766f1ad44d7b1fc7048ef84 |
30-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Update notice Change-Id: I3d5e2a07075603fbc2ee9b6c93490f6ea2d7c594
ain/resources/NOTICE.txt
|
9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3 |
13-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Data binding as studio dep + java6 This CL gets rid of the gradle plugin and instead provides DataBindingBuilder for the gradle plugin to directly use. Now, everything that is deployed via SDK Manager (lib and adapters) are included as prebuilts so that we avoid accidently changing them w/o an SDK manager release. There is still work to do: > re-enable proguard for externel dependencies > release a batch to ensure everything works Bug: 22516688 Change-Id: I83ace15bd6d3d23bf5b4ad850f36453dd23ebd43
ain/java/android/databinding/annotationprocessor/ProcessBindable.java
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/MakeCopy.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/BuiltInVariableExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/ListenerExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/reflection/SdkUtil.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/util/GenerationalClassUtil.java
ain/kotlin/android/databinding/tool/writer/BRWriter.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
012f7781add1b38b28c0c68a94172715e635c00e |
23-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Avoid deprecation warnings in DynamicUtil Change-Id: I2c7b5321bdfc7e3932a691cf724b9bd79edff471
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
|
bdc7aa8269502b3fc3ce73c124e4f1b2092502c9 |
23-Oct-2015 |
George Mount <mount@google.com> |
Use a dynamically-generated class to relax requirement to upgrade. We may need some static methods between releases and instead of requiring a release, we can now supply the methods as a dynamically generated class, DynamicUtil Change-Id: I9d53ae99b4b5717cd4780efdcb7a3f85bfac8dd9
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/kotlin/android/databinding/tool/writer/DynamicUtilWriter.kt
|
da97a54b679e19f4f40e23d290816093870956af |
19-Oct-2015 |
George Mount <mount@google.com> |
Merge "Load drawables using the theme when necessary." into studio-master-dev
|
876ba3272f17ed891ea455e7dd526d44e468757c |
17-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Fix broken test. The test was using a sample which is not compliant with JavaBeans notation. It did not fail before because these tests are not compiled as data binding apps Change-Id: Ifad7a1d204d6e6e4b227bc68ccabdb650d73dec6
est/java/android/databinding/tool/expr/ExprModelTest.java
|
88ce44ccc65e74a8553244ca246cc9f4c48483e0 |
15-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Create BR id from Callable This CL fixes a bug where if an expression maps into a method with a different name, we would create the BR id from the expression instead of the referenced method. Bug: 24973950 Change-Id: Ia57c31d926a737c9fc84775780aeb5e617769d43
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/reflection/Callable.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/util/BrNameUtil.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
d0bb3f1e1a94747bb3dd8bd2fee315d8816f0f5d |
14-Oct-2015 |
George Mount <mount@google.com> |
Load drawables using the theme when necessary. Bug 24936186 Drawables could be loaded from themed resources as of L (v21), so the Theme should be used to load those resources. The same is true for ColorStateList in M (v23). Change-Id: I3e6d7a55ff7fe744ed872f83f550abfb018a3df8
ain/java/android/databinding/tool/expr/ResourceExpr.java
|
09aeb26073fc8a98263806f53e44819ebe5046c6 |
09-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Handle constant predicate in ternary If a ternary expressions's predicate is constant, we would never evaluate it which means we would never evaluate the ternary unless some other expression depends on it. This CL changes ExprModel to move such constant expressions into pending list so that they can be evaluated + necessary flags are set. We can actually avoid this process by replacing TernaryExpression with something else when this case is detected but that would be a bigger change and not safe shortly before the release. Hopefully, codegen logic will be refactored into a more well defined process. Bug: 24768154 Change-Id: I0918568414b64d64f070978f1f8e77cc3b6c85fd
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
4a6c37d256084b60becc095f8fdecbc959d0ee1d |
08-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Fix tag check in data binding mapper" into studio-master-dev
|
d3dc1b70aa71e8343dbf5e05a2feeb72bb29b6ec |
08-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Fix tag check in data binding mapper This CL fixes a bug in data binding mapper where if the View's tag does not match one of the expected tags, it would fall through to the ext case statemet which would result in a meaningless error. This CL detects the case and throws an exception. This case should not happen since it is not a supported case but happened here due to another bug Bug: 24745000 Change-Id: Ic5c6d4ce2da6ad043fb6fe56cd0847c98ea2472d
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
|
fd8342a51a96282df315cd27055ba539e89a8c9e |
07-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
Report syntax errors even though Antlr can recover This CL makes Antlr parser more strict by not allowing errors. Antlr usually tries to recover from these errors but thats not what we really want for this use case. This CL also updates version codes to rc4 since rc3 is already out. Change-Id: I0d305e06a6cdcbae2f37573c3c6ae4233cdd7958
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/LayoutBinder.java
|
e23af2603f80c6d51b4f0be47d82477f6cca975d |
06-Oct-2015 |
Yigit Boyar <yboyar@google.com> |
add kotlin prebuilts license Change-Id: I10c41d5b9edc1312000b6cfbfc5b481dd72f031c
ain/resources/NOTICE.txt
|
f1081f6a15e6b905701bd3bbcb5d598731d05afb |
06-Oct-2015 |
George Mount <mount@google.com> |
Fix error processing XML when german character is used. Bug 24507894 The character set was not being properly detected for the XML file when it was being loaded, so it was always using the default character set. For Windows, this turned out to be something other than UTF-8. Now, a library is used to detect the character set before parsing. Change-Id: I2ea041701de59f0e72fd18288b0f62cb2beb74e6
ain/resources/NOTICE.txt
|
219d16f518d161d9fcc1f0eca950863105990568 |
05-Oct-2015 |
George Mount <mount@google.com> |
Merge "Fix resolving listeners for multi-attribute binding adapters." into studio-master-dev
|
975c05c00dae9193a636c4775df81d8665fc6749 |
30-Sep-2015 |
George Mount <mount@google.com> |
Fix resolving listeners for multi-attribute binding adapters. Bug 24538724 Change-Id: I39a72fd701abf9d2368d2a0a7fc5a4c1ac63c0a0
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
|
74c69a5dfad22472ceace07480e564610dc481e0 |
30-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Load full SDK table" into studio-master-dev
|
f01c66d7aaafd713de64b499c568f5870855dcd5 |
30-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Load full SDK table When loading methods from the SDK, we would only load methods that have since > Application.minApi. This way, we would keep the hash very small. On the other hand, this algorithm break if a newer API version adds a method that has the same signature with a subclass. This case happened when we added setForeground to View at API 23 but it has been in FrameLayout since 1. Bug:24509802 Change-Id: I7ac7ca5d1aac142a9afe8cd57ab9497dfb649650
ain/java/android/databinding/tool/reflection/SdkUtil.java
est/java/android/databinding/tool/reflection/SdkVersionTest.java
|
a128d1c99ea98bb48c45d648906652e3d618d513 |
29-Sep-2015 |
George Mount <mount@google.com> |
Bring all instance BindingAdapters into Component. This also uses a non-arbitrary ordering for name clashes. Bug 24407912 Change-Id: Ibd96adfb979af86370889acb7b60c1b6953b190d
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/writer/ComponentWriter.java
|
d7a88db363a66f8afe51d92f029fd139f5fc6cd3 |
29-Sep-2015 |
George Mount <mount@google.com> |
Merge "Add context as an automatic variable." into studio-master-dev
|
cecfe2b01c96246ff05c40a43f5fc73b92382047 |
28-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Remove log method Change-Id: I92a80a21ef5f466e84b22c3bbf1132ea56819f4b
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
7c1b078ca84336caba7f811709836562bd5550d6 |
17-Sep-2015 |
George Mount <mount@google.com> |
Add context as an automatic variable. Bug 24136218 Change-Id: I0996ac8d3b42d29fbfe1c14da1343e05954c3bef
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/BuiltInVariableExpr.java
ain/java/android/databinding/tool/expr/ExprModel.java
|
d3deca05df54ca4d3af06e282d37fc6b8ec18dc3 |
23-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Upgrada kotlin to m13" into studio-master-dev
|
8dcc185bbd1b1e3654c6018a740b6e33283d908b |
21-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Fix test initialization. This tests was behaving flaky. Looks like if it is the first test to run, it would crash because JavaAnalyzer is not initialized. Onether reason to not to use static singletons. Change-Id: I1afa26f002e927dcf6b17f0bee42f464a0d67bd4
est/java/android/databinding/tool/LayoutBinderTest.java
|
5d454e5f2397a3b160f081ce123b4ca7ff0fc356 |
19-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Upgrada kotlin to m13 Change-Id: Iec30be0e153f7354d4909970be4292fcf11988bf
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
ain/resources/NOTICE.txt
|
2573102ac98a69ff9a804496cb8947031ad4c229 |
11-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Fix local builds This CL fixes local builds where some deps were not downloaded but they were coming from maven (by mistake). Bug: 24000910 Change-Id: Id188b30a6ac94c14e382dcedab1906bfb7a7e4f0
ain/resources/NOTICE.txt
|
1f1f50563ad8166e3cd2be64b705ae583834540d |
11-Sep-2015 |
Yigit Boyar <yboyar@google.com> |
Shift Long in FlagSet instead of int :/ Bug: 23979611 Change-Id: I7825a718dddd1c15d598f19a4fe8722ddc5a5763
ain/java/android/databinding/tool/writer/FlagSet.java
est/java/android/databinding/tool/writer/FlagSetTest.java
|
dd41d0eb241157a3bf12ba03a67c8ab77aac5e0a |
09-Sep-2015 |
George Mount <mount@google.com> |
Merge "Fat jars and jarjars" into studio-master-dev
|
69cbd9e8fab49e38adc1a28b6616e17c5f8338c2 |
26-Aug-2015 |
George Mount <mount@google.com> |
Fat jars and jarjars Release versions of the gradle plugin and annotation processor now contain all of their dependencies, repackaged. Change-Id: I93fba3eed150aafa8a88d439103b90d270e71cdf
ain/resources/NOTICE.txt
|
76b791f78542a2feb191482a2204de95eaf8ee72 |
04-Sep-2015 |
George Mount <mount@google.com> |
Better handling of out of bounds exceptions on bracket expressions. Bug 23820607 Handle out of bounds in bracket expressions by returning the default value. Change-Id: I8b3a5a5ced48acfd6683ee1df6264480526244d1
ain/java/android/databinding/tool/expr/BracketExpr.java
|
eebcbdd5d35e56a2c8ef37feeb65df46130d001d |
26-Aug-2015 |
Yigit Boyar <yboyar@google.com> |
Fix the bug about marking expressions as read early @{obj4.text} @{obj4.useHello ? obj4.text : `hello`} This case was broken and would not re-read obj4.text if only obj4.useHello is invalidated. It was partially fixed in Change-Id: Id449c8819b8dc0301a7ab893002478914780d480 but but it was bringing it down to exact equality which would mean we could fail to mark sth as read. The coverage logic we use in expressions when marking them as read was giving false positives, which results in marking expressions as read before they are fully read. This CL fixes that bug. The safe fix introduces some false negatives when a conditional is behind another conditional. We can address this post v1. There was also another bug about setting conditional flags even though the ternary does not need to be calculated. @{obja.boolMethod(a)} @{a ? objb.boolMethod(b) : objc.boolMethod(c)} When obja is invalidated, it would re calculate the second binding expression too even though it is never used (because that expression is not invalidated). The re-calculation would happen because we would calculate the value of `a` and set the conditional flags w/o checking invalidation. This would result in unnecessary calculations. I've also fixed it for first degree where the ternary is not under another ternary. The proper fix would requires bigger effort, post V1. bug: 22957203 Change-Id: Ib73f31eac358f2ad7652395a021baaa93b79adf7
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/MockLayoutBinder.java
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
|
bd42d20f70b1f88e27e3b3c9c3a9c55ec155d128 |
25-Aug-2015 |
George Mount <mount@google.com> |
Support generics in conversion parameters. Bug 23490384 Change-Id: I691da60a671d15c73cf2753ff830f9effb360e96
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/store/SetterStore.java
est/java/android/databinding/tool/reflection/java/JavaClass.java
|
23910cf498c35704a03ba4f3889de2ab97ccbe21 |
25-Aug-2015 |
George Mount <mount@google.com> |
Make setVariable return true for declared variables. Bug 23518718 Change-Id: Ic147421aefe0adbf576285ca642334fcb907abfb
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
70eac8c30b5cd1b357bc23b32bb56f81416c54d6 |
26-Aug-2015 |
George Mount <mount@google.com> |
Merge "Fix access to static field of generic object." into studio-master-dev
|
e0d5ed7613cb72192430cd2ed8e4159618ca308e |
25-Aug-2015 |
George Mount <mount@google.com> |
Fix NPE when evaluating bracket expressions. Bug 23498104 Change-Id: I8de149e573721485b916ae6ae692113f3ed2990d
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
|
23ad7265de1729abdcda4fc3dbae5f7e6818c6ac |
24-Aug-2015 |
George Mount <mount@google.com> |
Fix access to static field of generic object. Bug 23491360 Change-Id: I94c62b67dfa8f8bd4c7f9fb5ab1adff4a927f77b
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
|
9e7a4ce47ae5f4428f7630fe03a7ad66d06177fb |
24-Aug-2015 |
George Mount <mount@google.com> |
Reduce updateRegistration calls on rebind. Change-Id: Icc9a38acb0398d6eb2c516e7edef506e46b9710b
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
97758524d3953793b50e3e0121ef3cbdc047b35b |
19-Aug-2015 |
George Mount <mount@google.com> |
Remove automatic converstions to Object. Bug 23348140 Change-Id: I6bdcb0982c2e755dc4ad0eb53b35e07d1ac9ebed
ain/java/android/databinding/tool/store/SetterStore.java
|
92a428505b9102bc0560d2d5be1768da097909c2 |
06-Aug-2015 |
George Mount <mount@google.com> |
Support binding expressions in android:tag attribute. Bug 22972105 Also added error reporting for tags on root elements and tests. ICS+ supports tags on root elements. Change-Id: I1f3fe5e59b68a04fd80e3e2638a7b7743fac027d
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
91beb3a1a89a58b1c0b6b874d889394a3be90b6c |
06-Aug-2015 |
George Mount <mount@google.com> |
Fix ternary operator with null assigned to listener. Bug 22907244 When finding a common type, null is an Object and the listener is an interface, so the types don't match. Change-Id: I0c5a88ec02230767b894b2feda17a1a1c8cef9f7
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
|
793e979f25e190162eacf46d6a4efc3efc1d2f91 |
31-Jul-2015 |
George Mount <mount@google.com> |
Support different event handlers having different API levels. Bug 22957226 Change-Id: Ia08bcb857872eccad3340c14b8d10b78198b90a6
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/ListenerExpr.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
a0820baa03e731f274ef55c5541e9fc101bbaddb |
03-Aug-2015 |
George Mount <mount@google.com> |
Combine like conditions for efficiency. Bug 22957163 Change-Id: If35430c966900ff9af56375152441e28066a4c89
ain/java/android/databinding/tool/writer/FlagSet.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
96b22e7bbbf942aea1079dc8e8d0c4657663e5a7 |
30-Jul-2015 |
George Mount <mount@google.com> |
Multiple adapter attributes can now have optional expressions. Bug 22957032 Change-Id: If1b04262009a1edf311d097c65e97b194103906e
ain/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
ain/java/android/databinding/tool/store/SetterStore.java
|
e52882df6130221462bf07f5f2b52de5c4b0f8de |
30-Jul-2015 |
George Mount <mount@google.com> |
Move toCode to Expr classes. It turns out that toCode as part of Java is just about as readable as in kotlin and it makes much more sense than using instanceof (equivalent). Change-Id: Ic2a0de5c4376dafa487d048e6a9420fab9e7f22a
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/ArgListExpr.java
ain/java/android/databinding/tool/expr/BitShiftExpr.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/CastExpr.java
ain/java/android/databinding/tool/expr/ComparisonExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/GroupExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/InstanceOfExpr.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/java/android/databinding/tool/expr/StaticIdentifierExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/expr/UnaryExpr.java
ain/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/expr/ExprTest.java
|
d615f15f0f0cc4c4de7570119d181e13d44e708a |
05-Aug-2015 |
George Mount <mount@google.com> |
Fixed: conditional expression not always waiting for its dependencies. Bug 22957203 Some conditional expressions were not waiting for all of their dependencies to be evaluated before evaluting the expression. Change-Id: Id449c8819b8dc0301a7ab893002478914780d480
ain/java/android/databinding/tool/expr/Expr.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
999a46723cb5e87316c1c0f3361751fd461b0e37 |
16-Jul-2015 |
George Mount <mount@google.com> |
Merge "Fix up javadoc." into mnc-dev
|
a649c6ce3f6eb4882221e77a1d27e0d28c4c13a0 |
15-Jul-2015 |
George Mount <mount@google.com> |
Fix compilation tests. Bug 22489623 Change-Id: Id948b2fcc4496dd5e94b6047dd6e4758cbfa5159
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
|
c9a5d6f140f732ca0ff279a4b1ee315072e1c422 |
11-Jul-2015 |
George Mount <mount@google.com> |
Fix up javadoc. Bug 22175560 Change-Id: Ib5bfd87f66602919764bd9b28c0afdcbe55a7ce5
est/java/android/databinding/CallbackRegistryTest.java
|
e4cd38824a6627b9fef229c549c636e35ad63b5f |
07-Jul-2015 |
George Mount <mount@google.com> |
Support dependency injection. Bug 22389109 Change-Id: Iec63375c5412edc03b4808ee129a7596b61bf9e6
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/writer/ComponentWriter.java
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
08119ea342cb47910ca80ff646d746f00e4663ce |
06-Jul-2015 |
Yigit Boyar <yboyar@google.com> |
Print encoded errors only if data binding is invoked from the IDE This CL makes Scope aware of execution environment. Now when invoked from tests or via IDE, we'll print exceptions as encoded so that we can parse them back. When user invokes from command line or any other tool, we will print human readable errors. The encoded error format may still change depending on conversations w/ Studio team. Bug: 21953001 Change-Id: I5bd3ea0cb6728e011225ee84d3e38817a2993a43
ain/java/android/databinding/annotationprocessor/BuildInfoUtil.java
|
b15fd21ad1821b5e6a1c0c4977bc24c01d6bc7ce |
01-Jul-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Introduce Scopes to track logical stack traces" into mnc-dev
|
e8609ca3a9e95cb730d74f8a6114bc2ae11b6a10 |
30-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Add cache to GenerationalClassUtil to avoid re-reading jars Bug:22185294 Change-Id: I0c9def9944ecc68e7e5df530228d00011c1f8c57
ain/java/android/databinding/annotationprocessor/ProcessBindable.java
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/util/GenerationalClassUtil.java
|
731b74f7f44e67312a1fc4161c4e0aae221b2417 |
25-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Introduce Scopes to track logical stack traces This CL introduces a static class called Scope, which is used the logical processing stack for data binding. These scopes are used to generate meaningful error messages when an error is detected. Bug: 21953001 Change-Id: I5470a8c4ad94401d34a140762baae9d53c5a0402
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/GroupExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/UnaryExpr.java
est/java/android/databinding/tool/MockLayoutBinder.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
ain/java/android/databinding/annotationprocessor/ProcessBindable.java
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/kotlin/android/databinding/tool/writer/BRWriter.kt
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
|
1b506ae96dc762ac027104248807ca3ae078711d |
30-Jun-2015 |
George Mount <mount@google.com> |
Merge "Fix bug preventing use of android IDs for Views." into mnc-dev
|
e67abb55de62e735eb2a2a406ce22a1dfa9e9a46 |
30-Jun-2015 |
George Mount <mount@google.com> |
Merge "Don't use array of protected static classes in Binding classes." into mnc-dev
|
fdfbbcd5ecf37d77a4b9ab1cefdebd68de71ca2b |
30-Jun-2015 |
George Mount <mount@google.com> |
Fix bug preventing use of android IDs for Views. Bug 22160629 Change-Id: Ib0a2b6d5333e63e25045ccf39a5582e1d74494df
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
239e15adad52d3a7d77852953a5dd7eee82f7f2c |
26-Jun-2015 |
George Mount <mount@google.com> |
Don't use array of protected static classes in Binding classes. Bug 22097806 Because of bug 15719206, arrays of protected inner classes may not be used with multi-dex'd applications. The arrays were moved to the protected class. Change-Id: Icb030f2139c763238028ff73eab53502c74edb88
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
c1560e6b00b398867da12fbdc5a1fcd1d50b801c |
25-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Carry over location information from parser to annotation processor This CL changes LayoutParser to use Antlr which provides us the location information. This information is now serialized inside the bundle so that we can read it in the annotation processor, enabling better error logs with location information. Bug:21953001 Change-Id: If9b5cf2f87598a609ddf77235decc17098a46a6b
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
est/java/android/databinding/tool/ExpressionVisitorTest.java
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
2611838bffef5a009ca71e3e9e59a93f29b098ed |
24-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Remove guava from compiler This CL removes all dependency from guava and replaces it w/ either plain java or some utilities. Bug: 22047836 Change-Id: I94be54ed992ab6b5f27c47a8cf400ae60aef02f8
ain/java/android/databinding/annotationprocessor/BuildInfoUtil.java
ain/java/android/databinding/annotationprocessor/ProcessBindable.java
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/BitShiftExpr.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/CastExpr.java
ain/java/android/databinding/tool/expr/ComparisonExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/InstanceOfExpr.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/expr/UnaryExpr.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
ain/java/android/databinding/tool/reflection/SdkUtil.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/store/SetterStore.java
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/expr/ExprTest.java
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
|
0c2ed0cbaee2f206e926bfc780b05e9f1e52b551 |
24-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Remove guava dependency from the plugin This CL is the first step in getting rid of guava dependency. It removes guava from compilerCommon which in return removes the dependency for the gradle plugin. This CL also fixes compiler tests which were broken by the listener CL. Bug: 22047836 Change-Id: I43f87885c5291174f5bc694487fc6c075b480194
ain/java/android/databinding/tool/expr/ExprModel.java
|
716ba89e7f459f49ea85070d4710c1d79d715298 |
18-Jun-2015 |
George Mount <mount@google.com> |
Support calling listener methods without interfaces. Bug 21594573 It is convenient to be able to assign event listeners by just referencing a method, similar to the way onClick="handler" works. This adds a whole lot of listeners for the framework. Additional listeners must be added for support library components. This isn't perfect in resolving listeners. Perfect resolution requires that each expression is evaluated in its own context within the binding statement. If, for example, the same method name is used for a listener and an accessor, we will assume that the listener is used always and there will be a compilation failure. Change-Id: If4705122b67a451430451b6e7d890eb813af1c5c
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/reflection/Callable.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/ModelMethod.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/reflection/java/JavaClass.java
est/java/android/databinding/tool/reflection/java/JavaMethod.java
|
af84cb304c158381a8bf0f0ac1c37c5a2ad04bfb |
23-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Don't generate inflators for libraries" into mnc-dev
|
924fa7c597694ebc433fc0379d0015785351d1b7 |
23-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Fix compiler tests Compiler tests were broken after the parcelable change. JavaClassLoader cannot access Parcelable when resolving ObservableXX from the library. Compiler tests do not need to resolve Observables so in this CL I override the related method to avoid trying to load them. I've also removed the requirement to deploy a libraryJar from the library. Instead, compiler will directly include the library sources when it is being compiled for tests.
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
|
8b1da958f181639d33dfaa907c0ee66add2decd6 |
23-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Don't generate inflators for libraries If a library project (A) depends on anohter library project (B), we would generate code that accesses R file of project B while compiling project A. Unfortunately, gradle does not generate that R file when compiling A, it only exists when compiling the app and B. This CL changes the base class generation to not to generate real code for base classes unless we are building the final app. Bug: 22001270 Change-Id: Ic107001ab58c94016f37f7f6fc0470a822db3aa7
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
d37b47419005587c52ca4c099432327b7f06478d |
19-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Make observables parcelable We got some feedback where people want to keep their View presenter classes parcelable. This CL makes observables parcelable and their lists transient to allow this. Bug: 21785040 Change-Id: I76adc7d7ca3876c83fd8749f6dbcf02a926c97c2
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
|
6a62f1fff2a45c639b85c6cc12c00a1d8e9e98c9 |
17-Jun-2015 |
George Mount <mount@google.com> |
Merge "Support old values in binding adapters." into mnc-dev
|
20c7182163d99575d382e065f5a5fe45ed6b87e2 |
12-Jun-2015 |
George Mount <mount@google.com> |
Support old values in binding adapters. Bug 21594573 When a binding adapter takes old values, the old values are stored in the generated binding as fields. Change-Id: Ib163d74720a8199d70ff6884d59fbe4e0d17fece
ain/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
0cb9fbb96197af013f4f879ed6cddf2681b88fd6 |
16-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Move shared code between build and compiler to a separate project This CL encapsulates the shared code between build time and annotation processing into a separate project. This project has no dependency on kotlin so we can easily use it in gradle plugin. Bug: 21815393 Change-Id: I9fd2e88885d06ff5423121747817ffcd056e8c74
ain/grammar-gen/android/databinding/parser/BindingExpression.tokens
ain/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
ain/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
ain/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
ain/grammar-gen/android/databinding/parser/BindingExpressionLexer.tokens
ain/grammar-gen/android/databinding/parser/BindingExpressionListener.java
ain/grammar-gen/android/databinding/parser/BindingExpressionParser.java
ain/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/util/L.java
ain/java/android/databinding/tool/writer/JavaFileWriter.java
ain/kotlin/android/databinding/tool/util/ParserHelper.kt
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/xml-gen/android/databinding/parser/XMLLexer.java
ain/xml-gen/android/databinding/parser/XMLLexer.tokens
ain/xml-gen/android/databinding/parser/XMLParser.java
ain/xml-gen/android/databinding/parser/XMLParser.tokens
ain/xml-gen/android/databinding/parser/XMLParserBaseListener.java
ain/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
ain/xml-gen/android/databinding/parser/XMLParserListener.java
ain/xml-gen/android/databinding/parser/XMLParserVisitor.java
|
5d22cc076ccddf9fc94cc2261f6962864e04a586 |
15-Jun-2015 |
George Mount <mount@google.com> |
Merge "Remove fragment data binding." into mnc-dev
|
ad34a89c8ae0814403107014ebbe8a40069ffe6b |
15-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Merge changes Ida966e4b,Ibeed24bd into mnc-dev * changes: Remove kotlin from gradle plugin Export generated class list from javac
|
d6527ee28cc3aa05818799af8def9593346f91bc |
15-Jun-2015 |
George Mount <mount@google.com> |
Remove fragment data binding. Fragment data binding is much more complex than the previous implementation supported. It may be that we don't want to support data binding to fragments because fragment life cycle differs from View life cycle, including back stack support. I made it so that fragments with IDs do not get public final fields on the generated data binding objects. Bug 21667601 Change-Id: Ief77972ea854f7ded5a93aa59822d76ef533fc21
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
0d6e2b8ac5e9e8635adf95c4166dd26441c51997 |
13-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Fix public field resolution This CL fixes a bug where if a field is prefixed w/ one of our private field conventions, we would not be able to find it because we would strip it. Now, when searching fields, we'll also look for exact match as we do for methods. Bug: 21807334
ain/java/android/databinding/tool/reflection/ModelClass.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
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/MakeCopy.java
|
2f64c44e4fa296cf658ca986c095eab62f82a31d |
11-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Request a rebind when invalidateAll is called Bug: 21785116 Change-Id: I79b886df1f016a8abe87723876502adfe1843897
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
0792cfc12b4854c377f6e72a02b4e74bae95aa0c |
11-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Improve static method / field handling" into mnc-dev
|
81abdb7df8c6507e8246dd7c784e363b46fb9f5c |
11-Jun-2015 |
George Mount <mount@google.com> |
Merge "Support data binding for fragments." into mnc-dev
|
ec2f3896c21a504b464bf591cdb45b62692b6760 |
10-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Improve static method / field handling Previously, we would allow access to static fields via instance variables but it would not work for methods. Moreover, the behavior was not exactly the same with how java handles it. In java, the instance can be null but our binding code would not evaluate it if instance is null. This CL fixes these bugs by adding static resolution support to methods and replacing their variable identifiers with static identifiers while the method is being resolved so that the rest of the system is still consistent. Bug: 20412284 Change-Id: Id97ce564c312b97d5a0e60d7d7a5bbd06b131071
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/reflection/ModelClass.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
4d4979490e1fa374c0d7f3599fed0a9e83a579d0 |
08-Jun-2015 |
George Mount <mount@google.com> |
Support data binding for fragments. Bug 21667601 Change-Id: I636dec1bbb5567d70a996e115e6bf8322c3aa29d
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/MakeCopy.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
fda1703c88eb22e9f166d957d6bda2cd8d645b8f |
11-Jun-2015 |
Yigit Boyar <yboyar@google.com> |
Upgrade kotlin to 0.12.412 Bug: 21756156
ain/kotlin/android/databinding/tool/ext/ext.kt
ain/kotlin/android/databinding/tool/ext/list_ext.kt
ain/kotlin/android/databinding/tool/ext/node_ext.kt
ain/kotlin/android/databinding/tool/util/ParserHelper.kt
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
c4a07bddb4dd5c3bfbecf4d87909c5b447ae56dc |
05-Jun-2015 |
George Mount <mount@google.com> |
Only create case statements for Bindable attributes. Bug: 21571818 Change-Id: Id03c7a7de6e39d7f59da6cda11d3311f072addd0
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
081ec223f1f2f801bd907ec6344b0c6aeee133e5 |
05-Jun-2015 |
George Mount <mount@google.com> |
Fix inflate() to support attachToRoot = true Bug 21660713
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
4a81aabc49f6c881d960cd541adda7de9625277a |
27-May-2015 |
Yigit Boyar <yboyar@google.com> |
Localize variables Generated sources should localize variables to avoid NPE's due to setting variable to null in a background thread. Bug:21447037
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
b1356339eaa6c8e967e4fc1dc283b82909a1208d |
22-May-2015 |
Yigit Boyar <yboyar@google.com> |
Merge projects for an easier release This CL merges annotation processor, xml grammer and grammer builder into compiler project. It also adds logic to pass gradle's --debug parameter to the annotation processor so that we can grab logs when necessary. Bug: 21327802 Change-Id: I1d07002519a6b95de3cdc0891bd00f461f73e8ea
ain/grammar-gen/android/databinding/parser/BindingExpression.tokens
ain/grammar-gen/android/databinding/parser/BindingExpressionBaseListener.java
ain/grammar-gen/android/databinding/parser/BindingExpressionBaseVisitor.java
ain/grammar-gen/android/databinding/parser/BindingExpressionLexer.java
ain/grammar-gen/android/databinding/parser/BindingExpressionLexer.tokens
ain/grammar-gen/android/databinding/parser/BindingExpressionListener.java
ain/grammar-gen/android/databinding/parser/BindingExpressionParser.java
ain/grammar-gen/android/databinding/parser/BindingExpressionVisitor.java
ain/java/android/databinding/annotationprocessor/AnnotationUtil.java
ain/java/android/databinding/annotationprocessor/BuildInfoUtil.java
ain/java/android/databinding/annotationprocessor/ProcessBindable.java
ain/java/android/databinding/annotationprocessor/ProcessDataBinding.java
ain/java/android/databinding/annotationprocessor/ProcessExpressions.java
ain/java/android/databinding/annotationprocessor/ProcessMethodAdapters.java
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/util/L.java
ain/kotlin/android/databinding/tool/util/Log.kt
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
ain/resources/META-INF/services/javax.annotation.processing.Processor
ain/xml-gen/android/databinding/parser/XMLLexer.java
ain/xml-gen/android/databinding/parser/XMLLexer.tokens
ain/xml-gen/android/databinding/parser/XMLParser.java
ain/xml-gen/android/databinding/parser/XMLParser.tokens
ain/xml-gen/android/databinding/parser/XMLParserBaseListener.java
ain/xml-gen/android/databinding/parser/XMLParserBaseVisitor.java
ain/xml-gen/android/databinding/parser/XMLParserListener.java
ain/xml-gen/android/databinding/parser/XMLParserVisitor.java
est/java/android/databinding/BindingExpressionParserTest.java
|
d911e414a989cad68befdeb554580d59ad81f04a |
21-May-2015 |
Yigit Boyar <yboyar@google.com> |
Update version to rv0, disable debug logs
ain/java/android/databinding/tool/util/L.java
|
75da807698ae0f3b857d8160541cb03bb5ee1028 |
20-May-2015 |
Yigit Boyar <yboyar@google.com> |
Handle spaces in file paths If file path has spaces, we were not handling them properly. I've replaced the code with what android studio does so they should be consistent. Bug: 21283108
ain/java/android/databinding/tool/store/LayoutFileParser.java
|
24ff3c01534a5e4dc9f65796009debe7fd87c1be |
20-May-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Handle inter-expr dependencies properly"
|
7b07818f07c28c6dec34ca2a9ab5f61e86afb493 |
20-May-2015 |
Yigit Boyar <yboyar@google.com> |
Handle inter-expr dependencies properly We had a bug where we would never be able to solve a case if there are two expressions that trigger a circular dependency. a ? b : c b ? a : d We actually had some logic to partially elevate conditional dependencies but there were two issues with it: * LayoutInflator was caching shouldReadFlags permanently * There was a bug in how we resolve whether all potential evaluation paths are covered. (we were not using a cloned bitset but rather updating the original). I've fixed these two issues and added logic to partially elevate conditional expressions if they cannot be marked as fully read. Bug: 21324645 Change-Id: I779afb6dae48920196404d3cfbb5f8774686404d
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/VersionProvider.java
ain/kotlin/android/databinding/tool/ext/ext.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
c96847768305d83c6bc4919432af9bd9bfe4c08e |
20-May-2015 |
George Mount <mount@google.com> |
Fix String.format expression. An expression @{String.format("%s", "test")} was failing for two reasons: the L.d was doing string concatenation and String wasn't imported and considered a StaticIdentifier. Change-Id: I67b4c880f1e147a5c1aac15b3b845d4112c6d00b
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/ExprModel.java
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
|
0ba9cf91183c16e18f8055e9d08a6618f4f60019 |
20-May-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Properly handle constant binding expressions"
|
8533f27db6c31b0c295ae62d314dbf07ea640571 |
19-May-2015 |
Yigit Boyar <yboyar@google.com> |
Properly handle constant binding expressions Previously, we would assign each binding expression a flag id even if it is constant. This was necessary to be able to implement invalidateAll. Later, we've changed how invalidateAll works and assigned it a separate flag. Unfortunately, we were still incrementing ids for such binding expressions, causing index out of bounds exceptions during code generation in certain situations. This CL fixes that bug and does not add flags to constant binding expressions anymore. Bug: 21284295 Change-Id: I114bf34520d0b246426ce7d45b8c511cf6709778
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
b9e4aa96812692a7dcf468445e64bc5b30d3c79a |
19-May-2015 |
George Mount <mount@google.com> |
Better handling of generics in BindingAdapters Bug 21277338 Handle <T> adapter(View, T value) Also test and fixes to support View<T> with multi-attribute adapters. Change-Id: I12bda5b235111762b55357fed7f163ccaf83838d
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/store/SetterStore.java
est/java/android/databinding/tool/reflection/java/JavaClass.java
|
4cc84854a6a5e8eca4ba1cfe574d5a8092b598d6 |
15-May-2015 |
George Mount <mount@google.com> |
Remove unused getId from DataBinderMapper and BR.java
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
|
91d538470c011e19fa4375cc3531b5dd9ae01d55 |
15-May-2015 |
George Mount <mount@google.com> |
Fix generic setter on generic View. When a View is generic (e.g. MyView<T>), and a setter takes a generic parameter, the setter parameter didn't match the argument. Change-Id: I115ace5582b847bda792d75cf7aaf57ffc8bd4cd
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/store/SetterStore.java
est/java/android/databinding/tool/reflection/java/JavaClass.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
ain/java/android/databinding/tool/CompilerChef.java
|
1331801c598a377a2c16e1aed8f975b728adc06e |
14-May-2015 |
George Mount <mount@google.com> |
Give warning when BindingAdapter uses namespace. Bug 20725101 Change-Id: Ia1cf0d5fc886a6e5ebc9090fefa77ea6f1e3ca46
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/util/L.java
|
f6e8d6516561432dd1c0f3014be7405a5dcd251b |
14-May-2015 |
George Mount <mount@google.com> |
Merge "Generate Binding class when <layout> exists."
|
3a756d564b245a3b38c27420ee9367a678533b8a |
14-May-2015 |
George Mount <mount@google.com> |
Merge "Support default = value from binding expression."
|
1968106a8a54875ce14d24d857174cbb7f275142 |
14-May-2015 |
George Mount <mount@google.com> |
Support default = value from binding expression. Bug 21133213 Change-Id: I6185d6d1a7eda2f199c34775fe2e67de1a0ef225
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
|
f701e1aa21a5ec74f4eb67030ced2704a90c7d5e |
14-May-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Add webview, surface view and texture view"
|
5f3aae011cc291c2abbb90215c2e6f89a5f2626d |
13-May-2015 |
George Mount <mount@google.com> |
Give an error if attribute is used when no setter is available. Bug 20979710 This only prevents invalid setter calls for Views, not for Bindings, such as used with includes.
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/store/SetterStore.java
|
76c4a0cae000a87a9b0e366a1475cafc76aad86a |
13-May-2015 |
George Mount <mount@google.com> |
Merge "Don't strip bind: attributes without expressions."
|
4eb96071f10f4c65aaade8c8b76dc0bdc350f671 |
08-May-2015 |
George Mount <mount@google.com> |
Generate Binding class when <layout> exists. Whenever a <layout> element exists we'll generate a Binding class. Change-Id: I4f6ea25f4934b36cb617dbdd6a0f21bee1023a59
ain/java/android/databinding/tool/store/LayoutFileParser.java
|
b60b44478336f8e6bdd7650d19299ef73fee24ba |
13-May-2015 |
George Mount <mount@google.com> |
Merge "Fix bad arg to inflate."
|
f80b08430f11515ff944f89006799f21545602b9 |
13-May-2015 |
George Mount <mount@google.com> |
Fix bad arg to inflate.
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
a97508c49c11bbc92722192890ca43a3bf6d3036 |
13-May-2015 |
Yigit Boyar <yboyar@google.com> |
Add webview, surface view and texture view We were missing these items from the list of packages which are not in android.widget Bug: 21091253
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
|
a520ca47348b6395cde787c8bb065008c9d48c62 |
11-May-2015 |
George Mount <mount@google.com> |
Don't strip bind: attributes without expressions. Bug 20977115 Change-Id: Iff22b70eeccfaf9c9133248fb7aef7d76f31dc58
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
|
447971abca811b11b8c1d8e7bfaa294856d03c16 |
09-May-2015 |
George Mount <mount@google.com> |
Block executePendingBindings when there are no changes. Change-Id: I427877749aa00a14c7c8b9363d6a9027ce48219e
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
c619d8f69127c1200103d8119101c5f0675661d0 |
01-May-2015 |
George Mount <mount@google.com> |
Have BindingMethod use Class instead of String. Bug 20720873
ain/java/android/databinding/tool/store/SetterStore.java
|
30cc484507f3dfd7a3c56e5f785c4783e3e0da9d |
30-Apr-2015 |
George Mount <mount@google.com> |
Add tool determining files that need stripping from artifact. Also, modified the command line to take an optional parameter [-l] to inform whether or not this is a library. Change-Id: I6b1e96ae64bfa7ce2b2c685bbd64f0021a3bed42
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/MakeCopy.java
|
e9b33bac04bb1ce1444d7f1744fcec1ecd3a57da |
30-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Support multi-param adapters in code generation Bug: 19800022 Change-Id: I40c4ac72f24f965db12fd1c7dec6591184160ae5
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/MergedBinding.java
ain/java/android/databinding/tool/expr/ArgListExpr.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/kotlin/android/databinding/tool/writer/CodeGenUtil.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
cffffe30fe53455856d3d41724b9d5dd21aebf9a |
28-Apr-2015 |
George Mount <mount@google.com> |
First stage in allowing multi-parameter BindingAdapters. Allow multi-parameter binding adapters. These will affect Views where multiple attributes are using expressions. In this initial stage, BindingAdapters can be applied to multiple attributes and the list of such binding adapters can be retrieved. Change-Id: I073393c215cd93d232fb1e3682641fdc31d994d2
ain/java/android/databinding/tool/store/SetterStore.java
|
ed6428586a939e00d9e66314d5cf1056ad48767e |
30-Apr-2015 |
George Mount <mount@google.com> |
Add static method to get ViewDataBinding for a View. Bug 20676836 Change-Id: I8690f64b395ceb06fd12daaadcb0f31d6629fc0b
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
9bdb2415487832e88a05c7bd19391b05440b468e |
29-Apr-2015 |
George Mount <mount@google.com> |
Change from using Context to LayoutInflater for inflate() When inflating, it is more efficient to use the LayoutInflater directly instead of getting it from the Context. I also changed DataBindingUtil.bindTo to bind to match the static method call in the Binding classes. Change-Id: I855297a4f081102c49ea477047c0ac81de1676f5
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
71dc4a20f0c80adc3a24a8df94258cb94e588a94 |
30-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Add base library prebuild, remove library.jar prebuild"
|
05196a205cdf3e074a452ba5a191c4e2a8e0b02f |
29-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Sync dirty flags"
|
90500bef63679a6a1896bc740a4ab36a3a5029c0 |
29-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Merge "Move java-gen task to proper hook"
|
e725f0d81e1b07e88f819be9a82181eeeb680dbf |
27-Apr-2015 |
George Mount <mount@google.com> |
Add listener to notify and disable rebinding. The OnRebindListener allows the developer to be notified when a reevaluation of the data binding is going to occur. It also allows the developer to stop the reevaluation and manually control when it will happen. Change-Id: Id6cba294dc5d354a885303cdcd72471ccc57f056
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
1c44adacab2c1baa937a604da136024f1e92a088 |
29-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Sync dirty flags This CL makes dirty flag tracking thread-safe Bug: 20664668
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
be83770af82294c1841eef414513653646b88dc6 |
29-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Move java-gen task to proper hook Bug: 20640611
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/MakeCopy.java
|
d33691a5725244f1bb5c4491af81b9fc67e0f39f |
28-Apr-2015 |
George Mount <mount@google.com> |
Support using aliased classes as outer classes. Bug 20350624
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
|
3eb32a3f28f4e27b5de23c3ee4d9f696a6accd7f |
27-Apr-2015 |
George Mount <mount@google.com> |
Strip the <layout> tag without moving the inner layout. Bug 20528764
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
|
d1369ca2b7114fa456293695f3850e5be5e6d21e |
23-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Add placeholder flag for invalidate any
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
|
658c71b9ba3211ac5c10f261a8c6f38b1916d3bf |
22-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Fix invalidate any flag. This CL also adds a new build target to move folders to an EAP folder that can be shipped to early access partners. I've also changed the demo to use android emojis
ain/java/android/databinding/tool/expr/ExprModel.java
|
ae161289a90f6ac69ffe6411ac8c09653c81d04d |
21-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Add base library prebuild, remove library.jar prebuild Bug: 19945740
ain/java/android/databinding/tool/LayoutXmlProcessor.java
|
d7adbdab48fb8f894cb59073b864da8f5bafb8a9 |
20-Apr-2015 |
George Mount <mount@google.com> |
Fix merge failure.
ain/java/android/databinding/tool/reflection/ModelClass.java
|
11e3c78221d957e86be098255ccd0f8f28280cff |
20-Apr-2015 |
George Mount <mount@google.com> |
Merge changes If9ddfd09,I310535e6 * changes: Support array length. Added some missing expressions.
|
8ec9696461abb5ad0b95024edc3f3ccb9ace85be |
17-Apr-2015 |
George Mount <mount@google.com> |
Support array length. Change-Id: If9ddfd09d7becc504741b8dd4f91332de944bfe1
ain/java/android/databinding/tool/reflection/ModelClass.java
|
c6bcb7bf9cab139b3141c4644e5b3267deed5213 |
20-Apr-2015 |
George Mount <mount@google.com> |
Added some missing expressions. unary: +/-/~/! shift: >>/>>>/<< logical: &&/|| bit: &/|/^ instanceof Change-Id: I310535e67c8fda2f067a62079e1b609a11bda741
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/expr/BitShiftExpr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/InstanceOfExpr.java
ain/java/android/databinding/tool/expr/UnaryExpr.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
019c36b97c7c172ac03997f6bf170e65b2ed7fe4 |
17-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Fix how final fields are handled There was a bug in Expression analyzer where if a field is final, it would return dynamic=false although its parent is dynamic. This CL changes that behavior such that if the parent of a field access is dynamic, then field access is dynamic unless it is static & final. If parent is not dynamic, (e.g. android.view.View) field is dynamic if an only if itself is dynamic. This CL also fixes another bug where if you have a bunch of expressions none of which can be invalidated, there would not be any flags to set thus we would not generate proper if statements. We were resolving tree properly but code-generation never worked in that situation. To overcome this issue, since there should always be a way to invalidate all bindings, I've added a flag to invalidate all, which is automatically included in each invalidate flag set. This does not bring any serious cost because we have flag inheritance in the generated code. I've also removed some code from LayoutBinderWriter that may create duplicate names. This was failing a test where a variable and View were given the same names. I changed these name uniqueness to be scope based so that we can create most readable w/o sacrificing correctness. Bug: 20341011 Change-Id: I0e98a5e28f250c36ae5de306f5ed99adffd20b59
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/reflection/Callable.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/expr/ExprTest.java
|
ee7586713d68806b556a425cbebf007a56261ff3 |
17-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Add 3rd party licenses to fatJar This CL adds 3rd party licenses to compiler-fatJar so that we can use it in our build process w/o maven dependency. It also removes dependency on SDK folder for api level lookup by shipping versions.xml file with the bundle. It adds a new gradle task, preparePrebuilds, which bundsles all necessary builds to a prebuild folder which should be committed. These pre-builds will be used by the makefile to support make builds. Bug: 19945740 Change-Id: I0bba72bbb13770aba94317301217ddd842211e2d
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/MakeCopy.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/SdkUtil.java
ain/resources/api-versions.xml
est/java/android/databinding/tool/SdkVersionTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/reflection/SdkVersionTest.java
|
3b8fedce6e9ee814ffe7b63d07aa5456f08fb9b2 |
15-Apr-2015 |
George Mount <mount@google.com> |
Parse and strip new layout format. API Council suggested a new layout format for layouts with bindings. Here, we parse the new format and strip it. This also brings in the ability to provide a custom class name for the binding. Change-Id: I674320d21265c1dec70d1a52285341fe4994895b
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
|
7ff60c24c6de7ba0c674fe65a82ad4a88dab2e5d |
13-Apr-2015 |
George Mount <mount@google.com> |
Delay evaluating the View and Binding class names. Binding and View class names should be evaluated when processing the binding expressions, not during layout XML processing. Allow alternate binding class names as declared in layout XML. Use "binding_" as a prefix for binding tags instead of "bindingTag" Preparation steps for customized data binding classes. Change-Id: If08de28aad06401e8a5d461341b2616e17498aa1
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/MockLayoutBinder.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
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/MockLayoutBinder.java
|
29eed96672ca43d68d12605ad6f91814d4c53988 |
13-Apr-2015 |
George Mount <mount@google.com> |
Fix test breaks.
est/java/android/databinding/tool/MockLayoutBinder.java
|
f3157e94d415c1723be2535eec830f19db6a65a9 |
07-Apr-2015 |
George Mount <mount@google.com> |
Fix merge error.
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
0390898cf7c4fcad255e8cfd6802f722b516cb2c |
03-Apr-2015 |
George Mount <mount@google.com> |
Use layout path for the tag on bound layout roots. Change-Id: I6bda5d5716e749251b27c112865da066ba908509
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
|
d8c8ec27ed2ec0b11fa37f476395ce27834471f0 |
05-Apr-2015 |
Yigit Boyar <yboyar@google.com> |
Fix ternary handling and generate better code This CL fixes an issue about ternary expressions where a ternary expression would be evaluated with its last evaluated dependency. This would create a problem where ternary expressions would not be evaluated if other branch of the conditional is chosen, This bug is fixed by checking outher flags such that we'll still calculate it together if all dependencies are behind the same flag vs we'll calculate it independently if its dependency flags are different. This CL also improves the generated code in two ways: - When there is an if inside if, we don't add flag check (the if) if all of its conditions are covered in the parent if. - I replaced flag names with binary values. This looks more readable then generated names. Bug: 20073197 Change-Id: I9d07868206a5393d6509ab0a205b30a796e11107
ain/java/android/databinding/tool/writer/FlagSet.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
74f72d77b1db2b78ee6422da2ec94de12edcb6dc |
27-Mar-2015 |
Yigit Boyar <yboyar@google.com> |
Fix bugs related to how we handle Ternary ops This CL fixes two bugs. 1) When a Ternary operation was inside another operation, we were not handling dependecies properly and model would think that the container expression can be evaluated before Ternary is evaluated, eventually causing an exception in code-gen because Ternay is not calculated yet. 2) This also fixes another bug where when ?? is used, we would put ifTrue and ifFalse statements in wrong order and eventually evaluate !??. Bug: 19939148 Change-Id: I3e1d2bee172e47412bb8ef9e7c785aef47337155
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
est/java/android/databinding/tool/expr/ExprModelTest.java
|
2e2043d30f95585de2069e1cbb23e022ab0e71c4 |
02-Apr-2015 |
George Mount <mount@google.com> |
Change "generated" to "databinding"
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/store/LayoutFileParser.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
ain/java/android/databinding/tool/CompilerChef.java
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
|
53398fcd565782a0fd973eec43eac5c659c927c0 |
01-Apr-2015 |
George Mount <mount@google.com> |
Address comment in CL Bug 19933646
ain/java/android/databinding/tool/LayoutBinder.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.
ain/java/android/databinding/tool/CompilerChef.java
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
|
95d1b38adeb5963ec5337e7dd6177b4bb5a03619 |
01-Apr-2015 |
George Mount <mount@google.com> |
Capture views with IDs and no expressions in Binding. We want to get all Views with IDs in the Binding to save the developer effort in calling findViewById. Change-Id: Ib7dd85ae9ecc0fd31b235364c0eadc2303dd1780
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
dea555cf42dc3583604699c8c018d22681f56166 |
30-Mar-2015 |
George Mount <mount@google.com> |
Merge implementation into base class for single implementations. Bug 19933646 Change-Id: Ifc947d929b5275e32598e8d40f0122504a99d7f8
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
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.
ain/java/android/databinding/tool/CompilerChef.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
de38dd3ef0577d25b2d59863603abe5750d0c231 |
28-Mar-2015 |
George Mount <mount@google.com> |
Make ViewStub support binding variables like include. Bug 19969378
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
34a18e6a231f3b64726bd93e7e097a0d5a75995d |
26-Mar-2015 |
George Mount <mount@google.com> |
Move to public final fields instead of getters for Views. Bug 19933644
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
|
fead9ca09b117136b35bc5bf137340a754f9eddd |
23-Mar-2015 |
George Mount <mount@google.com> |
Move to package android.databinding.
ain/java/android/databinding/tool/Binding.java
ain/java/android/databinding/tool/BindingTarget.java
ain/java/android/databinding/tool/CompilerChef.java
ain/java/android/databinding/tool/DataBinder.java
ain/java/android/databinding/tool/ExpressionParser.java
ain/java/android/databinding/tool/ExpressionVisitor.java
ain/java/android/databinding/tool/LayoutBinder.java
ain/java/android/databinding/tool/LayoutXmlProcessor.java
ain/java/android/databinding/tool/MakeCopy.java
ain/java/android/databinding/tool/expr/BracketExpr.java
ain/java/android/databinding/tool/expr/CastExpr.java
ain/java/android/databinding/tool/expr/ComparisonExpr.java
ain/java/android/databinding/tool/expr/Dependency.java
ain/java/android/databinding/tool/expr/Expr.java
ain/java/android/databinding/tool/expr/ExprModel.java
ain/java/android/databinding/tool/expr/FieldAccessExpr.java
ain/java/android/databinding/tool/expr/GroupExpr.java
ain/java/android/databinding/tool/expr/IdentifierExpr.java
ain/java/android/databinding/tool/expr/MathExpr.java
ain/java/android/databinding/tool/expr/MethodCallExpr.java
ain/java/android/databinding/tool/expr/ResourceExpr.java
ain/java/android/databinding/tool/expr/StaticIdentifierExpr.java
ain/java/android/databinding/tool/expr/SymbolExpr.java
ain/java/android/databinding/tool/expr/TernaryExpr.java
ain/java/android/databinding/tool/reflection/Callable.java
ain/java/android/databinding/tool/reflection/ModelAnalyzer.java
ain/java/android/databinding/tool/reflection/ModelClass.java
ain/java/android/databinding/tool/reflection/ModelField.java
ain/java/android/databinding/tool/reflection/ModelMethod.java
ain/java/android/databinding/tool/reflection/SdkUtil.java
ain/java/android/databinding/tool/reflection/TypeUtil.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationClass.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationField.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationMethod.java
ain/java/android/databinding/tool/reflection/annotation/AnnotationTypeUtil.java
ain/java/android/databinding/tool/store/LayoutFileParser.java
ain/java/android/databinding/tool/store/ResourceBundle.java
ain/java/android/databinding/tool/store/SetterStore.java
ain/java/android/databinding/tool/util/GenerationalClassUtil.java
ain/java/android/databinding/tool/util/L.java
ain/java/android/databinding/tool/writer/AnnotationJavaFileWriter.java
ain/java/android/databinding/tool/writer/FlagSet.java
ain/java/android/databinding/tool/writer/JavaFileWriter.java
ain/java/com/android/databinding/Binding.java
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/CompilerChef.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/ExpressionParser.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/LayoutXmlProcessor.java
ain/java/com/android/databinding/MakeCopy.java
ain/java/com/android/databinding/expr/BracketExpr.java
ain/java/com/android/databinding/expr/CastExpr.java
ain/java/com/android/databinding/expr/ComparisonExpr.java
ain/java/com/android/databinding/expr/Dependency.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/GroupExpr.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/MathExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/java/com/android/databinding/expr/StaticIdentifierExpr.java
ain/java/com/android/databinding/expr/SymbolExpr.java
ain/java/com/android/databinding/expr/TernaryExpr.java
ain/java/com/android/databinding/reflection/Callable.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/ModelClass.java
ain/java/com/android/databinding/reflection/ModelField.java
ain/java/com/android/databinding/reflection/ModelMethod.java
ain/java/com/android/databinding/reflection/SdkUtil.java
ain/java/com/android/databinding/reflection/TypeUtil.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/annotation/AnnotationClass.java
ain/java/com/android/databinding/reflection/annotation/AnnotationField.java
ain/java/com/android/databinding/reflection/annotation/AnnotationMethod.java
ain/java/com/android/databinding/reflection/annotation/AnnotationTypeUtil.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding/util/GenerationalClassUtil.java
ain/java/com/android/databinding/util/L.java
ain/java/com/android/databinding/writer/AnnotationJavaFileWriter.java
ain/java/com/android/databinding/writer/FlagSet.java
ain/java/com/android/databinding/writer/JavaFileWriter.java
ain/kotlin/android/databinding/tool/ext/ext.kt
ain/kotlin/android/databinding/tool/ext/list_ext.kt
ain/kotlin/android/databinding/tool/ext/node_ext.kt
ain/kotlin/android/databinding/tool/util/Log.kt
ain/kotlin/android/databinding/tool/util/ParserHelper.kt
ain/kotlin/android/databinding/tool/util/XmlEditor.kt
ain/kotlin/android/databinding/tool/writer/DataBinderWriter.kt
ain/kotlin/android/databinding/tool/writer/KCode.kt
ain/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/ext/list_ext.kt
ain/kotlin/com/android/databinding/ext/node_ext.kt
ain/kotlin/com/android/databinding/util/Log.kt
ain/kotlin/com/android/databinding/util/ParserHelper.kt
ain/kotlin/com/android/databinding/util/XmlEditor.kt
ain/kotlin/com/android/databinding/writer/DataBinderWriter.kt
ain/kotlin/com/android/databinding/writer/KCode.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/android/databinding/CallbackRegistryTest.java
est/java/android/databinding/tool/ExpressionVisitorTest.java
est/java/android/databinding/tool/LayoutBinderTest.java
est/java/android/databinding/tool/MockLayoutBinder.java
est/java/android/databinding/tool/SdkVersionTest.java
est/java/android/databinding/tool/expr/ExprModelTest.java
est/java/android/databinding/tool/expr/ExprTest.java
est/java/android/databinding/tool/reflection/java/JavaAnalyzer.java
est/java/android/databinding/tool/reflection/java/JavaClass.java
est/java/android/databinding/tool/reflection/java/JavaField.java
est/java/android/databinding/tool/reflection/java/JavaMethod.java
est/java/android/databinding/tool/reflection/java/JavaTypeUtil.java
est/java/android/databinding/tool/writer/FlagSetTest.java
est/java/com/android/databinding/ExpressionVisitorTest.java
est/java/com/android/databinding/LayoutBinderTest.java
est/java/com/android/databinding/MockLayoutBinder.java
est/java/com/android/databinding/SdkVersionTest.java
est/java/com/android/databinding/expr/ExprModelTest.java
est/java/com/android/databinding/expr/ExprTest.java
est/java/com/android/databinding/reflection/java/JavaAnalyzer.java
est/java/com/android/databinding/reflection/java/JavaClass.java
est/java/com/android/databinding/reflection/java/JavaField.java
est/java/com/android/databinding/reflection/java/JavaMethod.java
est/java/com/android/databinding/reflection/java/JavaTypeUtil.java
est/java/com/android/databinding/writer/FlagSetTest.java
|
69362b5b63875987b050354b6852db76cb799d8c |
12-Mar-2015 |
George Mount <mount@google.com> |
Created command line method to be invoked by make. make needs some means for copying resource files, stripping them, and generating the intermediate java/xml files. This calls into the same code used by the gradle plugin to do it. When aapt work has completed, this can be removed entirely and replaced by a simple shell script. Change-Id: Ie6e1fda8fa27892cc74a13f1404ab064f6210270
ain/java/com/android/databinding/MakeCopy.java
|
fa9fe12980ef1103fabe33bf5ff0e2f53042a204 |
18-Mar-2015 |
George Mount <mount@google.com> |
Move common parts of AnnotationAnalyzer methods to ModelAnalyzer. Bug 19643846 Bug 19627630 Also made it so that setter methods will auto-cast from Object when necessary. This is useful for heterogenous map objects where .get(id) may return an Integer or a String or a Drawable. Change-Id: Iacfd739ea4938f38b584a8eab9193f1fd4071df1
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/ModelClass.java
ain/java/com/android/databinding/reflection/ModelField.java
ain/java/com/android/databinding/reflection/ModelMethod.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/annotation/AnnotationClass.java
ain/java/com/android/databinding/reflection/annotation/AnnotationField.java
ain/java/com/android/databinding/reflection/annotation/AnnotationMethod.java
ain/java/com/android/databinding/store/SetterStore.java
est/java/com/android/databinding/reflection/java/JavaAnalyzer.java
est/java/com/android/databinding/reflection/java/JavaClass.java
est/java/com/android/databinding/reflection/java/JavaField.java
est/java/com/android/databinding/reflection/java/JavaMethod.java
|
a6e4583962e19e8e93b4ca3f9fe3d34560b6d96c |
13-Mar-2015 |
Yigit Boyar <yboyar@google.com> |
Support for multi module setups This CL adds support for building multi module apps with proper context. For library modules, we only generate base classes in the initial compilation. We also generate a temporary BR file which does not have final methods. When final app is being generated, all layout binders, adapters and Bindable information gets merged and all final classes are generated in their appropriate packages. This CL also adds support for Test runs and any number of build variants. Bug: 19714904 Change-Id: I9b50b54db05f3fa206eec33709d43c2ac94a9e5e
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/LayoutXmlProcessor.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding/util/GenerationalClassUtil.java
ain/java/com/android/databinding/writer/AnnotationJavaFileWriter.java
ain/java/com/android/databinding/writer/JavaFileWriter.java
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/util/XmlEditor.kt
ain/kotlin/com/android/databinding/writer/DataBinderWriter.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/MockLayoutBinder.java
est/java/com/android/databinding/reflection/java/JavaAnalyzer.java
|
4c5cc009bcbcfb19e33fb19db5ec80f83f7b3326 |
12-Mar-2015 |
George Mount <mount@google.com> |
Use abstract base class instead of interfaces for Binding objects. Bug 19627511 Bug 19709604 Changed generated classes to end with "Binding" instead of "Binder" to avoid confusion with Android Binders. Removed DataBinder class and moved the important aspects of its contents to ViewDataBinding. Improved mapping of Views in included layouts. Avoid traversing included layouts while looking for bound expressions. Change-Id: I1f28093b0792d5428d07192f1fc458a5b4b788b2
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/kotlin/com/android/databinding/writer/DataBinderWriter.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/reflection/java/JavaAnalyzer.java
|
f9e51c010bd2eab9cca01baaccc0e5a73b8b72c9 |
12-Mar-2015 |
Yigit Boyar <yboyar@google.com> |
Restructure project for test apps This CL updates project to use a local maven repo. (local as in near source code w/ relative path). This is necessary to have multiple versions of the project on the same computer also provides better separation. I also moved integration tests to depend on these because we cannot build the compiler and test app at the same project. I've changed library plugin's jar to be a separate upload task to avoid some build issues in TestApp when we release a @jar and @aar with same group and artifact ids. This CL also adds some convenience methods to gradle build script to run all tests, prepare maven repo, run integration tests etc. These were needed to do CI. Bug: 19718690 Change-Id: I3c80e09fe7c8c2780ca00c3e9b9ba99a162531cf
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
|
895b618d9c6e3deb56465d0759cda57f50c46214 |
12-Mar-2015 |
Yigit Boyar <yboyar@google.com> |
Downgrade to java 1.6 This CL removes java 1.7 code so that we can easily integrate w/ Idea. It also partially removes dependency on ModelAnalyzer for interface generation so that we can call it from the Idea plugin. Change-Id: Id7616987f5660911e951ddf20dacd4f407dacbd9
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/LayoutXmlProcessor.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/SdkUtil.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/annotation/AnnotationClass.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/util/ParserHelper.kt
ain/kotlin/com/android/databinding/writer/KCode.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/MockLayoutBinder.java
est/java/com/android/databinding/reflection/java/JavaAnalyzer.java
est/java/com/android/databinding/reflection/java/JavaClass.java
|
97d6ddf47f4ff1abb3ed5201ce5232163f5325b1 |
04-Mar-2015 |
Yigit Boyar <yboyar@google.com> |
Check API version for methods called via binding In data binding, setting an attribute actually means calling a method, which might be an issue if the method is added after a certain API. This CL introduces a change which will check called methods per api and add necessary API check code to avoid calling those methods in older platforms. This CL also resurrects the Java Model Analyzer (in testing) and also fixes compiler tests. Bug: 19593398 Change-Id: I0da4194625231cf43125e1b43338069e7d191eb9
ain/java/com/android/databinding/Binding.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/LayoutXmlProcessor.java
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/java/com/android/databinding/reflection/AnnotationField.java
ain/java/com/android/databinding/reflection/AnnotationMethod.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/ModelClass.java
ain/java/com/android/databinding/reflection/ModelMethod.java
ain/java/com/android/databinding/reflection/SdkUtil.java
ain/java/com/android/databinding/reflection/TypeUtil.java
ain/java/com/android/databinding/reflection/annotation/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/annotation/AnnotationClass.java
ain/java/com/android/databinding/reflection/annotation/AnnotationField.java
ain/java/com/android/databinding/reflection/annotation/AnnotationMethod.java
ain/java/com/android/databinding/reflection/annotation/AnnotationTypeUtil.java
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding/util/L.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/ExpressionVisitorTest.java
est/java/com/android/databinding/LayoutBinderTest.java
est/java/com/android/databinding/MockBindable.java
est/java/com/android/databinding/MockIViewDataBinder.java
est/java/com/android/databinding/MockLayoutBinder.java
est/java/com/android/databinding/MockObservable.java
est/java/com/android/databinding/MockObservableLsit.java
est/java/com/android/databinding/MockObservableMap.java
est/java/com/android/databinding/SdkVersionTest.java
est/java/com/android/databinding/expr/ExprModelTest.java
est/java/com/android/databinding/expr/ExprTest.java
est/java/com/android/databinding/reflection/java/JavaAnalyzer.java
est/java/com/android/databinding/reflection/java/JavaClass.java
est/java/com/android/databinding/reflection/java/JavaField.java
est/java/com/android/databinding/reflection/java/JavaMethod.java
est/java/com/android/databinding/reflection/java/JavaTypeUtil.java
|
2feec49448ca1bb31675b22c25d4ae31961cbbd5 |
05-Mar-2015 |
George Mount <mount@google.com> |
Support bracket expressions for SparseArray. Also support single-quotes for XML attributes.
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/kotlin/com/android/databinding/util/XmlEditor.kt
|
00da715547ee7d5d38a3b8576090ca427a94daa5 |
04-Mar-2015 |
George Mount <mount@google.com> |
Don't require IDs for most bound views.
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/util/XmlEditor.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
8e5d3b4aa4e47fc0150b4a26b58ec6e5c17b9d16 |
25-Feb-2015 |
George Mount <mount@google.com> |
Move expression parsing to Annotation Processing stage. Change-Id: Ibf1e9c02856212c20300f10e4c63b96ec33b7a13
ain/java/com/android/databinding/CompilerChef.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/LayoutXmlProcessor.java
ain/java/com/android/databinding/expr/BracketExpr.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/util/XmlEditor.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
37cd0236216489d15d446543b39d59509401e1a7 |
24-Feb-2015 |
George Mount <mount@google.com> |
Add fraction resource parameters.
ain/java/com/android/databinding/expr/ResourceExpr.java
|
ae7cb82316e351c488ee3b9c7226602321f34301 |
24-Feb-2015 |
George Mount <mount@google.com> |
Add quantity and format string easy formats.
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
a7e767e576adebcddf043ad34ccb8dd167f777b3 |
20-Feb-2015 |
George Mount <mount@google.com> |
Added support for imports in type checking. findType did not support user-defined imports, so casting, for example, of Foo<String> didn't recognize Foo or String. This also will import java.lang.* by default.
ain/java/com/android/databinding/Binding.java
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/expr/CastExpr.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationMethod.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/LayoutBinderTest.java
|
a70fed6415aa1e8bbbe929aee776402ac3b81c86 |
20-Feb-2015 |
George Mount <mount@google.com> |
Fix broken static import with alias. Added tests to ensure they don't break again.
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/StaticAccessExpr.java
ain/java/com/android/databinding/expr/StaticIdentifierExpr.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/ExpressionVisitorTest.java
est/java/com/android/databinding/LayoutBinderTest.java
|
18243f6f1b7527272ef4feccdf4327d80d9f2241 |
19-Feb-2015 |
George Mount <mount@google.com> |
Support static method and field access and improve method finding. Bug 19425630 Bug 19336295 Change-Id: I4c04db32492edfa093e94c3c15bf7799128b1e03
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/StaticAccessExpr.java
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
e4b93061ac703e48fc2c9994c9059ed016f05559 |
18-Feb-2015 |
George Mount <mount@google.com> |
Support casting operation in binding expressions. Bug 19272385 Change-Id: I5a992f4eaf6f456d21983481ab4ca01305582f36
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/CastExpr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
79fc7f3727815ab35bb1bb2e060bfb7db3176eed |
18-Feb-2015 |
George Mount <mount@google.com> |
Removed reflection-based implementations and renamed classes. Renamed Model* classes to Annotation* Renamed Reflection* classes to Model* Removed Class* classes -- they are no longer needed. The names were confusing. I think this is better.
ain/java/com/android/databinding/Binding.java
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/BracketExpr.java
ain/java/com/android/databinding/expr/ComparisonExpr.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/GroupExpr.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/MathExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/java/com/android/databinding/expr/SymbolExpr.java
ain/java/com/android/databinding/expr/TernaryExpr.java
ain/java/com/android/databinding/reflection/AnnotationAnalyzer.java
ain/java/com/android/databinding/reflection/AnnotationClass.java
ain/java/com/android/databinding/reflection/AnnotationField.java
ain/java/com/android/databinding/reflection/AnnotationMethod.java
ain/java/com/android/databinding/reflection/Callable.java
ain/java/com/android/databinding/reflection/ClassAnalyzer.java
ain/java/com/android/databinding/reflection/ClassClass.java
ain/java/com/android/databinding/reflection/ClassField.java
ain/java/com/android/databinding/reflection/ClassMethod.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/ModelClass.java
ain/java/com/android/databinding/reflection/ModelField.java
ain/java/com/android/databinding/reflection/ModelMethod.java
ain/java/com/android/databinding/reflection/ReflectionAnalyzer.java
ain/java/com/android/databinding/reflection/ReflectionClass.java
ain/java/com/android/databinding/reflection/ReflectionField.java
ain/java/com/android/databinding/reflection/ReflectionMethod.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/ExpressionVisitorTest.java
est/java/com/android/databinding/LayoutBinderTest.java
est/java/com/android/databinding/expr/ExprModelTest.java
est/java/com/android/databinding/expr/ExprTest.java
|
1b9940e612fc73202837fbe9db2f9035f307b5d1 |
11-Feb-2015 |
George Mount <mount@google.com> |
Move expression generation to annotation processor.
ain/java/com/android/databinding/CompilerChef.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/reflection/ClassAnalyzer.java
ain/java/com/android/databinding/reflection/ClassMethod.java
ain/java/com/android/databinding/reflection/ModelAnalyzer.java
ain/java/com/android/databinding/reflection/ModelClass.java
ain/java/com/android/databinding/reflection/ModelField.java
ain/java/com/android/databinding/reflection/ModelMethod.java
ain/java/com/android/databinding/reflection/ReflectionAnalyzer.java
ain/java/com/android/databinding/reflection/ReflectionField.java
ain/java/com/android/databinding/reflection/ReflectionMethod.java
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding/writer/AnnotationJavaFileWriter.java
ain/java/com/android/databinding/writer/FileWriter.java
ain/java/com/android/databinding/writer/JavaFileWriter.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
b134dd773c386246ee8b692fbc4f063945e88ec5 |
11-Feb-2015 |
Yigit Boyar <yboyar@google.com> |
Allow chef to be created from bundle Change-Id: If5b00a98684803cdd46547b9a94c961fe0bbf4e3
ain/java/com/android/databinding/CompilerChef.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/writer/FileWriter.java
ain/java/com/android/databinding/writer/FileWriterImpl.java
|
3bd87eef217d80a233677d7e267224d0ed3c2c55 |
10-Feb-2015 |
Yigit Boyar <yboyar@google.com> |
Separate resource parser Change-Id: I3b5f44b48269130834d013425dbaf79fe084c855
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/CompilerChef.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/store/LayoutFileParser.java
ain/java/com/android/databinding/store/ResourceBundle.java
ain/java/com/android/databinding/writer/FileWriter.java
ain/java/com/android/databinding/writer/FileWriterImpl.java
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/util/ParserHelper.kt
ain/kotlin/com/android/databinding/writer/DataBinderWriter.kt
|
e6c6d3bf4fac3fa11c5780cfd3bc14cdb0caaea1 |
10-Feb-2015 |
George Mount <mount@google.com> |
Prepare ClassAnalyzer to be replaced by other implementations. ClassAnalyzer uses normal reflection. We intend to move to an Annotation Processor and possibly an Android Studio plugin version of type interaction as well. This abstracts the type interaction to prepare. Change-Id: I2b95ea9074bca7e3053aeadcd3692dffe93b41d6
ain/java/com/android/databinding/Binding.java
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/BracketExpr.java
ain/java/com/android/databinding/expr/ComparisonExpr.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/GroupExpr.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/MathExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/java/com/android/databinding/expr/SymbolExpr.java
ain/java/com/android/databinding/expr/TernaryExpr.java
ain/java/com/android/databinding/reflection/Callable.java
ain/java/com/android/databinding/reflection/ClassAnalyzer.java
ain/java/com/android/databinding/reflection/ClassClass.java
ain/java/com/android/databinding/reflection/ClassField.java
ain/java/com/android/databinding/reflection/ClassMethod.java
ain/java/com/android/databinding/reflection/ReflectionAnalyzer.java
ain/java/com/android/databinding/reflection/ReflectionClass.java
ain/java/com/android/databinding/reflection/ReflectionField.java
ain/java/com/android/databinding/reflection/ReflectionMethod.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/ExpressionVisitorTest.java
est/java/com/android/databinding/LayoutBinderTest.java
est/java/com/android/databinding/expr/ExprModelTest.java
est/java/com/android/databinding/expr/ExprTest.java
|
9e20571da789c7d50650513c38d5a333b11b9fd3 |
10-Feb-2015 |
Yigit Boyar <yboyar@google.com> |
Fix how we handle non-bindable fields in Observable objects Change-Id: Ia33200a2ade3bd3ed8d3a66e1602a04111f4387a
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/store/SetterStore.java
est/java/com/android/databinding/MockIViewDataBinder.java
|
7920e17f7b501d5792e7e3250e9dbb69eca86ade |
06-Feb-2015 |
George Mount <mount@google.com> |
Added support for Observable fields. Added support for ObservableField and it primitive siblings. Bug 19268016 Change-Id: I28322e5adc44d40013e876271e7d40010c2fe0bb
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/expr/BracketExpr.java
ain/java/com/android/databinding/expr/ComparisonExpr.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/GroupExpr.java
ain/java/com/android/databinding/expr/MathExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/TernaryExpr.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
b0c02d8951351c7b1b2c87dacd751ba56d103013 |
07-Feb-2015 |
Yigit Boyar <yboyar@google.com> |
Check for final observable fields If a field is final, we know it cannot change thus cannot include it in dependency logic. Unfortunately, observable final fields can invalidate themselves so we should consider them dynamic. Bug: 19299279 Change-Id: I643377f7faea6a7b0e858ee55d22318b3fc5898e
ain/java/com/android/databinding/ClassAnalyzer.java
|
974a07824642fabd896930f20c7b176fd2333e31 |
04-Feb-2015 |
George Mount <mount@google.com> |
Made expressions prefix with "@"
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/util/XmlEditor.kt
|
71eb6908f2689bd17000237eb645896c36da0138 |
04-Feb-2015 |
George Mount <mount@google.com> |
Added tests for BindingAdapters Fixed a few small bugs as well. Change-Id: Ie50afc6be457b293ce69508452bb38ea1ab75b41
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/DataBinder.java
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/main.kt
|
5bf3700759ff21696becadd4e6fcfe2c0db6cb83 |
03-Feb-2015 |
Yigit Boyar <yboyar@google.com> |
Support for layout files in multiple resource folders Multiple layout files with the same name now share a common interface. They also share all variables no matter where it is defined. If a variable is NOT used in one of the layout files, its implementation does not create a field BUT STILL creates the setter (to implement the base interface). If the same view id is used for two different types of views, return type in the interface is android.view.View. If it is an include, the return value is IViewDataBinder. Change-Id: Ie3cc2bb8ec5ea48b71337e314ec588a050d714df
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/expr/Expr.java
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/util/ParserHelper.kt
ain/kotlin/com/android/databinding/util/XmlEditor.kt
ain/kotlin/com/android/databinding/writer/DataBinderWriter.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
ain/resources/META-INF/gradle-plugins/com.android.databinding.properties
|
7551861a29997eac7eaf6318e4d9f1cebd8b81d6 |
31-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
Support include tags as inner binders Change-Id: I2d35c9887678a3547937ad384b9c0dc7603f4f60
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/DataBinder.java
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/util/ParserHelper.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
4711e767639124a4e9720fb72f03d1175fa7312f |
30-Jan-2015 |
George Mount <mount@google.com> |
Made SetterStore serialization upgradable. Bug 19197607
ain/java/com/android/databinding/store/SetterStore.java
|
7201118b5554426cea3fcd07e4fd96e999d3eea9 |
29-Jan-2015 |
George Mount <mount@google.com> |
Added tests for ViewBindingAdapter. Also fixed: Bug 19192030
ain/java/com/android/databinding/ClassAnalyzer.java
|
2c86cdbaf189e2b1774af7f64a2974de9321673f |
28-Jan-2015 |
George Mount <mount@google.com> |
Moved classes from library to baseLibrary Added tests for some classes.
ain/java/com/android/databinding/ClassAnalyzer.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
0fa158e8aa91297cc246e3bb9e5d1388dc2355cc |
27-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
more integration tests Change-Id: I275ab3b41930694acd5db3875a5b4265a19581ca
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/expr/Expr.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/MockObservableLsit.java
est/java/com/android/databinding/MockObservableMap.java
est/java/com/android/databinding/expr/ExprModelTest.java
|
0935fcaf455ce6fc6916194da651b556e1ec0326 |
27-Jan-2015 |
George Mount <mount@google.com> |
Lazy load classes for SetterStore.
ain/java/com/android/databinding/store/SetterStore.java
|
dc69f49d687ec036947f26a9bf9025a305de0721 |
26-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
properly handle expressions which are static. Also make bindable a runtime expression so that we can read it in the compiler Change-Id: Id8f6cdf010dde61d64a20841557c3b997916fbf9
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/Dependency.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/TernaryExpr.java
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding/writer/ViewBinderExprWriter.java
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/expr/ExprModelTest.java
|
5cd681c345db8f606d7d5a8662e20e059f21a86c |
24-Jan-2015 |
George Mount <mount@google.com> |
Add observable collections Change-Id: I609708e2c914fa0c38695172ede23207eb1569a1
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/BracketExpr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
c752a5f795baf6df435ef60881316cb748df407c |
22-Jan-2015 |
George Mount <mount@google.com> |
Add resource support in binding expression. Change-Id: Iccb8c3a5856c247d8245fe97a3c37cd60bb7e758
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/ResourceExpr.java
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
|
bfb7b3b8813a3eec0123a95a6fee6fdb0dcaa367 |
22-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
fixed tests
ain/java/com/android/databinding/ClassAnalyzer.java
est/java/com/android/databinding/ExpressionVisitorTest.java
est/java/com/android/databinding/LayoutBinderTest.java
est/java/com/android/databinding/MockBindable.java
est/java/com/android/databinding/MockObservable.java
est/java/com/android/databinding/writer/FlagSetTest.java
est/java/com/android/databinding2/ExpressionVisitorTest.java
est/java/com/android/databinding2/LayoutBinderTest.java
est/java/com/android/databinding2/MockBindable.java
est/java/com/android/databinding2/MockObservable.java
|
43596c2b2997e40b709627419732100d78a62ff0 |
22-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
Cleanup previous layout generators. Change-Id: Ib55038fa762561ad69c3936e5731f2a27998c87f
ain/java/com/android/databinding/Binding.java
ain/java/com/android/databinding/BindingTarget.java
ain/java/com/android/databinding/ClassAnalyzer.java
ain/java/com/android/databinding/DataBinder.java
ain/java/com/android/databinding/ExpressionParser.java
ain/java/com/android/databinding/ExpressionVisitor.java
ain/java/com/android/databinding/LayoutBinder.java
ain/java/com/android/databinding/expr/ComparisonExpr.java
ain/java/com/android/databinding/expr/Dependency.java
ain/java/com/android/databinding/expr/Expr.java
ain/java/com/android/databinding/expr/ExprModel.java
ain/java/com/android/databinding/expr/FieldAccessExpr.java
ain/java/com/android/databinding/expr/GroupExpr.java
ain/java/com/android/databinding/expr/IdentifierExpr.java
ain/java/com/android/databinding/expr/MathExpr.java
ain/java/com/android/databinding/expr/MethodCallExpr.java
ain/java/com/android/databinding/expr/StaticIdentifierExpr.java
ain/java/com/android/databinding/expr/SymbolExpr.java
ain/java/com/android/databinding/expr/TernaryExpr.java
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding/util/L.java
ain/java/com/android/databinding/writer/FlagSet.java
ain/java/com/android/databinding/writer/ViewBinderExprWriter.java
ain/java/com/android/databinding2/Binding.java
ain/java/com/android/databinding2/BindingTarget.java
ain/java/com/android/databinding2/ClassAnalyzer.java
ain/java/com/android/databinding2/DataBinder.java
ain/java/com/android/databinding2/ExpressionParser.java
ain/java/com/android/databinding2/ExpressionVisitor.java
ain/java/com/android/databinding2/LayoutBinder.java
ain/java/com/android/databinding2/expr/ComparisonExpr.java
ain/java/com/android/databinding2/expr/Dependency.java
ain/java/com/android/databinding2/expr/Expr.java
ain/java/com/android/databinding2/expr/ExprModel.java
ain/java/com/android/databinding2/expr/FieldAccessExpr.java
ain/java/com/android/databinding2/expr/GroupExpr.java
ain/java/com/android/databinding2/expr/IdentifierExpr.java
ain/java/com/android/databinding2/expr/MathExpr.java
ain/java/com/android/databinding2/expr/MethodCallExpr.java
ain/java/com/android/databinding2/expr/StaticIdentifierExpr.java
ain/java/com/android/databinding2/expr/SymbolExpr.java
ain/java/com/android/databinding2/expr/TernaryExpr.java
ain/java/com/android/databinding2/util/L.java
ain/java/com/android/databinding2/writer/FlagSet.java
ain/java/com/android/databinding2/writer/ViewBinderExprWriter.java
ain/java/com/example/databinding/ExpressionVisitor.java
ain/java/com/example/databinding/LayoutParser.java
ain/kotlin/com/android/databinding/ext/ext.kt
ain/kotlin/com/android/databinding/ext/list_ext.kt
ain/kotlin/com/android/databinding/ext/string_ext.kt
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/parser/expression_parser.kt
ain/kotlin/com/android/databinding/parser/expressions.kt
ain/kotlin/com/android/databinding/renderer/attr_renderer.kt
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
ain/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
ain/kotlin/com/android/databinding/renderer2/KCode.kt
ain/kotlin/com/android/databinding/renderer2/LayoutBinderWriter.kt
ain/kotlin/com/android/databinding/renderer2/LazyExt.kt
ain/kotlin/com/android/databinding/util/class_analyzer.kt
ain/kotlin/com/android/databinding/vo/vo.kt
ain/kotlin/com/android/databinding/writer/DataBinderWriter.kt
ain/kotlin/com/android/databinding/writer/KCode.kt
ain/kotlin/com/android/databinding/writer/LayoutBinderWriter.kt
est/java/com/android/databinding/expr/ExprModelTest.java
est/java/com/android/databinding/expr/ExprTest.java
est/java/com/android/databinding/writer/FlagSetTest.java
est/java/com/android/databinding2/ExpressionVisitorTest.java
est/java/com/android/databinding2/LayoutBinderTest.java
est/java/com/android/databinding2/expr/ExprModelTest.java
est/java/com/android/databinding2/expr/ExprTest.java
est/java/com/android/databinding2/writer/FlagSetTest.java
|
d7af42b29ddf22f0068f7496c5ac6f4f34b543b6 |
09-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
WIP Moved models to Java, refactored expressions to have proper dependencies, added tests Change-Id: I863787a3ed76ecc397b677cfd110aa7aba99cb38
ain/java/com/android/databinding/store/SetterStore.java
ain/java/com/android/databinding2/Binding.java
ain/java/com/android/databinding2/BindingTarget.java
ain/java/com/android/databinding2/ClassAnalyzer.java
ain/java/com/android/databinding2/DataBinder.java
ain/java/com/android/databinding2/ExpressionParser.java
ain/java/com/android/databinding2/ExpressionVisitor.java
ain/java/com/android/databinding2/LayoutBinder.java
ain/java/com/android/databinding2/expr/ComparisonExpr.java
ain/java/com/android/databinding2/expr/Dependency.java
ain/java/com/android/databinding2/expr/Expr.java
ain/java/com/android/databinding2/expr/ExprModel.java
ain/java/com/android/databinding2/expr/FieldAccessExpr.java
ain/java/com/android/databinding2/expr/GroupExpr.java
ain/java/com/android/databinding2/expr/IdentifierExpr.java
ain/java/com/android/databinding2/expr/MathExpr.java
ain/java/com/android/databinding2/expr/MethodCallExpr.java
ain/java/com/android/databinding2/expr/StaticIdentifierExpr.java
ain/java/com/android/databinding2/expr/SymbolExpr.java
ain/java/com/android/databinding2/expr/TernaryExpr.java
ain/java/com/android/databinding2/util/L.java
ain/java/com/android/databinding2/writer/FlagSet.java
ain/java/com/android/databinding2/writer/ViewBinderExprWriter.java
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/renderer2/KCode.kt
ain/kotlin/com/android/databinding/renderer2/LayoutBinderWriter.kt
ain/kotlin/com/android/databinding/renderer2/LazyExt.kt
ain/kotlin/com/android/databinding/vo/vo.kt
est/java/com/android/databinding2/ExpressionVisitorTest.java
est/java/com/android/databinding2/LayoutBinderTest.java
est/java/com/android/databinding2/MockBindable.java
est/java/com/android/databinding2/MockObservable.java
est/java/com/android/databinding2/expr/ExprModelTest.java
est/java/com/android/databinding2/expr/ExprTest.java
est/java/com/android/databinding2/writer/FlagSetTest.java
|
7a25150b56cb9256f9f4786f47694b03ba312d72 |
20-Jan-2015 |
George Mount <mount@google.com> |
Made non-android XML namespace uniform for setter retrieval.
ain/java/com/android/databinding/store/SetterStore.java
|
3561e3e665698843b1c664385a842e779198960b |
20-Jan-2015 |
George Mount <mount@google.com> |
Added implementations of BindingAdapters. Added renaming attribute-to-setter and automatic Conversions. Moved intermediate store (SetterStore) to compiler project. Moved annotations to their own project.
ain/java/com/android/databinding/store/SetterStore.java
ain/kotlin/com/android/databinding/util/class_analyzer.kt
ain/kotlin/com/android/databinding/vo/vo.kt
|
612997fe2e41366573855f56898b27d4c8787244 |
09-Jan-2015 |
George Mount <mount@google.com> |
Handle BindingAdapters
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
ain/kotlin/com/android/databinding/vo/vo.kt
|
35e303ef39a4fe83175b69486a6bbd444ef6ccd5 |
09-Jan-2015 |
Yigit Boyar <yboyar@google.com> |
initial implementation for type resolution
ain/java/com/example/databinding/ExpressionVisitor.java
ain/kotlin/com/android/databinding/parser/expression_parser.kt
ain/kotlin/com/android/databinding/parser/expressions.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
ain/kotlin/com/android/databinding/util/class_analyzer.kt
|
c09acd410cdf8399b43f5e4a77313337a0c9a178 |
08-Jan-2015 |
George Mount <mount@google.com> |
New expression language.
ain/java/com/example/databinding/ExpressionVisitor.java
ain/kotlin/com/android/databinding/parser/expression_parser.kt
|
7bdc3517f998d167a8d2922fbe5b3ee955a75016 |
17-Dec-2014 |
George Mount <mount@google.com> |
Move to android.binding.BR
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
|
8ffce57a6056a34c9568ef1893d6e36ce80f2245 |
13-Dec-2014 |
Yigit Boyar <yboyar@google.com> |
Upload plugin for new lang
ain/kotlin/com/android/databinding/ext/node_ext.kt
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/util/Log.kt
ain/kotlin/com/android/databinding/util/XmlEditor.kt
|
051f795993b296a20b1fa006135781e437251548 |
17-Dec-2014 |
George Mount <mount@google.com> |
Revert "Missed adding annotation processor code." This reverts commit 6c634edac4f9af4bdeb84cdc2f47e849bfd74d86. Change-Id: I74afc4c8a10cd276d0bb422efd37ae339e8c8d86
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
|
2527c89af21b2af11a2bb627b5ce1380368016c7 |
17-Dec-2014 |
George Mount <mount@google.com> |
Missed adding annotation processor code.
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
|
840f0ce0645ecc28a528d2c73efa25532d721d20 |
13-Dec-2014 |
Yigit Boyar <yboyar@google.com> |
move dependencies from maven to project
ain/java/com/example/databinding/LayoutParser.java
|
2d5a37e735e7b281498fc0dfedc7e476ca724b89 |
12-Dec-2014 |
Yigit Boyar <yboyar@google.com> |
cleanup personal references
ain/java/com/example/databinding/LayoutParser.java
ain/kotlin/com/android/databinding/ext/list_ext.kt
ain/kotlin/com/android/databinding/ext/node_ext.kt
ain/kotlin/com/android/databinding/ext/string_ext.kt
ain/kotlin/com/android/databinding/parser/expression_parser.kt
ain/kotlin/com/android/databinding/parser/expressions.kt
ain/kotlin/com/android/databinding/renderer/attr_renderer.kt
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
ain/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
ain/kotlin/com/android/databinding/util/class_analyzer.kt
ain/kotlin/com/android/databinding/vo/vo.kt
|
3d4bdfeeb2ffd1b2ec8a26abd1f4306295a66a43 |
12-Dec-2014 |
Yigit Boyar <yboyar@google.com> |
add copyright to project files
ain/java/com/example/databinding/LayoutParser.java
ain/kotlin/com/android/databinding/ext/list_ext.kt
ain/kotlin/com/android/databinding/ext/node_ext.kt
ain/kotlin/com/android/databinding/ext/string_ext.kt
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/parser/expression_parser.kt
ain/kotlin/com/android/databinding/parser/expressions.kt
ain/kotlin/com/android/databinding/renderer/attr_renderer.kt
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
ain/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
ain/kotlin/com/android/databinding/util/Log.kt
ain/kotlin/com/android/databinding/util/class_analyzer.kt
ain/kotlin/com/android/databinding/vo/vo.kt
ain/resources/META-INF/gradle-plugins/com.android.databinding.properties
|
085724fd84795ae1631747443c43f77c08e11a28 |
12-Dec-2014 |
Yigit Boyar <yboyar@google.com> |
initial commit
ain/java/com/example/databinding/LayoutParser.java
ain/kotlin/com/android/databinding/ext/list_ext.kt
ain/kotlin/com/android/databinding/ext/node_ext.kt
ain/kotlin/com/android/databinding/ext/string_ext.kt
ain/kotlin/com/android/databinding/main.kt
ain/kotlin/com/android/databinding/parser/expression_parser.kt
ain/kotlin/com/android/databinding/parser/expressions.kt
ain/kotlin/com/android/databinding/renderer/attr_renderer.kt
ain/kotlin/com/android/databinding/renderer/binding_br_renderer.kt
ain/kotlin/com/android/databinding/renderer/data_binder_renderer.kt
ain/kotlin/com/android/databinding/renderer/view_expr_binder_renderer.kt
ain/kotlin/com/android/databinding/util/Log.kt
ain/kotlin/com/android/databinding/util/class_analyzer.kt
ain/kotlin/com/android/databinding/vo/vo.kt
ain/resources/META-INF/gradle-plugins/com.android.databinding.properties
|