Merge "Re-add volume slider to the MediaRouteControllerDialog" into lmp-mr1-ub-dev
diff --git a/v17/leanback/src/android/support/v17/leanback/app/SearchFragment.java b/v17/leanback/src/android/support/v17/leanback/app/SearchFragment.java
index cfade32..fc93625 100644
--- a/v17/leanback/src/android/support/v17/leanback/app/SearchFragment.java
+++ b/v17/leanback/src/android/support/v17/leanback/app/SearchFragment.java
@@ -306,7 +306,7 @@
         mRowsFragment.setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
             @Override
             public void onItemSelected(ViewHolder itemViewHolder, Object item,
-                    RowPresenter.ViewHolder rowViewHolder, Row row) {
+                                       RowPresenter.ViewHolder rowViewHolder, Row row) {
                 int position = mRowsFragment.getVerticalGridView().getSelectedPosition();
                 if (DEBUG) Log.v(TAG, String.format("onItemSelected %d", position));
                 mSearchBar.setVisibility(0 >= position ? View.VISIBLE : View.GONE);
@@ -316,18 +316,7 @@
                 }
             }
         });
-        mRowsFragment.setOnItemViewClickedListener(new OnItemViewClickedListener() {
-            @Override
-            public void onItemClicked(ViewHolder itemViewHolder, Object item,
-                    RowPresenter.ViewHolder rowViewHolder, Row row) {
-                int position = mRowsFragment.getVerticalGridView().getSelectedPosition();
-                if (DEBUG) Log.v(TAG, String.format("onItemClicked %d", position));
-                if (null != mOnItemViewClickedListener) {
-                    mOnItemViewClickedListener.onItemClicked(itemViewHolder, item,
-                            rowViewHolder, row);
-                }
-            }
-        });
+        mRowsFragment.setOnItemViewClickedListener(mOnItemViewClickedListener);
         mRowsFragment.setExpand(true);
         if (null != mProvider) {
             onSetSearchResultProvider();
@@ -426,7 +415,12 @@
      *        the search results is clicked.
      */
     public void setOnItemViewClickedListener(OnItemViewClickedListener listener) {
-        mOnItemViewClickedListener = listener;
+        if (listener != mOnItemViewClickedListener) {
+            mOnItemViewClickedListener = listener;
+            if (mRowsFragment != null) {
+                mRowsFragment.setOnItemViewClickedListener(mOnItemViewClickedListener);
+            }
+        }
     }
 
     /**
diff --git a/v17/leanback/src/android/support/v17/leanback/app/SearchSupportFragment.java b/v17/leanback/src/android/support/v17/leanback/app/SearchSupportFragment.java
index 12c3372..e06f7e8 100644
--- a/v17/leanback/src/android/support/v17/leanback/app/SearchSupportFragment.java
+++ b/v17/leanback/src/android/support/v17/leanback/app/SearchSupportFragment.java
@@ -308,7 +308,7 @@
         mRowsSupportFragment.setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
             @Override
             public void onItemSelected(ViewHolder itemViewHolder, Object item,
-                    RowPresenter.ViewHolder rowViewHolder, Row row) {
+                                       RowPresenter.ViewHolder rowViewHolder, Row row) {
                 int position = mRowsSupportFragment.getVerticalGridView().getSelectedPosition();
                 if (DEBUG) Log.v(TAG, String.format("onItemSelected %d", position));
                 mSearchBar.setVisibility(0 >= position ? View.VISIBLE : View.GONE);
@@ -318,18 +318,7 @@
                 }
             }
         });
-        mRowsSupportFragment.setOnItemViewClickedListener(new OnItemViewClickedListener() {
-            @Override
-            public void onItemClicked(ViewHolder itemViewHolder, Object item,
-                    RowPresenter.ViewHolder rowViewHolder, Row row) {
-                int position = mRowsSupportFragment.getVerticalGridView().getSelectedPosition();
-                if (DEBUG) Log.v(TAG, String.format("onItemClicked %d", position));
-                if (null != mOnItemViewClickedListener) {
-                    mOnItemViewClickedListener.onItemClicked(itemViewHolder, item,
-                            rowViewHolder, row);
-                }
-            }
-        });
+        mRowsSupportFragment.setOnItemViewClickedListener(mOnItemViewClickedListener);
         mRowsSupportFragment.setExpand(true);
         if (null != mProvider) {
             onSetSearchResultProvider();
@@ -428,7 +417,12 @@
      *        the search results is clicked.
      */
     public void setOnItemViewClickedListener(OnItemViewClickedListener listener) {
-        mOnItemViewClickedListener = listener;
+        if (listener != mOnItemViewClickedListener) {
+            mOnItemViewClickedListener = listener;
+            if (mRowsSupportFragment != null) {
+                mRowsSupportFragment.setOnItemViewClickedListener(mOnItemViewClickedListener);
+            }
+        }
     }
 
     /**