History log of /frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
4ba16229a40e9758db86d4fb1df5119fdcb8aa2a 22-Dec-2015 Deepanshu Gupta <deepanshu@google.com> Change from commons-lang3 to guava

Change-Id: I1a18e06af7bf2d65228f1491663b6e096a9538ed
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
bd42d20f70b1f88e27e3b3c9c3a9c55ec155d128 25-Aug-2015 George Mount <mount@google.com> Support generics in conversion parameters.

Bug 23490384

Change-Id: I691da60a671d15c73cf2753ff830f9effb360e96
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
793e979f25e190162eacf46d6a4efc3efc1d2f91 31-Jul-2015 George Mount <mount@google.com> Support different event handlers having different API levels.

Bug 22957226

Change-Id: Ia08bcb857872eccad3340c14b8d10b78198b90a6
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
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.
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
d7adbdab48fb8f894cb59073b864da8f5bafb8a9 20-Apr-2015 George Mount <mount@google.com> Fix merge failure.
/frameworks/data-binding/compiler/src/main/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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
de38dd3ef0577d25b2d59863603abe5750d0c231 28-Mar-2015 George Mount <mount@google.com> Make ViewStub support binding variables like include.

Bug 19969378
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java
fead9ca09b117136b35bc5bf137340a754f9eddd 23-Mar-2015 George Mount <mount@google.com> Move to package android.databinding.
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/reflection/ModelClass.java