Bug 882716 - Add getFaviconBytesForUrl() to BrowserDB (r=wesj)

This commit is contained in:
Lucas Rocha 2013-07-08 23:02:02 +01:00
parent fb8c9057be
commit 409adff3f7
2 changed files with 35 additions and 15 deletions

View File

@ -87,6 +87,8 @@ public class BrowserDB {
public Bitmap getFaviconForUrl(ContentResolver cr, String uri);
public byte[] getFaviconBytesForUrl(ContentResolver cr, String uri);
public Cursor getFaviconsForUrls(ContentResolver cr, List<String> urls);
public String getFaviconUrlForHistoryUrl(ContentResolver cr, String url);
@ -237,6 +239,10 @@ public class BrowserDB {
return sDb.getFaviconForUrl(cr, uri);
}
public static byte[] getFaviconBytesForUrl(ContentResolver cr, String uri) {
return sDb.getFaviconBytesForUrl(cr, uri);
}
public static Cursor getFaviconsForUrls(ContentResolver cr, List<String> urls) {
return sDb.getFaviconsForUrls(cr, urls);
}

View File

@ -686,27 +686,41 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
@Override
public Bitmap getFaviconForUrl(ContentResolver cr, String uri) {
Cursor c = cr.query(mCombinedUriWithProfile,
new String[] { Combined.FAVICON },
Combined.URL + " = ?",
new String[] { uri },
null);
if (!c.moveToFirst()) {
c.close();
final byte[] b = getFaviconBytesForUrl(cr, uri);
if (b == null || b.length == 0) {
return null;
}
int faviconIndex = c.getColumnIndexOrThrow(Combined.FAVICON);
byte[] b = c.getBlob(faviconIndex);
c.close();
if (b == null || b.length == 0)
return null;
return BitmapUtils.decodeByteArray(b);
}
@Override
public byte[] getFaviconBytesForUrl(ContentResolver cr, String uri) {
Cursor c = null;
byte[] b = null;
try {
c = cr.query(mCombinedUriWithProfile,
new String[] { Combined.FAVICON },
Combined.URL + " = ?",
new String[] { uri },
null);
if (!c.moveToFirst()) {
return null;
}
final int faviconIndex = c.getColumnIndexOrThrow(Combined.FAVICON);
b = c.getBlob(faviconIndex);
} finally {
if (c != null) {
c.close();
}
}
return b;
}
@Override
public String getFaviconUrlForHistoryUrl(ContentResolver cr, String uri) {
Cursor c = cr.query(mHistoryUriWithProfile,