Fixed search engine name shown in browser settings

- Browser was using Android default search engine app
  to show the name of search engine in its settings.

Change-Id: Ib57115c6064f1ea5156d6c7eb492ab06ed09dbc8
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index af2fbfa..17a98ac 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -40,9 +40,6 @@
 import android.view.Window;
 
 import org.chromium.base.VisibleForTesting;
-import com.android.browser.R;
-import com.android.browser.search.DefaultSearchEngine;
-import com.android.browser.search.SearchEngine;
 import com.android.browser.stub.NullController;
 
 import java.util.Locale;
@@ -108,17 +105,6 @@
             bar.hide();
         }
 
-        // If this was a web search request, pass it on to the default web
-        // search provider and finish this activity.
-        /*
-        SearchEngine searchEngine = BrowserSettings.getInstance().getSearchEngine();
-        boolean result = IntentHandler.handleWebSearchIntent(this, null, getIntent());
-        if (result && (searchEngine instanceof DefaultSearchEngine)) {
-            finish();
-            return;
-        }
-        */
-
         mActivityScheduler = EngineInitializer.onActivityCreate(BrowserActivity.this);
 
         Thread.setDefaultUncaughtExceptionHandler(new CrashLogExceptionHandler(this));
diff --git a/src/com/android/browser/search/DefaultSearchEngine.java b/src/com/android/browser/search/DefaultSearchEngine.java
deleted file mode 100644
index 41bd238..0000000
--- a/src/com/android/browser/search/DefaultSearchEngine.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.browser.search;
-
-import android.app.PendingIntent;
-import android.app.SearchManager;
-import android.app.SearchableInfo;
-import android.content.ActivityNotFoundException;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageManager;
-import android.database.Cursor;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.android.browser.platformsupport.Browser;
-import com.android.browser.reflect.ReflectHelper;
-
-public class DefaultSearchEngine implements SearchEngine {
-
-    private static final String TAG = "DefaultSearchEngine";
-
-    private final SearchableInfo mSearchable;
-
-    private final CharSequence mLabel;
-
-    private DefaultSearchEngine(Context context, SearchableInfo searchable) {
-        mSearchable = searchable;
-        mLabel = loadLabel(context, mSearchable.getSearchActivity());
-    }
-
-    public static DefaultSearchEngine create(Context context) {
-        SearchManager searchManager =
-                (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
-        ComponentName name = (ComponentName) ReflectHelper.invokeMethod(
-                              searchManager, "getWebSearchActivity", null, null);
-
-        if (name == null) return null;
-        SearchableInfo searchable = searchManager.getSearchableInfo(name);
-        if (searchable == null) return null;
-        return new DefaultSearchEngine(context, searchable);
-    }
-
-    private CharSequence loadLabel(Context context, ComponentName activityName) {
-        PackageManager pm = context.getPackageManager();
-        try {
-            ActivityInfo ai = pm.getActivityInfo(activityName, 0);
-            return ai.loadLabel(pm);
-        } catch (PackageManager.NameNotFoundException ex) {
-            Log.e(TAG, "Web search activity not found: " + activityName);
-            return null;
-        }
-    }
-
-    public String getName() {
-        String packageName = mSearchable.getSearchActivity().getPackageName();
-        // Use "google" as name to avoid showing Google twice (app + OpenSearch)
-        if ("com.google.android.googlequicksearchbox".equals(packageName)) {
-            return SearchEngine.GOOGLE;
-        } else if ("com.android.quicksearchbox".equals(packageName)) {
-            return SearchEngine.GOOGLE;
-        } else {
-            return packageName;
-        }
-    }
-
-    public CharSequence getLabel() {
-        return mLabel;
-    }
-
-    public void startSearch(Context context, String query,
-                            Bundle appData, String extraData) {
-        try {
-            Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
-            intent.setComponent(mSearchable.getSearchActivity());
-            intent.addCategory(Intent.CATEGORY_DEFAULT);
-            intent.putExtra(SearchManager.QUERY, query);
-            if (appData != null) {
-                intent.putExtra(SearchManager.APP_DATA, appData);
-            }
-            if (extraData != null) {
-                intent.putExtra(SearchManager.EXTRA_DATA_KEY, extraData);
-            }
-            intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
-            Intent viewIntent = new Intent(Intent.ACTION_VIEW);
-            viewIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            viewIntent.setPackage(context.getPackageName());
-            PendingIntent pending = PendingIntent.getActivity(context, 0, viewIntent,
-                    PendingIntent.FLAG_ONE_SHOT);
-            intent.putExtra(SearchManager.EXTRA_WEB_SEARCH_PENDINGINTENT, pending);
-            context.startActivity(intent);
-        } catch (ActivityNotFoundException ex) {
-            Log.e(TAG, "Web search activity not found: " +
-                        mSearchable.getSearchActivity());
-        }
-    }
-
-    public Cursor getSuggestions(Context context, String query) {
-        SearchManager searchManager =
-                (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
-        Object[] params  = {mSearchable, query};
-        Class[] type = new Class[] {SearchableInfo.class, String.class};
-        Cursor cursor = (Cursor) ReflectHelper.invokeMethod(
-                                   searchManager, "getSuggestions", type, params);
-        return cursor;
-    }
-
-    public boolean supportsSuggestions() {
-        return !TextUtils.isEmpty(mSearchable.getSuggestAuthority());
-    }
-
-    public void close() {
-    }
-
-    @Override
-    public String toString() {
-        return "ActivitySearchEngine{" + mSearchable + "}";
-    }
-
-    @Override
-    public boolean wantsEmptyQuery() {
-        return false;
-    }
-
-}
diff --git a/src/com/android/browser/search/SearchEnginePreference.java b/src/com/android/browser/search/SearchEnginePreference.java
index a129ef1..579160e 100644
--- a/src/com/android/browser/search/SearchEnginePreference.java
+++ b/src/com/android/browser/search/SearchEnginePreference.java
@@ -18,15 +18,9 @@
 import com.android.browser.R;
 import com.android.browser.mdm.SearchEngineRestriction;
 
-import android.app.SearchManager;
-import android.content.ComponentName;
 import android.content.Context;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
 import android.preference.ListPreference;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.View;
 import android.widget.Toast;
 
@@ -42,14 +36,6 @@
         ArrayList<CharSequence> entryValues = new ArrayList<CharSequence>();
         ArrayList<CharSequence> entries = new ArrayList<CharSequence>();
 
-        SearchEngine defaultSearchEngine = SearchEngines.getDefaultSearchEngine(context);
-        String defaultSearchEngineName = null;
-        if (defaultSearchEngine != null) {
-            defaultSearchEngineName = defaultSearchEngine.getName();
-            entryValues.add(defaultSearchEngineName);
-            entries.add(defaultSearchEngine.getLabel());
-        }
-
         SearchEngineInfo managedSearchEngineInfo = SearchEngineRestriction.getInstance()
                 .getSearchEngineInfo();
 
@@ -61,10 +47,8 @@
             for (SearchEngineInfo searchEngineInfo : SearchEngines.getSearchEngineInfos(context)) {
                 String name = searchEngineInfo.getName();
                 // Skip entry if name is same as the default or the managed
-                if (!name.equals(defaultSearchEngineName)) {
-                    entryValues.add(name);
-                    entries.add(searchEngineInfo.getLabel());
-                }
+                entryValues.add(name);
+                entries.add(searchEngineInfo.getLabel());
             }
         }
 
diff --git a/src/com/android/browser/search/SearchEngines.java b/src/com/android/browser/search/SearchEngines.java
index 64497c3..9a196a6 100644
--- a/src/com/android/browser/search/SearchEngines.java
+++ b/src/com/android/browser/search/SearchEngines.java
@@ -17,7 +17,6 @@
 
 import com.android.browser.R;
 import android.content.Context;
-import android.content.res.Resources;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -29,10 +28,6 @@
 
     private static final String TAG = "SearchEngines";
 
-    public static SearchEngine getDefaultSearchEngine(Context context) {
-        return DefaultSearchEngine.create(context);
-    }
-
     public static List<SearchEngineInfo> getSearchEngineInfos(Context context) {
         ArrayList<SearchEngineInfo> searchEngineInfos = new ArrayList<SearchEngineInfo>();
         String[] searchEngines = context.getResources().getStringArray(R.array.search_engines);
@@ -46,13 +41,11 @@
 
     public static SearchEngine get(Context context, String name) {
         // TODO: cache
-        SearchEngine defaultSearchEngine = getDefaultSearchEngine(context);
-        if (TextUtils.isEmpty(name)
-                || (defaultSearchEngine != null && name.equals(defaultSearchEngine.getName()))) {
-            return defaultSearchEngine;
+        if (TextUtils.isEmpty(name)) {
+            return null;
         }
         SearchEngineInfo searchEngineInfo = getSearchEngineInfo(context, name);
-        if (searchEngineInfo == null) return defaultSearchEngine;
+        if (searchEngineInfo == null) return null;
         return new OpenSearchSearchEngine(context, searchEngineInfo);
     }