diff options
| author | Leon Scroggins <scroggo@google.com> | 2010-02-23 11:49:04 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-02-23 11:49:04 -0800 |
| commit | 7712c0f97b6d24ad32580379a83d0c5acec41b40 (patch) | |
| tree | 3f4da9e45846e20ee239546191d17a669ed5899b /src | |
| parent | 03e6d39560d7de359782485d4c863d600b34fb51 (diff) | |
| parent | f2463ae7ea9f59f3408a87b146d83bee4f26c37b (diff) | |
| download | packages_apps_Browser-7712c0f97b6d24ad32580379a83d0c5acec41b40.tar.gz packages_apps_Browser-7712c0f97b6d24ad32580379a83d0c5acec41b40.tar.bz2 packages_apps_Browser-7712c0f97b6d24ad32580379a83d0c5acec41b40.zip | |
Merge "Backup bookmarks when a new bookmark is added."
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/browser/BrowserProvider.java | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/com/android/browser/BrowserProvider.java b/src/com/android/browser/BrowserProvider.java index dda576503..ca24b498c 100644 --- a/src/com/android/browser/BrowserProvider.java +++ b/src/com/android/browser/BrowserProvider.java @@ -1056,18 +1056,14 @@ public class BrowserProvider extends ContentProvider { throw new IllegalArgumentException("Unknown URL"); } - String id = null; - boolean isBookmarkTable = (match == URI_MATCH_BOOKMARKS_ID); - boolean changingBookmarks = false; - - if (isBookmarkTable || match == URI_MATCH_SEARCHES_ID) { + if (match == URI_MATCH_BOOKMARKS_ID || match == URI_MATCH_SEARCHES_ID) { StringBuilder sb = new StringBuilder(); if (where != null && where.length() > 0) { sb.append("( "); sb.append(where); sb.append(" ) AND "); } - id = url.getPathSegments().get(1); + String id = url.getPathSegments().get(1); sb.append("_id = "); sb.append(id); where = sb.toString(); @@ -1078,23 +1074,23 @@ public class BrowserProvider extends ContentProvider { // Not all bookmark-table updates should be backed up. Look to see // whether we changed the title, url, or "is a bookmark" state, and // request a backup if so. - if (isBookmarkTable) { + if (match == URI_MATCH_BOOKMARKS_ID || match == URI_MATCH_BOOKMARKS) { + boolean changingBookmarks = false; // Alterations to the bookmark field inherently change the bookmark // set, so we don't need to query the record; we know a priori that // we will need to back up this change. if (values.containsKey(BookmarkColumns.BOOKMARK)) { changingBookmarks = true; - } - // changing the title or URL of a bookmark record requires a backup, - // but we don't know wether such an update is on a bookmark without - // querying the record - if (!changingBookmarks && - (values.containsKey(BookmarkColumns.TITLE) - || values.containsKey(BookmarkColumns.URL))) { - // when isBookmarkTable is true, the 'id' var was assigned above + } else if ((values.containsKey(BookmarkColumns.TITLE) + || values.containsKey(BookmarkColumns.URL)) + && values.containsKey(BookmarkColumns._ID)) { + // If a title or URL has been changed, check to see if it is to + // a bookmark. The ID should have been included in the update, + // so use it. Cursor cursor = cr.query(Browser.BOOKMARKS_URI, new String[] { BookmarkColumns.BOOKMARK }, - "_id = " + id, null, null); + BookmarkColumns._ID + " = " + + values.getAsString(BookmarkColumns._ID), null, null); if (cursor.moveToNext()) { changingBookmarks = (cursor.getInt(0) != 0); } |
