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