summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Scroggins <scroggo@google.com>2010-09-28 20:09:25 -0400
committerLeon Scroggins <scroggo@google.com>2010-09-28 20:10:24 -0400
commit25230d7c576c18f40a0feeb7ef8b4a57e2e6240d (patch)
tree3fb0581c96b588d068c386815627f8130f815af9
parent97779579a8512fcd34cd6528ca0918aa0756056b (diff)
downloadpackages_apps_browser-25230d7c576c18f40a0feeb7ef8b4a57e2e6240d.zip
packages_apps_browser-25230d7c576c18f40a0feeb7ef8b4a57e2e6240d.tar.gz
packages_apps_browser-25230d7c576c18f40a0feeb7ef8b4a57e2e6240d.tar.bz2
Use the Bookmarks Bar as the base folder.
Use the bookmarks bar as the base folder for adding bookmarks. Change-Id: I7f3dfaf0784529ff03b6153937a43eaf7c5ac044
-rw-r--r--src/com/android/browser/AddBookmarkPage.java48
-rw-r--r--src/com/android/browser/provider/BrowserProvider2.java2
2 files changed, 46 insertions, 4 deletions
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index 2a252a7..77f8ea8 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -16,6 +16,8 @@
package com.android.browser;
+import com.android.browser.provider.BrowserProvider2;
+
import android.app.Activity;
import android.app.LoaderManager;
import android.content.ContentResolver;
@@ -24,6 +26,7 @@ import android.content.Context;
import android.content.CursorLoader;
import android.content.Intent;
import android.content.Loader;
+import android.content.SharedPreferences;
import android.content.res.Resources;
import android.database.Cursor;
import android.graphics.Bitmap;
@@ -32,7 +35,9 @@ import android.net.WebAddress;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.preference.PreferenceManager;
import android.provider.BrowserContract;
+import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
@@ -208,7 +213,7 @@ public class AddBookmarkPage extends Activity
BrowserContract.Bookmarks.TITLE);
int parentIndex = cursor.getColumnIndexOrThrow(
BrowserContract.Bookmarks.PARENT);
- while (parent != 0) {
+ while (parent != BrowserProvider2.FIXED_ID_BOOKMARKS_BAR) {
// First, find the folder corresponding to the current
// folder
if (!cursor.moveToFirst()) {
@@ -306,7 +311,10 @@ public class AddBookmarkPage extends Activity
url = mOriginalUrl = mMap.getString("url");
mTouchIconUrl = mMap.getString("touch_icon_url");
mThumbnail = (Bitmap) mMap.getParcelable("thumbnail");
- mCurrentFolder = mMap.getLong(BrowserContract.Bookmarks.PARENT);
+ mCurrentFolder = mMap.getLong(BrowserContract.Bookmarks.PARENT, -1);
+ }
+ if (mCurrentFolder == -1) {
+ mCurrentFolder = getBookmarksBarId(this);
}
mTitle = (EditText) findViewById(R.id.title);
@@ -342,7 +350,7 @@ public class AddBookmarkPage extends Activity
list.setAdapter(mAdapter);
list.setOnItemClickListener(this);
LoaderManager manager = getLoaderManager();
- if (mCurrentFolder != 0) {
+ if (mCurrentFolder != BrowserProvider2.FIXED_ID_BOOKMARKS_BAR) {
// Find all the folders
manager.initLoader(LOADER_ID_ALL_FOLDERS, null, this);
}
@@ -354,6 +362,40 @@ public class AddBookmarkPage extends Activity
}
}
+ // FIXME: Use a CursorLoader
+ private long getBookmarksBarId(Context context) {
+ SharedPreferences prefs
+ = PreferenceManager.getDefaultSharedPreferences(context);
+ String accountName =
+ prefs.getString(BrowserBookmarksPage.PREF_ACCOUNT_NAME, null);
+ String accountType =
+ prefs.getString(BrowserBookmarksPage.PREF_ACCOUNT_TYPE, null);
+ if (TextUtils.isEmpty(accountName) || TextUtils.isEmpty(accountType)) {
+ return BrowserProvider2.FIXED_ID_BOOKMARKS_BAR;
+ }
+ Cursor cursor = null;
+ try {
+ cursor = context.getContentResolver().query(
+ BrowserContract.Bookmarks.CONTENT_URI,
+ new String[] { BrowserContract.Bookmarks._ID },
+ BrowserContract.ChromeSyncColumns.SERVER_UNIQUE + "=? AND "
+ + BrowserContract.Bookmarks.ACCOUNT_NAME + "=? AND "
+ + BrowserContract.Bookmarks.ACCOUNT_TYPE + "=?",
+ new String[] {
+ BrowserContract.ChromeSyncColumns
+ .FOLDER_NAME_BOOKMARKS_BAR,
+ accountName,
+ accountType },
+ null);
+ if (cursor != null && cursor.moveToFirst()) {
+ return cursor.getLong(0);
+ }
+ } finally {
+ if (cursor != null) cursor.close();
+ }
+ return BrowserProvider2.FIXED_ID_BOOKMARKS_BAR;
+ }
+
@Override
public boolean dispatchKeyEvent (KeyEvent event) {
if (mFolderSelector.getVisibility() == View.VISIBLE
diff --git a/src/com/android/browser/provider/BrowserProvider2.java b/src/com/android/browser/provider/BrowserProvider2.java
index 973f229..e0520eb 100644
--- a/src/com/android/browser/provider/BrowserProvider2.java
+++ b/src/com/android/browser/provider/BrowserProvider2.java
@@ -89,7 +89,7 @@ public class BrowserProvider2 extends SQLiteContentProvider {
static final long FIXED_ID_CHROME_ROOT = 1;
static final long FIXED_ID_BOOKMARKS = 2;
- static final long FIXED_ID_BOOKMARKS_BAR = 3;
+ public static final long FIXED_ID_BOOKMARKS_BAR = 3;
static final long FIXED_ID_OTHER_BOOKMARKS = 4;
static final String DEFAULT_BOOKMARKS_SORT_ORDER = "position ASC, _id ASC";