eclair snapshot
diff --git a/src/com/android/browser/MostVisitedActivity.java b/src/com/android/browser/MostVisitedActivity.java
index 83342a1..d03c7a3 100644
--- a/src/com/android/browser/MostVisitedActivity.java
+++ b/src/com/android/browser/MostVisitedActivity.java
@@ -23,6 +23,7 @@
import android.database.Cursor;
import android.database.DataSetObserver;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.provider.Browser;
@@ -35,6 +36,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
+import android.view.ViewStub;
import java.util.Vector;
@@ -49,12 +51,11 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAdapter = new MyAdapter();
- CombinedBookmarkHistoryActivity.getIconListenerSet(getContentResolver())
+ CombinedBookmarkHistoryActivity.getIconListenerSet()
.addListener(mIconReceiver);
setListAdapter(mAdapter);
ListView list = getListView();
- LayoutInflater factory = LayoutInflater.from(this);
- View v = factory.inflate(R.layout.empty_history, null);
+ View v = new ViewStub(this, R.layout.empty_history);
addContentView(v, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
list.setEmptyView(v);
@@ -63,7 +64,7 @@
@Override
protected void onDestroy() {
super.onDestroy();
- CombinedBookmarkHistoryActivity.getIconListenerSet(getContentResolver())
+ CombinedBookmarkHistoryActivity.getIconListenerSet()
.removeListener(mIconReceiver);
}
@@ -94,16 +95,18 @@
private Vector<DataSetObserver> mObservers;
private Cursor mCursor;
// These correspond with projection below.
- private final int mUrlIndex = 0;
- private final int mTitleIndex = 1;
- private final int mBookmarkIndex = 2;
+ private static final int mUrlIndex = 0;
+ private static final int mTitleIndex = 1;
+ private static final int mBookmarkIndex = 2;
+ private static final int mFaviconIndex = 3;
MyAdapter() {
mObservers = new Vector<DataSetObserver>();
String[] projection = new String[] {
Browser.BookmarkColumns.URL,
Browser.BookmarkColumns.TITLE,
- Browser.BookmarkColumns.BOOKMARK };
+ Browser.BookmarkColumns.BOOKMARK,
+ Browser.BookmarkColumns.FAVICON };
String whereClause = Browser.BookmarkColumns.VISITS + " != 0";
String orderBy = Browser.BookmarkColumns.VISITS + " DESC";
mCursor = managedQuery(Browser.BOOKMARKS_URI, projection,
@@ -145,8 +148,14 @@
item.setName(mCursor.getString(mTitleIndex));
String url = mCursor.getString(mUrlIndex);
item.setUrl(url);
- item.setFavicon(CombinedBookmarkHistoryActivity.getIconListenerSet(
- getContentResolver()).getFavicon(url));
+ byte[] data = mCursor.getBlob(mFaviconIndex);
+ if (data != null) {
+ item.setFavicon(BitmapFactory.decodeByteArray(data, 0,
+ data.length));
+ } else {
+ item.setFavicon(CombinedBookmarkHistoryActivity
+ .getIconListenerSet().getFavicon(url));
+ }
item.setIsBookmark(1 == mCursor.getInt(mBookmarkIndex));
return item;
}