summaryrefslogtreecommitdiff
path: root/extensions-support/library
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2019-01-02 10:32:36 -0800
committerYigit Boyar <yboyar@google.com>2019-01-09 00:24:52 +0000
commit53ba40a0db23d05829ae52939bb1bef2adb74718 (patch)
tree7e38ceb4db5320687508fdf0e600968ecb5913e9 /extensions-support/library
parent8b1320cf5ebd8973ccbdb08165a427089ac07da5 (diff)
downloaddata-binding-53ba40a0db23d05829ae52939bb1bef2adb74718.tar.gz
Avoid NPE in LiveData observer
This CL fixes a bug where if a binding class is GC'ed while observing a LiveData, it would crash with NPE if LiveData receives an update. Bug: 122066788 Test: LeakTest Change-Id: I124eafcd06f9823f928eba00231c164917466835
Diffstat (limited to 'extensions-support/library')
-rw-r--r--extensions-support/library/src/main/java/android/databinding/ViewDataBinding.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/extensions-support/library/src/main/java/android/databinding/ViewDataBinding.java b/extensions-support/library/src/main/java/android/databinding/ViewDataBinding.java
index 18378e0e..41858008 100644
--- a/extensions-support/library/src/main/java/android/databinding/ViewDataBinding.java
+++ b/extensions-support/library/src/main/java/android/databinding/ViewDataBinding.java
@@ -1588,7 +1588,9 @@ public abstract class ViewDataBinding extends BaseObservable {
@Override
public void onChanged(@Nullable Object o) {
ViewDataBinding binder = mListener.getBinder();
- binder.handleFieldChange(mListener.mLocalFieldId, mListener.getTarget(), 0);
+ if (binder != null) {
+ binder.handleFieldChange(mListener.mLocalFieldId, mListener.getTarget(), 0);
+ }
}
}