Bug 1232439 - Part 1: Implement removeBookmarkWithID in BrowserDB draft
authorAndrzej Hunt <ahunt@mozilla.com>
Tue, 09 Feb 2016 10:59:57 -0800
changeset 453949 f16ec1f1dae4abcaa00ab3725239a012a8290a1a
parent 453266 2785aaf276ba29fb2e1f5607d90d441fee42efb4
child 453950 cec4609611602aca8330b1e469ad965636c27d30
push id39776
push userbmo:twointofive@gmail.com
push dateMon, 26 Dec 2016 21:15:51 +0000
bugs1232439
milestone53.0a1
Bug 1232439 - Part 1: Implement removeBookmarkWithID in BrowserDB Rebased by Tom Klein, with review comments addressed. MozReview-Commit-ID: Anolv91F1uw
mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
@@ -104,16 +104,17 @@ public abstract class BrowserDB {
 
     public abstract String getUrlForKeyword(ContentResolver cr, String keyword);
 
     public abstract boolean isBookmark(ContentResolver cr, String uri);
     public abstract boolean addBookmark(ContentResolver cr, String title, String uri);
     public abstract Cursor getBookmarkForUrl(ContentResolver cr, String url);
     public abstract Cursor getBookmarksForPartialUrl(ContentResolver cr, String partialUrl);
     public abstract void removeBookmarksWithURL(ContentResolver cr, String uri);
+    public abstract void removeBookmarkWithID(ContentResolver cr, int id);
     public abstract void registerBookmarkObserver(ContentResolver cr, ContentObserver observer);
     public abstract void updateBookmark(ContentResolver cr, int id, String uri, String title, String keyword);
     public abstract boolean hasBookmarkWithGuid(ContentResolver cr, String guid);
 
     public abstract boolean insertPageMetadata(ContentProviderClient contentProviderClient, String pageUrl, boolean hasImage, String metadataJSON);
     public abstract int deletePageMetadata(ContentProviderClient contentProviderClient, String pageUrl);
     /**
      * Can return <code>null</code>.
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
@@ -1218,28 +1218,41 @@ public class LocalBrowserDB extends Brow
         } finally {
             c.close();
         }
     }
 
     @Override
     @RobocopTarget
     public void removeBookmarksWithURL(ContentResolver cr, String uri) {
-        Uri contentUri = mBookmarksUriWithProfile;
+        final Uri contentUri = mBookmarksUriWithProfile;
 
         // Do this now so that the items still exist!
         bumpParents(cr, Bookmarks.URL, uri);
 
         final String[] urlArgs = new String[] { uri, String.valueOf(Bookmarks.FIXED_PINNED_LIST_ID) };
         final String urlEquals = Bookmarks.URL + " = ? AND " + Bookmarks.PARENT + " != ? ";
 
         cr.delete(contentUri, urlEquals, urlArgs);
     }
 
     @Override
+    public void removeBookmarkWithID(ContentResolver cr, int id) {
+        final Uri contentUri = mBookmarksUriWithProfile;
+
+        // Do this now so that the items still exist!
+        bumpParents(cr, Bookmarks._ID, String.valueOf(id));
+
+        cr.delete(contentUri,
+                Bookmarks._ID + " = ?",
+                new String[] { String.valueOf(id) });
+
+    }
+
+    @Override
     public void registerBookmarkObserver(ContentResolver cr, ContentObserver observer) {
         cr.registerContentObserver(mBookmarksUriWithProfile, false, observer);
     }
 
     @Override
     @RobocopTarget
     public void updateBookmark(ContentResolver cr, int id, String uri, String title, String keyword) {
         ContentValues values = new ContentValues();