summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2019-04-18 14:00:46 -0700
committerYigit Boyar <yboyar@google.com>2019-04-18 14:05:22 -0700
commit5c5ac9f434db11d194aea9981091df6a8f55deb7 (patch)
tree44e5327e4ee76175be78204fe0c0e5367f89a3be /extensions
parent3d1ae11385fd596baac7fff51a02c2a0e68452f2 (diff)
downloaddata-binding-5c5ac9f434db11d194aea9981091df6a8f55deb7.tar.gz
Re-introduce ViewBinding constructor w/ DataBindingComponent
This CL fixes a bug where libraries compiled with AGP 3.3 and before cannot be loaded in AGP 3.4 because the constructer has been removed. The only fix is to re-compile the library with a newer version of AGP which is not always feasible. This CL fixes the problem by re-adding the old constructor back. Bug: 122936785 Test: MultiModuleTestApp#OldVersionDependencyTest Change-Id: Ie5aed4ca7e8df2225c186baf04ff956996507888
Diffstat (limited to 'extensions')
-rw-r--r--extensions/build.gradle5
-rw-r--r--extensions/library/src/main/java/androidx/databinding/ViewDataBinding.java13
2 files changed, 15 insertions, 3 deletions
diff --git a/extensions/build.gradle b/extensions/build.gradle
index 86d9f671..04bbfb6c 100644
--- a/extensions/build.gradle
+++ b/extensions/build.gradle
@@ -64,9 +64,12 @@ buildscript {
def PREBUILTS_REPO = ENV['PREBUILTS_REPO']
if (runningInIde) {
Properties devVersions = new Properties()
- devVersions.load(new FileInputStream("$projectDir/../../buildSrc/base/dev-version.properties"))
+ devVersions.load(new FileInputStream("$projectDir/../../buildSrc/base/version.properties"))
// invoked in the IDE, go w/ defaults.
TOOLS_VERSION = devVersions.buildVersion
+ if (TOOLS_VERSION .contains('-')) {
+ TOOLS_VERSION = TOOLS_VERSION .substring(0, TOOLS_VERSION.indexOf('-')) + "-dev"
+ }
MAVEN_REPO = MAVEN_REPO ?: "${projectDir}/../../../out/repo"
OUT_REPO = OUT_REPO ?: "${projectDir}/../../../out/repo"
PREBUILTS_REPO = PREBUILTS_REPO ?: "${projectDir}/../../../prebuilts/tools/common/m2/repository"
diff --git a/extensions/library/src/main/java/androidx/databinding/ViewDataBinding.java b/extensions/library/src/main/java/androidx/databinding/ViewDataBinding.java
index 0dccad4f..b3be288f 100644
--- a/extensions/library/src/main/java/androidx/databinding/ViewDataBinding.java
+++ b/extensions/library/src/main/java/androidx/databinding/ViewDataBinding.java
@@ -271,10 +271,12 @@ public abstract class ViewDataBinding extends BaseObservable {
private boolean mInLiveDataRegisterObserver;
/**
+ * Needed for backwards binary compatibility.
+ * b/122936785
* @hide
*/
- protected ViewDataBinding(Object bindingComponent, View root, int localFieldCount) {
- mBindingComponent = checkAndCastToBindingComponent(bindingComponent);
+ protected ViewDataBinding(DataBindingComponent bindingComponent, View root, int localFieldCount) {
+ mBindingComponent = bindingComponent;
mLocalFieldObservers = new WeakListener[localFieldCount];
this.mRoot = root;
if (Looper.myLooper() == null) {
@@ -294,6 +296,13 @@ public abstract class ViewDataBinding extends BaseObservable {
}
}
+ /**
+ * @hide
+ */
+ protected ViewDataBinding(Object bindingComponent, View root, int localFieldCount) {
+ this(checkAndCastToBindingComponent(bindingComponent), root, localFieldCount);
+ }
+
private static DataBindingComponent checkAndCastToBindingComponent(Object bindingComponent) {
if (bindingComponent == null) {
return null;