fix phone titlebar

Change-Id: I76908b1cf4eb61f64c3531c75e589f1b80bdaaba
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index e2e313e..20195ad 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -26,7 +26,11 @@
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.graphics.Color;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
+import android.graphics.drawable.PaintDrawable;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
@@ -74,6 +78,7 @@
 
     private Drawable mSecLockIcon;
     private Drawable mMixLockIcon;
+    protected Drawable mGenericFavicon;
 
     private FrameLayout mBrowserFrameLayout;
     protected FrameLayout mContentView;
@@ -88,6 +93,7 @@
 
     private Toast mStopToast;
 
+
     // the default <video> poster
     private Bitmap mDefaultVideoPoster;
     // the video progress view
@@ -117,6 +123,8 @@
                 .findViewById(R.id.fullscreen_custom_content);
         frameLayout.addView(mBrowserFrameLayout, COVER_SCREEN_PARAMS);
         setFullscreen(BrowserSettings.getInstance().useFullscreen());
+        mGenericFavicon = res.getDrawable(
+                R.drawable.app_web_browser_sm);
     }
 
     @Override
@@ -795,4 +803,20 @@
         }
     }
 
+    protected Drawable getFaviconDrawable(Bitmap icon) {
+        Drawable[] array = new Drawable[3];
+        array[0] = new PaintDrawable(Color.BLACK);
+        PaintDrawable p = new PaintDrawable(Color.WHITE);
+        array[1] = p;
+        if (icon == null) {
+            array[2] = mGenericFavicon;
+        } else {
+            array[2] = new BitmapDrawable(icon);
+        }
+        LayerDrawable d = new LayerDrawable(array);
+        d.setLayerInset(1, 1, 1, 1, 1);
+        d.setLayerInset(2, 2, 2, 2, 2);
+        return d;
+    }
+
 }
diff --git a/src/com/android/browser/NavScreen.java b/src/com/android/browser/NavScreen.java
index c61c39f..e636b2b 100644
--- a/src/com/android/browser/NavScreen.java
+++ b/src/com/android/browser/NavScreen.java
@@ -297,13 +297,12 @@
             } else {
                 content = (ImageView) convertView.findViewById(R.id.content);
             }
+            View tbar = convertView.findViewById(R.id.titlebar);
             TextView title = (TextView) convertView.findViewById(R.id.title);
             ImageView icon = (ImageView) convertView.findViewById(R.id.favicon);
             ImageButton close = (ImageButton) convertView.findViewById(R.id.closetab);
             final Tab tab = getItem(position);
-            if (tab.getFavicon() != null) {
-                icon.setImageBitmap(tab.getFavicon());
-            }
+            icon.setImageDrawable(mUi.getFaviconDrawable(tab.getFavicon()));
             title.setText(tab.getUrl());
             Bitmap screen = tab.getScreenshot();
             content.setImageBitmap(screen);
@@ -313,7 +312,7 @@
                     onCloseTab(tab);
                 }
             });
-            title.setOnClickListener(new OnClickListener() {
+            tbar.setOnClickListener(new OnClickListener() {
                 @Override
                 public void onClick(View v) {
                     close(false);
diff --git a/src/com/android/browser/TitleBarBase.java b/src/com/android/browser/TitleBarBase.java
index 284fe12..7897b65 100644
--- a/src/com/android/browser/TitleBarBase.java
+++ b/src/com/android/browser/TitleBarBase.java
@@ -73,7 +73,6 @@
     protected ImageView mFavicon;
     protected ImageView mLockIcon;
 
-    protected Drawable mGenericFavicon;
     protected UiController mUiController;
     protected BaseUi mBaseUi;
     protected FrameLayout mParent;
@@ -106,8 +105,6 @@
         mUiController = controller;
         mBaseUi = ui;
         mParent = parent;
-        mGenericFavicon = context.getResources().getDrawable(
-                R.drawable.app_web_browser_sm);
     }
 
     protected void initLayout(Context context, int layoutId) {
@@ -311,20 +308,7 @@
     }
 
     /* package */ void setFavicon(Bitmap icon) {
-        assert mFavicon != null;
-        Drawable[] array = new Drawable[3];
-        array[0] = new PaintDrawable(Color.BLACK);
-        PaintDrawable p = new PaintDrawable(Color.WHITE);
-        array[1] = p;
-        if (icon == null) {
-            array[2] = mGenericFavicon;
-        } else {
-            array[2] = new BitmapDrawable(icon);
-        }
-        LayerDrawable d = new LayerDrawable(array);
-        d.setLayerInset(1, 1, 1, 1, 1);
-        d.setLayerInset(2, 2, 2, 2, 2);
-        mFavicon.setImageDrawable(d);
+        mFavicon.setImageDrawable(mBaseUi.getFaviconDrawable(icon));
     }
 
     public int getEmbeddedHeight() {
diff --git a/src/com/android/browser/TitleBarPhone.java b/src/com/android/browser/TitleBarPhone.java
index 0eb2d1a..9242f99 100644
--- a/src/com/android/browser/TitleBarPhone.java
+++ b/src/com/android/browser/TitleBarPhone.java
@@ -86,12 +86,10 @@
         super.setFocusState(focus);
         if (focus) {
             mHasLockIcon = (mLockIcon.getVisibility() == View.VISIBLE);
-            mFavicon.setVisibility(View.GONE);
             mLockIcon.setVisibility(View.GONE);
             mStopButton.setVisibility(View.GONE);
             mVoiceButton.setVisibility(View.VISIBLE);
         } else {
-            mFavicon.setVisibility(View.VISIBLE);
             mLockIcon.setVisibility(mHasLockIcon ? View.VISIBLE : View.GONE);
             if (mInLoad) {
                 mStopButton.setVisibility(View.VISIBLE);