Fix ItemBridgeAdapter NPE
Bug 23974032
Change-Id: I37df73a76c2524b8d038e3517e3f58127c31bf21
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/ItemBridgeAdapter.java b/v17/leanback/src/android/support/v17/leanback/widget/ItemBridgeAdapter.java
index 8e3aea3..57e8bfe 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/ItemBridgeAdapter.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/ItemBridgeAdapter.java
@@ -177,11 +177,15 @@
* Sets the {@link ObjectAdapter}.
*/
public void setAdapter(ObjectAdapter adapter) {
+ if (adapter == mAdapter) {
+ return;
+ }
if (mAdapter != null) {
mAdapter.unregisterObserver(mDataObserver);
}
mAdapter = adapter;
if (mAdapter == null) {
+ notifyDataSetChanged();
return;
}
@@ -189,6 +193,7 @@
if (hasStableIds() != mAdapter.hasStableIds()) {
setHasStableIds(mAdapter.hasStableIds());
}
+ notifyDataSetChanged();
}
/**
@@ -233,7 +238,7 @@
@Override
public int getItemCount() {
- return mAdapter.size();
+ return mAdapter != null ? mAdapter.size() : 0;
}
@Override