diff --git a/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java b/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java index 90935ee8e..bb5e57bf6 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java +++ b/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java @@ -614,15 +614,14 @@ public class AppProvider extends FDroidProvider { } private AppQuerySelection querySearch(String query) { - final String[] columns = { - getTableName() + ".id", - getTableName() + ".name", - getTableName() + ".summary", - getTableName() + ".description", - }; - - // Remove duplicates, surround in % for wildcard searching + // Put in a Set to remove duplicates final Set keywordSet = new HashSet<>(Arrays.asList(query.split("\\s"))); + + if (keywordSet.size() == 0) { + return new AppQuerySelection(); + } + + // Surround each keyword in % for wildcard searching final String[] keywords = new String[keywordSet.size()]; int iKeyword = 0; for (final String keyword : keywordSet) { @@ -630,6 +629,13 @@ public class AppProvider extends FDroidProvider { iKeyword++; } + final String[] columns = { + getTableName() + ".id", + getTableName() + ".name", + getTableName() + ".summary", + getTableName() + ".description", + }; + // Build selection string and fill out keyword arguments final StringBuilder selection = new StringBuilder(); final String[] selectionKeywords = new String[columns.length * keywords.length];