Merge "Fix bug #14494292 Settings>Search>Recent searches keep on populating the same keyword if it is searched again"

This commit is contained in:
Fabrice Di Meglio
2014-05-20 23:36:22 +00:00
committed by Android (Google) Code Review

View File

@@ -1217,9 +1217,16 @@ public class Index {
long lastInsertedRowId = -1; long lastInsertedRowId = -1;
try { try {
lastInsertedRowId = // First, delete all saved queries that are the same
database.replaceOrThrow(Tables.TABLE_SAVED_QUERIES, null, values); database.delete(Tables.TABLE_SAVED_QUERIES,
IndexDatabaseHelper.SavedQueriesColums.QUERY + " = ?",
new String[] { params[0] });
// Second, insert the saved query
lastInsertedRowId =
database.insertOrThrow(Tables.TABLE_SAVED_QUERIES, null, values);
// Last, remove "old" saved queries
final long delta = lastInsertedRowId - MAX_SAVED_SEARCH_QUERY; final long delta = lastInsertedRowId - MAX_SAVED_SEARCH_QUERY;
if (delta > 0) { if (delta > 0) {
int count = database.delete(Tables.TABLE_SAVED_QUERIES, "rowId <= ?", int count = database.delete(Tables.TABLE_SAVED_QUERIES, "rowId <= ?",