diff options
author | Patrick Scott <phanna@android.com> | 2009-09-17 13:51:30 -0400 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2009-09-17 13:58:05 -0400 |
commit | 8f0076b720c9ee1e9ef9d29910c261634fd5fb25 (patch) | |
tree | 14e20312e0e49cb4112e548fca0873565fbf6ff0 /src/com/android/browser/BrowserBookmarksAdapter.java | |
parent | 799fccd2479184178e13c3342d3051b997893793 (diff) | |
download | packages_apps_browser-8f0076b720c9ee1e9ef9d29910c261634fd5fb25.zip packages_apps_browser-8f0076b720c9ee1e9ef9d29910c261634fd5fb25.tar.gz packages_apps_browser-8f0076b720c9ee1e9ef9d29910c261634fd5fb25.tar.bz2 |
Display favicons for history items.
Use the data from the java database before talking to the native database. The
bookmarks database may contain favicons that the native database does not have a
mapping for. Used the native icon database for recent history items since those
are not stored in the java db. Request the icons each time the activity is
created since the url->bitmap mapping is a global.
Diffstat (limited to 'src/com/android/browser/BrowserBookmarksAdapter.java')
-rw-r--r-- | src/com/android/browser/BrowserBookmarksAdapter.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/browser/BrowserBookmarksAdapter.java index a7fa19c..e2c09cf 100644 --- a/src/com/android/browser/BrowserBookmarksAdapter.java +++ b/src/com/android/browser/BrowserBookmarksAdapter.java @@ -383,11 +383,17 @@ class BrowserBookmarksAdapter extends BaseAdapter { /* package */ void populateBookmarkItem(BookmarkItem b, int position) { mCursor.moveToPosition(position - mExtraOffset); - b.setUrl(mCursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX)); + String url = mCursor.getString(Browser.HISTORY_PROJECTION_URL_INDEX); + b.setUrl(url); b.setName(mCursor.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX)); byte[] data = mCursor.getBlob(Browser.HISTORY_PROJECTION_FAVICON_INDEX); - Bitmap bitmap = (null == data) ? null : - BitmapFactory.decodeByteArray(data, 0, data.length); + Bitmap bitmap = null; + if (data == null) { + bitmap = CombinedBookmarkHistoryActivity.getIconListenerSet() + .getFavicon(url); + } else { + bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); + } b.setFavicon(bitmap); } @@ -544,7 +550,8 @@ class BrowserBookmarksAdapter extends BaseAdapter { if (data != null) { b.setFavicon(BitmapFactory.decodeByteArray(data, 0, data.length)); } else { - b.setFavicon(null); + b.setFavicon(CombinedBookmarkHistoryActivity.getIconListenerSet() + .getFavicon(url)); } } |