mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Merge pull request #789 from achalshant/fix_for_issue#750
Fix for issue#750
This commit is contained in:
commit
3db421ad8c
1 changed files with 10 additions and 7 deletions
|
|
@ -47,7 +47,7 @@ public class PrefixUpdater extends AsyncTask<Void, Void, List<String>> {
|
|||
* @param items Unfiltered list of categories
|
||||
* @return Filtered category list
|
||||
*/
|
||||
private List<String> filterYears(List<String> items) {
|
||||
private List<String> filterIrrelevantResults(List<String> items) {
|
||||
|
||||
Iterator<String> iterator;
|
||||
|
||||
|
|
@ -67,10 +67,13 @@ public class PrefixUpdater extends AsyncTask<Void, Void, List<String>> {
|
|||
|
||||
//Check if s contains a 4-digit word anywhere within the string (.* is wildcard)
|
||||
//And that s does not equal the current year or previous year
|
||||
if (s.matches(".*(19|20)\\d{2}.*") && !s.contains(yearInString) && !s.contains(prevYearInString)) {
|
||||
Timber.d("Filtering out year %s", s);
|
||||
//And if it is an irrelevant category such as Media_needing_categories_as_of_16_June_2017(Issue #750)
|
||||
if ((s.matches(".*(19|20)\\d{2}.*") && !s.contains(yearInString) && !s.contains(prevYearInString))
|
||||
|| s.matches("(.*)needing(.*)")||s.matches("(.*)taken on(.*)")) {
|
||||
Timber.d("Filtering out irrelevant result: %s", s);
|
||||
iterator.remove();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Timber.d("Items: %s", items);
|
||||
|
|
@ -83,14 +86,14 @@ public class PrefixUpdater extends AsyncTask<Void, Void, List<String>> {
|
|||
if (TextUtils.isEmpty(filter)) {
|
||||
ArrayList<String> mergedItems = new ArrayList<>(catFragment.mergeItems());
|
||||
Timber.d("Merged items, waiting for filter");
|
||||
return new ArrayList<>(filterYears(mergedItems));
|
||||
return new ArrayList<>(filterIrrelevantResults(mergedItems));
|
||||
}
|
||||
|
||||
//if user types in something that is in cache, return cached category
|
||||
if (catFragment.categoriesCache.containsKey(filter)) {
|
||||
ArrayList<String> cachedItems = new ArrayList<>(catFragment.categoriesCache.get(filter));
|
||||
Timber.d("Found cache items, waiting for filter");
|
||||
return new ArrayList<>(filterYears(cachedItems));
|
||||
return new ArrayList<>(filterIrrelevantResults(cachedItems));
|
||||
}
|
||||
|
||||
//otherwise if user has typed something in that isn't in cache, search API for matching categories
|
||||
|
|
@ -107,6 +110,6 @@ public class PrefixUpdater extends AsyncTask<Void, Void, List<String>> {
|
|||
}
|
||||
|
||||
Timber.d("Found categories from Prefix search, waiting for filter");
|
||||
return new ArrayList<>(filterYears(categories));
|
||||
return new ArrayList<>(filterIrrelevantResults(categories));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue