Request icons in the background.

BrowserBookmarksAdapter does not need to request bookmark icons as most of the
bookmarks have up-to-date icons. We still need to request all icons on start up
because a new icon may be loaded as a result of clicking a history items.

Move the icon request to a background thread to not block the ui thread on large
db lookups.

Remove MostVisitedActivity as it is no longer used.

Bug: 2496872
Change-Id: I378dce8fdb7e825da96594cd31b720ea24758af1
diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/browser/BrowserBookmarksAdapter.java
index 7b93fa1..4442c7f 100644
--- a/src/com/android/browser/BrowserBookmarksAdapter.java
+++ b/src/com/android/browser/BrowserBookmarksAdapter.java
@@ -34,7 +34,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.webkit.WebIconDatabase;
-import android.webkit.WebIconDatabase.IconListener;
 import android.webkit.WebView;
 import android.widget.BaseAdapter;
 import android.widget.ImageView;
@@ -57,16 +56,6 @@
     private boolean                 mNeedsOffset;
     private int                     mExtraOffset;
 
-    // Implementation of WebIconDatabase.IconListener
-    private class IconReceiver implements IconListener {
-        public void onReceivedIcon(String url, Bitmap icon) {
-            updateBookmarkFavicon(mContentResolver, null, url, icon);
-        }
-    }
-
-    // Instance of IconReceiver
-    private final IconReceiver mIconReceiver = new IconReceiver();
-
     /**
      *  Create a new BrowserBookmarksAdapter.
      *  @param b        BrowserBookmarksPage that instantiated this.
@@ -93,7 +82,7 @@
         if (mostVisited) {
             whereClause = Browser.BookmarkColumns.VISITS + " != 0";
         } else {
-            whereClause = Browser.BookmarkColumns.BOOKMARK + " != 0";
+            whereClause = Browser.BookmarkColumns.BOOKMARK + " = 1";
         }
         mCursor = b.managedQuery(Browser.BOOKMARKS_URI,
                 Browser.HISTORY_PROJECTION, whereClause, null, orderBy);
@@ -104,12 +93,6 @@
         notifyDataSetChanged();
 
         mCount = mCursor.getCount() + mExtraOffset;
-
-        // FIXME: This requires another query of the database after the
-        // managedQuery. Can we optimize this?
-        Browser.requestAllIcons(mContentResolver,
-                Browser.BookmarkColumns.FAVICON + " is NULL AND " +
-                Browser.BookmarkColumns.BOOKMARK + " == 1", mIconReceiver);
     }
     
     /**