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/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/BasicObject.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
/frameworks/data-binding/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/BasicObject.java
|
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
/frameworks/data-binding/integration-tests/TestApp/app/src/main/java/android/databinding/testapp/vo/BasicObject.java
|