am 23cbeb79: DO NOT MERGE remove save/restore picture from browser app

Merge commit '23cbeb795fe865a5c64f275bf51217fb55363cc0' into gingerbread-plus-aosp

* commit '23cbeb795fe865a5c64f275bf51217fb55363cc0':
  DO NOT MERGE
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/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 22a0b1f..e356dff 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -638,7 +638,13 @@
             intent.putExtra(SearchManager.EXTRA_DATA_KEY, extraData);
         }
         intent.putExtra(Browser.EXTRA_APPLICATION_ID, getPackageName());
-        startActivity(intent);
+
+        // can't be sure there is an activity for the Intent
+        try {
+            startActivity(intent);
+        } catch (ActivityNotFoundException ex) {
+            return false;
+        }
 
         return true;
     }
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 b2269a2..7f9611d 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -1034,7 +1034,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);
             }
         }