Multiple fixes for Favicons

- Per Site Settings now uses SiteTiles and shows favicons
- New default Favicon
- Fixed missing Favicons on History items

Change-Id: Ia0317694ede81d62ce04e0693f9779f65030165c
diff --git a/src/com/android/browser/BrowserSnapshotPage.java b/src/com/android/browser/BrowserSnapshotPage.java
index c01691f..a5a3519 100644
--- a/src/com/android/browser/BrowserSnapshotPage.java
+++ b/src/com/android/browser/BrowserSnapshotPage.java
@@ -77,6 +77,7 @@
     private static final int SNAPSHOT_FAVICON = 4;
     private static final int SNAPSHOT_URL = 5;
     private static final int SNAPSHOT_DATE_CREATED = 6;
+    private static Bitmap sDefaultFavicon;
 
     GridView mGrid;
     View mEmpty;
@@ -98,6 +99,9 @@
             }
         }
         mAnimateId = getArguments().getLong(EXTRA_ANIMATE_ID);
+        if (sDefaultFavicon == null)
+            sDefaultFavicon = BitmapFactory.decodeResource(getResources(),
+                    R.drawable.ic_deco_favicon_normal);
     }
 
     @Override
@@ -190,7 +194,13 @@
     private void populateBookmarkItem(Cursor cursor, BookmarkItem item) {
         item.setName(cursor.getString(SNAPSHOT_TITLE));
         item.setUrl(cursor.getString(SNAPSHOT_URL));
-        item.setFavicon(getBitmap(cursor, SNAPSHOT_FAVICON));
+        Bitmap favicon = getBitmap(cursor, SNAPSHOT_FAVICON);
+        if (favicon != null) {
+            item.setFavicon(favicon);
+        } else {
+            item.setFavicon(sDefaultFavicon);
+        }
+
     }
 
     static Bitmap getBitmap(Cursor cursor, int columnIndex) {