diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java b/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java index 8b211e8c1..5e33be860 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java +++ b/app/src/main/java/com/hippo/ehviewer/widget/SearchBar.java @@ -166,7 +166,7 @@ public class SearchBar extends CardView implements View.OnClickListener, private void updateSuggestions() { String prefix = mEditText.getText().toString(); - String[] suggestions = mSearchDatabase.getSuggestions(prefix); + String[] suggestions = mSearchDatabase.getSuggestions(prefix, 128); mSuggestionList.clear(); Collections.addAll(mSuggestionList, suggestions); if (mSuggestionList.size() == 0) { diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SearchDatabase.java b/app/src/main/java/com/hippo/ehviewer/widget/SearchDatabase.java index 4200dfb62..4e969784f 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/SearchDatabase.java +++ b/app/src/main/java/com/hippo/ehviewer/widget/SearchDatabase.java @@ -57,10 +57,10 @@ public final class SearchDatabase { mDatabase = databaseHelper.getWritableDatabase(); } - public String[] getSuggestions(String prefix) { + public String[] getSuggestions(String prefix, int limit) { List queryList = new LinkedList<>(); + limit = Math.max(0, limit); - // TODO add limit StringBuilder sb = new StringBuilder(); sb.append("SELECT * FROM ").append(TABLE_SUGGESTIONS); if (!TextUtils.isEmpty(prefix)) { @@ -68,7 +68,7 @@ public final class SearchDatabase { .append(SqlUtils.sqlEscapeString(prefix)).append("%'"); } sb.append(" ORDER BY ").append(COLUMN_DATE).append(" DESC") - .append(" LIMIT 5"); + .append(" LIMIT ").append(limit); Cursor cursor = mDatabase.rawQuery(sb.toString(), null); int queryIndex = cursor.getColumnIndex(COLUMN_QUERY); if (cursor.moveToFirst()) {