Merge \"leanback: SearchOrbView should not show when no listener is set\" into nyc-dev
am: 2cb2e5ee7f
Change-Id: I1106a0a0e88beb4cbc49c0d8984ecb53e5ca0fbd
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java b/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java
index 10b8727..2f315f7 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/SearchOrbView.java
@@ -277,11 +277,6 @@
*/
public void setOnOrbClickedListener(OnClickListener listener) {
mListener = listener;
- if (null != listener) {
- setVisibility(View.VISIBLE);
- } else {
- setVisibility(View.INVISIBLE);
- }
}
/**
diff --git a/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java b/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
index f9baf71..574d1c7 100644
--- a/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
+++ b/v17/leanback/src/android/support/v17/leanback/widget/TitleView.java
@@ -36,6 +36,7 @@
private TextView mTextView;
private SearchOrbView mSearchOrbView;
private int flags = FULL_VIEW_VISIBLE;
+ private boolean mHasSearchListener = false;
private final TitleViewAdapter mTitleViewAdapter = new TitleViewAdapter() {
@Override
@@ -146,7 +147,9 @@
* Sets the listener to be called when the search affordance is clicked.
*/
public void setOnSearchClickedListener(View.OnClickListener listener) {
+ mHasSearchListener = listener != null;
mSearchOrbView.setOnOrbClickedListener(listener);
+ updateSearchOrbViewVisiblity();
}
/**
@@ -195,8 +198,11 @@
mBadgeView.setVisibility(View.GONE);
mTextView.setVisibility(View.GONE);
}
+ updateSearchOrbViewVisiblity();
+ }
- int visibility = (flags & SEARCH_VIEW_VISIBLE) == SEARCH_VIEW_VISIBLE
+ private void updateSearchOrbViewVisiblity() {
+ int visibility = mHasSearchListener && (flags & SEARCH_VIEW_VISIBLE) == SEARCH_VIEW_VISIBLE
? View.VISIBLE : View.INVISIBLE;
mSearchOrbView.setVisibility(visibility);
}