| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java
|
| index 74e7253a7a3f4a56442b140ab1ca213441e5a86d..75a249be65a8f615ea60a0b9411c8d3a3a37bc17 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java
|
| @@ -8,29 +8,22 @@ import android.os.Bundle;
|
| import android.preference.PreferenceFragment;
|
| import android.view.LayoutInflater;
|
| import android.view.View;
|
| -import android.view.View.OnLayoutChangeListener;
|
| import android.view.ViewGroup;
|
| import android.widget.ListView;
|
|
|
| import org.chromium.base.VisibleForTesting;
|
| -import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.locale.LocaleManager;
|
| import org.chromium.chrome.browser.search_engines.TemplateUrlService;
|
|
|
| /**
|
| * A preference fragment for selecting a default search engine.
|
| */
|
| -public class SearchEnginePreference extends PreferenceFragment
|
| - implements View.OnClickListener, SearchEngineAdapter.SelectSearchEngineCallback,
|
| - OnLayoutChangeListener {
|
| +public class SearchEnginePreference
|
| + extends PreferenceFragment implements SearchEngineAdapter.SelectSearchEngineCallback {
|
| private ListView mListView;
|
| - private View mCancelButton;
|
| - private View mSaveButton;
|
| - private View mDivider;
|
|
|
| private SearchEngineAdapter mSearchEngineAdapter;
|
| - private int mSelectedIndex;
|
| + private String mSelectedKeyword;
|
|
|
| @VisibleForTesting
|
| String getValueForTesting() {
|
| @@ -38,9 +31,13 @@ public class SearchEnginePreference extends PreferenceFragment
|
| }
|
|
|
| @VisibleForTesting
|
| - void setValueForTesting(String value) {
|
| - mSearchEngineAdapter.setValueForTesting(value);
|
| - TemplateUrlService.getInstance().setSearchEngine(mSelectedIndex);
|
| + String setValueForTesting(String value) {
|
| + return mSearchEngineAdapter.setValueForTesting(value);
|
| + }
|
| +
|
| + @VisibleForTesting
|
| + String getKeywordFromIndexTesting(int index) {
|
| + return mSearchEngineAdapter.getKeywordFromIndex(index);
|
| }
|
|
|
| @Override
|
| @@ -57,59 +54,13 @@ public class SearchEnginePreference extends PreferenceFragment
|
| mListView = (ListView) view.findViewById(android.R.id.list);
|
| mListView.setAdapter(mSearchEngineAdapter);
|
| mListView.setDivider(null);
|
| - mListView.addOnLayoutChangeListener(this);
|
| - mCancelButton = view.findViewById(R.id.cancel_button);
|
| - mCancelButton.setOnClickListener(this);
|
| - mSaveButton = view.findViewById(R.id.save_button);
|
| - mSaveButton.setOnClickListener(this);
|
| - mDivider = view.findViewById(R.id.bottom_shadow);
|
| return view;
|
| }
|
|
|
| @Override
|
| - public void onActivityCreated(Bundle savedInstanceState) {
|
| - super.onActivityCreated(savedInstanceState);
|
| - }
|
| -
|
| - @Override
|
| - public void onClick(View v) {
|
| - if (v == mCancelButton) {
|
| - getActivity().finish();
|
| - } else if (v == mSaveButton) {
|
| - TemplateUrlService.getInstance().setSearchEngine(mSelectedIndex);
|
| - // If the user has manually set the default search engine, disable auto switching.
|
| - boolean manualSwitch = mSelectedIndex == mSearchEngineAdapter
|
| - .getInitialSearchEnginePosition();
|
| - if (manualSwitch) {
|
| - RecordUserAction.record("SearchEngine_ManualChange");
|
| - LocaleManager.getInstance().setSearchEngineAutoSwitch(false);
|
| - }
|
| - getActivity().finish();
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void currentSearchEngineDetermined(int selectedIndex) {
|
| - mSelectedIndex = selectedIndex;
|
| - }
|
| -
|
| - /**
|
| - * Displays the divider if the Listview is longer than its viewport.
|
| - */
|
| - public void updateBottombarDivider() {
|
| - if (mListView.getLastVisiblePosition() == mSearchEngineAdapter.getCount() - 1) {
|
| - mDivider.setVisibility(View.INVISIBLE);
|
| - } else {
|
| - mDivider.setVisibility(View.VISIBLE);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
|
| - int oldTop, int oldRight, int oldBottom) {
|
| - if (v == mListView) {
|
| - updateBottombarDivider();
|
| - }
|
| + public void currentSearchEngineDetermined(String selectedKeyword) {
|
| + mSelectedKeyword = selectedKeyword;
|
| + TemplateUrlService.getInstance().setSearchEngine(mSelectedKeyword);
|
| }
|
|
|
| @Override
|
|
|