History log of /frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.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/BindingTarget.java
59229481aec5a284d322a2ca80dff836485feb0c 30-Oct-2015 Yigit Boyar <yboyar@google.com> upgrade kotlin to 1.0-beta1

Change-Id: I62b77fd118e2715d272a16d96b9083d2347f5fb1
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.java
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.java
975c05c00dae9193a636c4775df81d8665fc6749 30-Sep-2015 George Mount <mount@google.com> Fix resolving listeners for multi-attribute binding adapters.

Bug 24538724

Change-Id: I39a72fd701abf9d2368d2a0a7fc5a4c1ac63c0a0
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.java
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
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.java
4d4979490e1fa374c0d7f3599fed0a9e83a579d0 08-Jun-2015 George Mount <mount@google.com> Support data binding for fragments.

Bug 21667601

Change-Id: I636dec1bbb5567d70a996e115e6bf8322c3aa29d
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.java
e9b33bac04bb1ce1444d7f1744fcec1ecd3a57da 30-Apr-2015 Yigit Boyar <yboyar@google.com> Support multi-param adapters in code generation

Bug: 19800022

Change-Id: I40c4ac72f24f965db12fd1c7dec6591184160ae5
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.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/BindingTarget.java
34a18e6a231f3b64726bd93e7e097a0d5a75995d 26-Mar-2015 George Mount <mount@google.com> Move to public final fields instead of getters for Views.

Bug 19933644
/frameworks/data-binding/compiler/src/main/java/android/databinding/tool/BindingTarget.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/BindingTarget.java