diff options
author | Yigit Boyar <yboyar@google.com> | 2019-01-02 10:32:36 -0800 |
---|---|---|
committer | Yigit Boyar <yboyar@google.com> | 2019-01-09 00:24:52 +0000 |
commit | 53ba40a0db23d05829ae52939bb1bef2adb74718 (patch) | |
tree | 7e38ceb4db5320687508fdf0e600968ecb5913e9 /extensions-support/library | |
parent | 8b1320cf5ebd8973ccbdb08165a427089ac07da5 (diff) | |
download | data-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.java | 4 |
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); + } } } |