Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreferences.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreferences.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9abdc85e0a8518ccb3bf827d76bba2e6b70c4637 |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/SearchEnginePreferences.java |
@@ -0,0 +1,78 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+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.ViewGroup; |
+import android.widget.Button; |
+import android.widget.ListView; |
+ |
+import org.chromium.chrome.R; |
+import org.chromium.chrome.browser.search_engines.TemplateUrlService; |
+ |
+/** |
+* A custom preference fragment for selecting a default search engine. |
Ian Wen
2016/09/23 20:43:25
Remove "custom"?
ltian
2016/09/23 21:32:05
Done.
|
+*/ |
+public class SearchEnginePreferences extends PreferenceFragment |
+ implements View.OnClickListener, SearchEngineAdapter.SelectSearchEngineCallback { |
+ static final String PREF_SEARCH_ENGINE = "search_engine"; |
+ |
+ private ListView mListView; |
+ private Button mCancelButton; |
+ private Button mSaveButton; |
+ |
+ private SearchEngineAdapter mSearchEngineAdapter; |
+ private int mSelectedIndex; |
+ |
+ @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); |
+ mCancelButton = (Button) view.findViewById(R.id.cancel_button); |
Ian Wen
2016/09/23 20:43:25
You don't need to cast it to Button, as a normal v
ltian
2016/09/23 21:32:05
Done.
|
+ mCancelButton.setOnClickListener(this); |
+ mSaveButton = (Button) view.findViewById(R.id.save_button); |
+ mSaveButton.setOnClickListener(this); |
+ return view; |
+ } |
+ |
+ @Override |
+ public void onActivityCreated(Bundle savedInstanceState) { |
+ super.onActivityCreated(savedInstanceState); |
+ } |
+ |
+ @Override |
+ public void onClick(View v) { |
+ if (v.getId() == R.id.cancel_button) { |
+ getActivity().finish(); |
+ } else if (v.getId() == R.id.save_button) { |
+ TemplateUrlService.getInstance().setSearchEngine(mSelectedIndex); |
+ getActivity().finish(); |
+ } |
+ } |
+ |
+ @Override |
+ public void currentSearchEngineDetermined(int selectedIndex) { |
+ mSelectedIndex = selectedIndex; |
+ } |
+ |
+ @Override |
+ public void onResume() { |
+ super.onResume(); |
+ mSearchEngineAdapter.notifyDataSetChanged(); |
+ } |
+} |