diff options
author | Yigit Boyar <yboyar@google.com> | 2019-04-18 14:00:46 -0700 |
---|---|---|
committer | Yigit Boyar <yboyar@google.com> | 2019-04-18 14:05:22 -0700 |
commit | 5c5ac9f434db11d194aea9981091df6a8f55deb7 (patch) | |
tree | 44e5327e4ee76175be78204fe0c0e5367f89a3be /extensions | |
parent | 3d1ae11385fd596baac7fff51a02c2a0e68452f2 (diff) | |
download | data-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.gradle | 5 | ||||
-rw-r--r-- | extensions/library/src/main/java/androidx/databinding/ViewDataBinding.java | 13 |
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; |