From 4073074eb65c1e6330a8d0905426bc7780ed3ec8 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Tue, 2 Jun 2015 17:19:58 -0700 Subject: [PATCH] Bug 1170824 - Hide search engine bar if no non-primary search engine is available. r=mcomella --- mobile/android/base/home/BrowserSearch.java | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/mobile/android/base/home/BrowserSearch.java b/mobile/android/base/home/BrowserSearch.java index aec7836adda..f0dbefedfb9 100644 --- a/mobile/android/base/home/BrowserSearch.java +++ b/mobile/android/base/home/BrowserSearch.java @@ -345,9 +345,7 @@ public class BrowserSearch extends HomeFragment // If the view backed by this Fragment is being recreated, we will not receive // a new search engine data event so refresh the new search engine bar's data // & Views with the data we have. - mSearchEngineBar.setSearchEngines( - mSearchEngines.subList(getPrimaryEngineCount(), mSearchEngines.size()) - ); + updateSearchEngineBar(); mSearchEngineBar.setOnSearchBarClickListener(this); } @@ -586,9 +584,7 @@ public class BrowserSearch extends HomeFragment mAdapter.notifyDataSetChanged(); } - mSearchEngineBar.setSearchEngines( - mSearchEngines.subList(getPrimaryEngineCount(), mSearchEngines.size()) - ); + updateSearchEngineBar(); // Show suggestions opt-in prompt only if suggestions are not enabled yet, // user hasn't been prompted and we're not on a private browsing tab. @@ -602,6 +598,19 @@ public class BrowserSearch extends HomeFragment filterSuggestions(); } + private void updateSearchEngineBar() { + final int primaryEngineCount = getPrimaryEngineCount(); + + if (primaryEngineCount < mSearchEngines.size()) { + mSearchEngineBar.setSearchEngines( + mSearchEngines.subList(primaryEngineCount, mSearchEngines.size()) + ); + mSearchEngineBar.setVisibility(View.VISIBLE); + } else { + mSearchEngineBar.setVisibility(View.GONE); + } + } + @Override public void onSearchBarClickListener(final SearchEngine searchEngine) { Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.LIST_ITEM,