Bug 1298785 - Group highlights by domain r?sebastian
MozReview-Commit-ID: KZTEB5aM58g
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
@@ -1230,18 +1230,18 @@ public class BrowserProvider extends Sha
final long bookmarkLimit = 1;
// Select recent bookmarks that have not been visited much
final String bookmarksQuery = "SELECT * FROM (SELECT " +
"-1 AS " + Combined.HISTORY_ID + ", " +
DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks._ID) + " AS " + Combined.BOOKMARK_ID + ", " +
DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.URL) + ", " +
DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.TITLE) + ", " +
- DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.DATE_CREATED) + " AS " + Highlights.DATE + " " +
- "FROM " + Bookmarks.TABLE_NAME + " " +
+ DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.DATE_CREATED) + " AS " + Highlights.DATE + ", " +
+ DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.DOMAIN_ID) + " " + "FROM " + Bookmarks.TABLE_NAME + " " +
"LEFT JOIN " + History.TABLE_NAME + " ON " +
DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.URL) + " = " +
DBUtils.qualifyColumn(History.TABLE_NAME, History.URL) + " " +
"WHERE " + DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.DATE_CREATED) + " > " + threeDaysAgo + " " +
"AND (" + DBUtils.qualifyColumn(History.TABLE_NAME, History.VISITS) + " <= 3 " +
"OR " + DBUtils.qualifyColumn(History.TABLE_NAME, History.VISITS) + " IS NULL) " +
"AND " + DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.IS_DELETED) + " = 0 " +
"AND " + DBUtils.qualifyColumn(Bookmarks.TABLE_NAME, Bookmarks.TYPE) + " = " + Bookmarks.TYPE_BOOKMARK + " " +
@@ -1253,32 +1253,32 @@ public class BrowserProvider extends Sha
final long historyLimit = totalLimit - bookmarkLimit;
// Select recent history that has not been visited much.
final String historyQuery = "SELECT * FROM (SELECT " +
History._ID + " AS " + Combined.HISTORY_ID + ", " +
"-1 AS " + Combined.BOOKMARK_ID + ", " +
History.URL + ", " +
History.TITLE + ", " +
- History.DATE_LAST_VISITED + " AS " + Highlights.DATE + " " +
+ History.DATE_LAST_VISITED + " AS " + Highlights.DATE + ", " +
+ History.DOMAIN_ID + " " +
"FROM " + History.TABLE_NAME + " " +
"WHERE " + History.DATE_LAST_VISITED + " < " + last30Minutes + " " +
"AND " + History.VISITS + " <= 3 " +
"AND " + History.TITLE + " NOT NULL AND " + History.TITLE + " != '' " +
"AND " + History.IS_DELETED + " = 0 " +
"AND " + History.URL + " NOT IN (SELECT " + ActivityStreamBlocklist.URL + " FROM " + ActivityStreamBlocklist.TABLE_NAME + " )" +
// TODO: Implement domain black list (bug 1298786)
- // TODO: Group by host (bug 1298785)
"ORDER BY " + History.DATE_LAST_VISITED + " DESC " +
"LIMIT " + historyLimit + ")";
final String query = "SELECT DISTINCT * " +
"FROM (" + bookmarksQuery + " " +
"UNION ALL " + historyQuery + ") " +
- "GROUP BY " + Combined.URL + ";";
+ "GROUP BY " + Combined.DOMAIN_ID + ";";
final Cursor cursor = db.rawQuery(query, null);
cursor.setNotificationUri(getContext().getContentResolver(),
BrowserContract.AUTHORITY_URI);
return cursor;
}