summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-01-05 10:38:18 -0800
committerJohn Reck <jreck@google.com>2011-01-05 11:02:40 -0800
commitd80558989d8252ce859888858d4dd7907a9fc647 (patch)
tree536184b71b3b2f8c1ba2e042688a5288dacfde2e /src/com/android
parentc168a3654e1c54b358a7fb9c951da2eebfa93005 (diff)
downloadpackages_apps_Browser-d80558989d8252ce859888858d4dd7907a9fc647.zip
packages_apps_Browser-d80558989d8252ce859888858d4dd7907a9fc647.tar.gz
packages_apps_Browser-d80558989d8252ce859888858d4dd7907a9fc647.tar.bz2
Fixes Chrome Sync caused by BP2 account_* where
Bug: 3324737 Chrome Sync adapter was adding the account_* selection directly to the query rather than using URI parameters. This caused an issue where BP2 would then assume that no account was specified, and added a where to only search for NULL account_*. This broke the selection, thus breaking sync. Changed it so BP2 only adds account_* selection if the selection passed in does not already contain account_*. Change-Id: I5ed5800a5b478ab9eaaa1da773e9fc726f73db5c
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/browser/provider/BrowserProvider2.java23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/com/android/browser/provider/BrowserProvider2.java b/src/com/android/browser/provider/BrowserProvider2.java
index 1b90cb3..358ee2d 100644
--- a/src/com/android/browser/provider/BrowserProvider2.java
+++ b/src/com/android/browser/provider/BrowserProvider2.java
@@ -635,15 +635,20 @@ public class BrowserProvider2 extends SQLiteContentProvider {
// Look for account info
String accountType = uri.getQueryParameter(Bookmarks.PARAM_ACCOUNT_TYPE);
String accountName = uri.getQueryParameter(Bookmarks.PARAM_ACCOUNT_NAME);
- if (!TextUtils.isEmpty(accountType) && !TextUtils.isEmpty(accountName)) {
- selection = DatabaseUtils.concatenateWhere(selection,
- Bookmarks.ACCOUNT_TYPE + "=? AND " + Bookmarks.ACCOUNT_NAME + "=? ");
- selectionArgs = DatabaseUtils.appendSelectionArgs(selectionArgs,
- new String[] { accountType, accountName });
- } else {
- selection = DatabaseUtils.concatenateWhere(selection,
- Bookmarks.ACCOUNT_TYPE + " IS NULL AND " +
- Bookmarks.ACCOUNT_NAME + " IS NULL ");
+ // Only add it if it isn't already in the selection
+ if (selection == null ||
+ (!selection.contains(Bookmarks.ACCOUNT_NAME)
+ && !selection.contains(Bookmarks.ACCOUNT_TYPE))) {
+ if (!TextUtils.isEmpty(accountType) && !TextUtils.isEmpty(accountName)) {
+ selection = DatabaseUtils.concatenateWhere(selection,
+ Bookmarks.ACCOUNT_TYPE + "=? AND " + Bookmarks.ACCOUNT_NAME + "=? ");
+ selectionArgs = DatabaseUtils.appendSelectionArgs(selectionArgs,
+ new String[] { accountType, accountName });
+ } else {
+ selection = DatabaseUtils.concatenateWhere(selection,
+ Bookmarks.ACCOUNT_TYPE + " IS NULL AND " +
+ Bookmarks.ACCOUNT_NAME + " IS NULL ");
+ }
}
// Set a default sort order if one isn't specified