am 3c54806d: reconcile froyo-release into gingerbread

Merge commit '3c54806d6d99d53b3f8c737dc134806306c1b6c7' into gingerbread-plus-aosp

* commit '3c54806d6d99d53b3f8c737dc134806306c1b6c7':
  Import translations for search engine setting.  DO NOT MERGE
  Use translation from donut for "Set search engine."  DO NOT MERGE
  Default to Google if global search provider not present.
  Remove "Show web suggestions" from browser settings
  Send WEB_SEARCH intent straight to default search provider if selected
  Fix Google suggest and search URLs when Google Search is not installed
  Clear voice search mode when changing search engines.
  Fixes for changing the search engine.
  Add user-selected search providers to browser
diff --git a/res/layout/history_item.xml b/res/layout/history_item.xml
index 4522a75..a0b031a 100644
--- a/res/layout/history_item.xml
+++ b/res/layout/history_item.xml
@@ -19,10 +19,7 @@
         android:layout_height="wrap_content"
         android:minHeight="?android:attr/listPreferredItemHeight"
         android:orientation="horizontal"
-        android:paddingRight="6dip"
         android:paddingLeft="6dip"
-        android:paddingTop="5dip"
-        android:paddingBottom="5dip"
         android:gravity="center_vertical"
         >
     <ImageView android:id="@+id/favicon"
@@ -58,7 +55,8 @@
     </LinearLayout>
     <CheckBox android:id="@+id/star"
             android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_height="fill_parent"
+            android:paddingRight="6dip"
             android:focusable="false"
             android:button="@android:drawable/btn_star"
             />
diff --git a/src/com/android/browser/DownloadTouchIcon.java b/src/com/android/browser/DownloadTouchIcon.java
index b5369ae..14404ff 100644
--- a/src/com/android/browser/DownloadTouchIcon.java
+++ b/src/com/android/browser/DownloadTouchIcon.java
@@ -23,15 +23,18 @@
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.net.http.AndroidHttpClient;
+import android.net.Proxy;
 import android.os.AsyncTask;
 import android.provider.Browser;
 import android.webkit.WebView;
 
 
 import org.apache.http.HttpEntity;
+import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.params.HttpClientParams;
+import org.apache.http.conn.params.ConnRouteParams;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -43,10 +46,12 @@
     private final String mOriginalUrl;
     private final String mUrl;
     private final String mUserAgent;
+    private final BrowserActivity mActivity;
     /* package */ Tab mTab;
 
-    public DownloadTouchIcon(Tab tab, ContentResolver cr, WebView view) {
+    public DownloadTouchIcon(Tab tab, BrowserActivity activity, ContentResolver cr, WebView view) {
         mTab = tab;
+        mActivity = activity;
         mContentResolver = cr;
         // Store these in case they change.
         mOriginalUrl = view.getOriginalUrl();
@@ -56,6 +61,7 @@
 
     public DownloadTouchIcon(ContentResolver cr, String url) {
         mTab = null;
+        mActivity = null;
         mContentResolver = cr;
         mOriginalUrl = null;
         mUrl = url;
@@ -71,6 +77,11 @@
 
             AndroidHttpClient client = AndroidHttpClient.newInstance(
                     mUserAgent);
+            HttpHost httpHost = Proxy.getPreferredHttpHost(mActivity, url);
+            if (httpHost != null) {
+                ConnRouteParams.setDefaultProxy(client.getParams(), httpHost);
+            }
+
             HttpGet request = new HttpGet(url);
 
             // Follow redirects
diff --git a/src/com/android/browser/FetchUrlMimeType.java b/src/com/android/browser/FetchUrlMimeType.java
index 1e4debf..9bd0cf9 100644
--- a/src/com/android/browser/FetchUrlMimeType.java
+++ b/src/com/android/browser/FetchUrlMimeType.java
@@ -17,12 +17,15 @@
 package com.android.browser;
 
 import android.content.ContentValues;
+import android.net.Proxy;
 import android.net.Uri;
 import android.net.http.AndroidHttpClient;
 
+import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
 import org.apache.http.Header;
 import org.apache.http.client.methods.HttpHead;
+import org.apache.http.conn.params.ConnRouteParams;
 
 import java.io.IOException;
 
@@ -67,6 +70,10 @@
         // seems ok with that.
         AndroidHttpClient client = AndroidHttpClient.newInstance(
                 mValues.getAsString(Downloads.Impl.COLUMN_USER_AGENT));
+        HttpHost httpHost = Proxy.getPreferredHttpHost(mActivity, uri);
+        if (httpHost != null) {
+            ConnRouteParams.setDefaultProxy(client.getParams(), httpHost);
+        }
         HttpHead request = new HttpHead(uri);
 
         String cookie = mValues.getAsString(Downloads.Impl.COLUMN_COOKIE_DATA);
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index af0cdf8..7019c8a 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -1042,7 +1042,7 @@
             }
             // Have only one async task at a time.
             if (mTouchIconLoader == null) {
-                mTouchIconLoader = new DownloadTouchIcon(Tab.this, cr, view);
+                mTouchIconLoader = new DownloadTouchIcon(Tab.this, mActivity, cr, view);
                 mTouchIconLoader.execute(url);
             }
         }