From 7f6cf3e4109426164c6fdd11aba0c69622e2353c Mon Sep 17 00:00:00 2001 From: Jeff Hamilton Date: Fri, 17 Sep 2010 17:22:21 -0500 Subject: Add bookmarks to the current account. Make sure to stuff newly created bookmarks in the currently active account so that they show up in the bookmarks UI and will get synced properly. Change-Id: I5677ddb8480957bc209d79cc41f7df02221ef66d --- src/com/android/browser/AddBookmarkPage.java | 2 +- src/com/android/browser/Bookmarks.java | 13 ++++++++++--- src/com/android/browser/BrowserBackupAgent.java | 2 +- src/com/android/browser/BrowserBookmarksPage.java | 4 ++-- src/com/android/browser/HistoryItem.java | 7 +------ 5 files changed, 15 insertions(+), 13 deletions(-) (limited to 'src/com') diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java index f287e8e1c..1d6edc5cc 100644 --- a/src/com/android/browser/AddBookmarkPage.java +++ b/src/com/android/browser/AddBookmarkPage.java @@ -148,7 +148,7 @@ public class AddBookmarkPage extends Activity { // Save to the bookmarks DB. try { final ContentResolver cr = getContentResolver(); - Bookmarks.addBookmark(null, cr, url, title, thumbnail, true); + Bookmarks.addBookmark(AddBookmarkPage.this, false, url, title, thumbnail, true); if (touchIconUrl != null) { new DownloadTouchIcon(AddBookmarkPage.this, cr, url).execute(mTouchIconUrl); } diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/browser/Bookmarks.java index 532d7c0e9..0bccbed97 100644 --- a/src/com/android/browser/Bookmarks.java +++ b/src/com/android/browser/Bookmarks.java @@ -20,10 +20,12 @@ import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; +import android.content.SharedPreferences; import android.database.Cursor; import android.graphics.Bitmap; import android.net.Uri; import android.os.AsyncTask; +import android.preference.PreferenceManager; import android.provider.BrowserContract; import android.provider.BrowserContract.Combined; import android.provider.BrowserContract.Images; @@ -63,18 +65,23 @@ import java.io.ByteArrayOutputStream; * This will usually be true except when bookmarks are * added by a settings restore agent. */ - /* package */ static void addBookmark(Context context, ContentResolver cr, String url, + /* package */ static void addBookmark(Context context, boolean showToast, String url, String name, Bitmap thumbnail, boolean retainIcon) { // Want to append to the beginning of the list ContentValues values = new ContentValues(); Cursor cursor = null; try { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + String accountType = prefs.getString(BrowserBookmarksPage.PREF_ACCOUNT_TYPE, null); + String accountName = prefs.getString(BrowserBookmarksPage.PREF_ACCOUNT_NAME, null); + values.put(BrowserContract.Bookmarks.ACCOUNT_TYPE, accountType); + values.put(BrowserContract.Bookmarks.ACCOUNT_NAME, accountName); values.put(BrowserContract.Bookmarks.TITLE, name); values.put(BrowserContract.Bookmarks.URL, url); values.put(BrowserContract.Bookmarks.IS_FOLDER, 0); values.put(BrowserContract.Bookmarks.THUMBNAIL, bitmapToBytes(thumbnail)); - cr.insert(BrowserContract.Bookmarks.CONTENT_URI, values); + context.getContentResolver().insert(BrowserContract.Bookmarks.CONTENT_URI, values); } catch (IllegalStateException e) { Log.e(LOGTAG, "addBookmark", e); } finally { @@ -83,7 +90,7 @@ import java.io.ByteArrayOutputStream; if (retainIcon) { WebIconDatabase.getInstance().retainIconForPageUrl(url); } - if (context != null) { + if (showToast) { Toast.makeText(context, R.string.added_to_bookmarks, Toast.LENGTH_LONG).show(); } diff --git a/src/com/android/browser/BrowserBackupAgent.java b/src/com/android/browser/BrowserBackupAgent.java index c968ce5d7..fb1933f3d 100644 --- a/src/com/android/browser/BrowserBackupAgent.java +++ b/src/com/android/browser/BrowserBackupAgent.java @@ -166,7 +166,7 @@ public class BrowserBackupAgent extends BackupAgent { if (DEBUG) Log.v(TAG, "Did not see url: " + mark.url); // Right now we do not reconstruct the db entry in its // entirety; we just add a new bookmark with the same data - Bookmarks.addBookmark(null, getContentResolver(), + Bookmarks.addBookmark(this, false, mark.url, mark.title, null, false); nUnique++; } else { diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java index 04e50af1b..039aca08f 100644 --- a/src/com/android/browser/BrowserBookmarksPage.java +++ b/src/com/android/browser/BrowserBookmarksPage.java @@ -80,8 +80,8 @@ public class BrowserBookmarksPage extends Fragment implements View.OnCreateConte static final String EXTRA_SHORTCUT = "create_shortcut"; static final String EXTRA_DISABLE_WINDOW = "disable_new_window"; - static final String PREF_ACCOUNT_TYPE = "acct_type"; - static final String PREF_ACCOUNT_NAME = "acct_name"; + public static final String PREF_ACCOUNT_TYPE = "acct_type"; + public static final String PREF_ACCOUNT_NAME = "acct_name"; static final String DEFAULT_ACCOUNT = "local"; diff --git a/src/com/android/browser/HistoryItem.java b/src/com/android/browser/HistoryItem.java index 72e1b19e5..b591b03f1 100644 --- a/src/com/android/browser/HistoryItem.java +++ b/src/com/android/browser/HistoryItem.java @@ -18,12 +18,8 @@ package com.android.browser; import android.content.Context; -import android.graphics.Bitmap; -import android.provider.Browser; import android.view.View; import android.widget.CompoundButton; -import android.widget.ImageView; -import android.widget.TextView; /** * Layout representing a history item in the classic history viewer. @@ -45,8 +41,7 @@ import android.widget.TextView; public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { - Bookmarks.addBookmark(mContext, - mContext.getContentResolver(), mUrl, getName(), null, true); + Bookmarks.addBookmark(mContext, true, mUrl, getName(), null, true); LogTag.logBookmarkAdded(mUrl, "history"); } else { Bookmarks.removeFromBookmarks(mContext, -- cgit v1.2.3