Chromium Code Reviews| 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..aad181c8c1d33b563d4e3f12072dfb5232810ad0 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 |
| @@ -6,31 +6,20 @@ package org.chromium.chrome.browser.preferences; |
| 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.LinearLayout.LayoutParams; |
| 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 { |
| + private static final int PADDING_TOP = 6; |
| private ListView mListView; |
| - private View mCancelButton; |
| - private View mSaveButton; |
| - private View mDivider; |
| private SearchEngineAdapter mSearchEngineAdapter; |
| - private int mSelectedIndex; |
| @VisibleForTesting |
| String getValueForTesting() { |
| @@ -38,78 +27,34 @@ 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.getKeywordForTesting(index); |
| } |
| @Override |
| public void onCreate(Bundle savedInstanceState) { |
| super.onCreate(savedInstanceState); |
| getActivity().setTitle(R.string.prefs_search_engine); |
| - mSearchEngineAdapter = new SearchEngineAdapter(getActivity(), this); |
| - } |
| - |
| - @Override |
| - public View onCreateView( |
| - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { |
| - View view = inflater.inflate(R.layout.search_engine_layout, container, false); |
| - 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; |
| + mSearchEngineAdapter = new SearchEngineAdapter(getActivity()); |
| } |
| @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(); |
| - } |
| + mListView = (ListView) getView().findViewById(android.R.id.list); |
| + float density = getActivity().getResources().getDisplayMetrics().density; |
| + int paddingTop = (int) (density * PADDING_TOP); |
|
Ian Wen
2016/10/28 22:17:39
Don't do this... Add the padding into dimens.xml a
ltian
2016/10/31 21:40:16
Done.
|
| + LayoutParams layoutParams = |
| + new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); |
| + layoutParams.setMargins(0, paddingTop, 0, 0); |
|
Ian Wen
2016/10/28 22:17:39
Also if this is used as margin, the variable name
ltian
2016/10/31 21:40:17
Done.
|
| + mListView.setLayoutParams(layoutParams); |
| + mListView.setAdapter(mSearchEngineAdapter); |
| + mListView.setDivider(null); |
| } |
| @Override |