summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/Bookmarks.java
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2009-09-17 16:57:40 +0100
committerBen Murdoch <benm@google.com>2009-09-24 21:30:24 +0100
commitaac7aa6fcfcb519755987ec126be066323f589c8 (patch)
treea6a48f5e8055dcfa0c45eae96002aad4557e605c /src/com/android/browser/Bookmarks.java
parentc6fa1104e549b8f5b89195d22c41059e77672dfa (diff)
downloadpackages_apps_Browser-aac7aa6fcfcb519755987ec126be066323f589c8.tar.gz
packages_apps_Browser-aac7aa6fcfcb519755987ec126be066323f589c8.tar.bz2
packages_apps_Browser-aac7aa6fcfcb519755987ec126be066323f589c8.zip
In the case of a page load error, save a second screenshot in onProgressChanged(100) to ensure that we save the substituted error page rather than the previous page that loaded. Also save the thumbnail for the page if the user creates the bookmark through the add bookmark menu or clicking the add bookmark icon on the bookmarks page.
Change-Id: Ib2b7692a45290f9ce372968e05cde8f6903e4572
Diffstat (limited to 'src/com/android/browser/Bookmarks.java')
-rw-r--r--src/com/android/browser/Bookmarks.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java
index 40aaa63dc..c8aaee700 100644
--- a/src/com/android/browser/Bookmarks.java
+++ b/src/com/android/browser/Bookmarks.java
@@ -21,12 +21,14 @@ import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
+import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.Browser;
import android.util.Log;
import android.webkit.WebIconDatabase;
import android.widget.Toast;
+import java.io.ByteArrayOutputStream;
import java.util.Date;
/**
@@ -47,13 +49,14 @@ import java.util.Date;
* @param cr The ContentResolver being used to add the bookmark to the db.
* @param url URL of the website to be bookmarked.
* @param name Provided name for the bookmark.
+ * @param thumbnail A thumbnail for the bookmark.
* @param retainIcon Whether to retain the page's icon in the icon database.
* This will usually be <code>true</code> except when bookmarks are
* added by a settings restore agent.
*/
/* package */ static void addBookmark(Context context,
ContentResolver cr, String url, String name,
- boolean retainIcon) {
+ Bitmap thumbnail, boolean retainIcon) {
// Want to append to the beginning of the list
long creationTime = new Date().getTime();
// First we check to see if the user has already visited this
@@ -95,6 +98,7 @@ import java.util.Date;
map.put(Browser.BookmarkColumns.CREATED, creationTime);
map.put(Browser.BookmarkColumns.TITLE, name);
map.put(Browser.BookmarkColumns.BOOKMARK, 1);
+ map.put(Browser.BookmarkColumns.THUMBNAIL, bitmapToBytes(thumbnail));
cr.update(Browser.BOOKMARKS_URI, map,
"_id = " + cursor.getInt(0), null);
} else {
@@ -125,6 +129,7 @@ import java.util.Date;
map.put(Browser.BookmarkColumns.CREATED, creationTime);
map.put(Browser.BookmarkColumns.BOOKMARK, 1);
map.put(Browser.BookmarkColumns.DATE, 0);
+ map.put(Browser.BookmarkColumns.THUMBNAIL, bitmapToBytes(thumbnail));
int visits = 0;
if (count > 0) {
// The user has already bookmarked, and possibly
@@ -199,4 +204,14 @@ import java.util.Date;
}
cursor.deactivate();
}
-} \ No newline at end of file
+
+ private static byte[] bitmapToBytes(Bitmap bm) {
+ if (bm == null) {
+ return null;
+ }
+
+ final ByteArrayOutputStream os = new ByteArrayOutputStream();
+ bm.compress(Bitmap.CompressFormat.PNG, 100, os);
+ return os.toByteArray();
+ }
+}