Bug 1288127 - Pre: Implement getRecentBookmarks (equivalent to getRecentHistory) r=grisha draft
authorAndrzej Hunt <ahunt@mozilla.com>
Thu, 28 Jul 2016 09:50:22 -0700
changeset 399340 6802dc6e91bdb7f4daa4dc3b45da557431e38493
parent 396430 f47c2d2a6e27cc0b8f09650c97eb7bd8c72fc66a
child 399341 b7d69c24507d86cd7e64af0feff35221d221bb60
push id25805
push userahunt@mozilla.com
push dateWed, 10 Aug 2016 22:18:08 +0000
reviewersgrisha
bugs1288127
milestone51.0a1
Bug 1288127 - Pre: Implement getRecentBookmarks (equivalent to getRecentHistory) r=grisha This provides a sorted list of bookmarks suitable for feeding into the CombinedHistoryPanel (which will in future be a switchable combined history and bookmarks panel). This panel sections history (or bookmarks) based on when they were last visited (or created in case of bookmarks). MozReview-Commit-ID: FV9V23USo7x
mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserDB.java
@@ -88,16 +88,21 @@ public interface BrowserDB {
      */
     public abstract Cursor getAllVisitedHistory(ContentResolver cr);
 
     /**
      * Can return <code>null</code>.
      */
     public abstract Cursor getRecentHistory(ContentResolver cr, int limit);
 
+    /**
+     * Can return <code>null</code>.
+     */
+    public abstract Cursor getRecentBookmarks(ContentResolver cr, int limit);
+
     public abstract Cursor getHistoryForURL(ContentResolver cr, String uri);
 
     public abstract Cursor getRecentHistoryBetweenTime(ContentResolver cr, int historyLimit, long start, long end);
 
     public abstract long getPrePathLastVisitedTimeMilliseconds(ContentResolver cr, String prePath);
 
     public abstract void expireHistory(ContentResolver cr, ExpirePriority priority);
 
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
@@ -681,17 +681,32 @@ public class LocalBrowserDB implements B
         return cr.query(mHistoryUriWithProfile,
                         new String[] { History.URL },
                         History.VISITS + " > 0",
                         null,
                         null);
     }
 
     @Override
-    public Cursor getRecentHistory(ContentResolver cr, int limit) {
+    @Nullable
+    public Cursor getRecentBookmarks(ContentResolver cr, int limit) {
+        return cr.query(bookmarksUriWithLimit(limit),
+                new String[] { Bookmarks._ID,
+                        Bookmarks.URL,
+                        Bookmarks.TITLE,
+                        Bookmarks.DATE_CREATED },
+                Bookmarks.DATE_CREATED + " > 0" +
+                " AND " +
+                Bookmarks.TYPE + " = " + Bookmarks.TYPE_BOOKMARK,
+                null,
+                Bookmarks.DATE_CREATED + " DESC");
+    }
+
+    @Override
+    public Cursor getRecentHistory(@NonNull ContentResolver cr, int limit) {
         return cr.query(combinedUriWithLimit(limit),
                         new String[] { Combined._ID,
                                        Combined.BOOKMARK_ID,
                                        Combined.HISTORY_ID,
                                        Combined.URL,
                                        Combined.TITLE,
                                        Combined.DATE_LAST_VISITED,
                                        Combined.VISITS },
--- a/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
@@ -214,16 +214,20 @@ public class StubBrowserDB implements Br
     public Cursor getAllVisitedHistory(ContentResolver cr) {
         return null;
     }
 
     public Cursor getRecentHistory(ContentResolver cr, int limit) {
         return null;
     }
 
+    public Cursor getRecentBookmarks(ContentResolver cr, int limit) {
+        return null;
+    }
+
     @Override
     public Cursor getHistoryForURL(ContentResolver cr, String uri) {
         return null;
     }
 
     @Override
     public Cursor getRecentHistoryBetweenTime(ContentResolver cr, int limit, long time, long end) {
         return null;