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/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index 1183b70..bff7c79 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -47,6 +47,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.ContextMenu.ContextMenuInfo;
+import android.webkit.WebIconDatabase.IconListener;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListView;
@@ -373,6 +374,23 @@
if (mVerticalList != null) {
mVerticalList.setAdapter(mBookmarksAdapter);
}
+ // Add our own listener in case there are favicons that
+ // have yet to be loaded.
+ if (mMostVisited) {
+ IconListener listener = new IconListener() {
+ public void onReceivedIcon(String url,
+ Bitmap icon) {
+ if (mGridPage != null) {
+ mGridPage.setAdapter(mBookmarksAdapter);
+ }
+ if (mVerticalList != null) {
+ mVerticalList.setAdapter(mBookmarksAdapter);
+ }
+ }
+ };
+ CombinedBookmarkHistoryActivity.getIconListenerSet()
+ .addListener(listener);
+ }
break;
}
}