Bug 1234967 - Pre: implement deleting bookmarks by ID r?rnewman
MozReview-Commit-ID: Ejyuw7KcPAi
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
@@ -107,16 +107,17 @@ public interface 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);
/**
* Can return <code>null</code>.
*/
public abstract Cursor getBookmarksInFolder(ContentResolver cr, long folderId);
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
@@ -1077,16 +1077,29 @@ public class LocalBrowserDB implements B
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();
--- a/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
@@ -44,16 +44,19 @@ class StubReadingListAccessor implements
}
@Override
public boolean isReadingListItem(ContentResolver cr, String uri) {
return false;
}
@Override
+ public void removeBookmarkWithID(ContentResolver cr, int id) {}
+
+ @Override
public long addReadingListItem(ContentResolver cr, ContentValues values) {
return 0L;
}
@Override
public long addBasicReadingListItem(ContentResolver cr, String url, String title) {
return 0L;
}