From f90a1ede70928c4c9b8ad418eea137a27deee606 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Mon, 29 Feb 2016 21:06:00 +0100 Subject: [PATCH] fixed some more bugs --- .../java/org/schabi/newpipe/VideoItemListFragment.java | 2 ++ .../java/org/schabi/newpipe/extractor/SearchResult.java | 7 ++++++- .../extractor/services/youtube/YoutubeSearchEngine.java | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java b/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java index fc20aadb9..a02255447 100644 --- a/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java +++ b/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java @@ -151,6 +151,8 @@ public class VideoItemListFragment extends ListFragment { /* todo: this shoudl not be assigned static */ "Youtube", query, R.string.general_error)); e.printStackTrace(); + } finally { + } } } diff --git a/app/src/main/java/org/schabi/newpipe/extractor/SearchResult.java b/app/src/main/java/org/schabi/newpipe/extractor/SearchResult.java index 887b94564..d21e2ba62 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/SearchResult.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/SearchResult.java @@ -31,7 +31,12 @@ public class SearchResult { SearchResult result = engine.search(query, page, languageCode, dl).getSearchResult(); if(result.resultList.isEmpty()) { - throw new ExtractionException("Empty result despite no error"); + if(result.suggestion.isEmpty()) { + throw new ExtractionException("Empty result despite no error"); + } else { + // This is used as a fallback. Do not relay on it !!! + throw new SearchEngine.NothingFoundException(result.suggestion); + } } return result; } diff --git a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java index 648cbd749..fe2dc30a7 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java @@ -96,6 +96,9 @@ public class YoutubeSearchEngine implements SearchEngine { // both types of spell correction item if (!((el = item.select("div[class*=\"spell-correction\"]").first()) == null)) { collector.setSuggestion(el.select("a").first().text()); + if(list.children().size() == 1) { + throw new NothingFoundException("Did you mean: " + el.select("a").first().text()); + } // search message item } else if (!((el = item.select("div[class*=\"search-message\"]").first()) == null)) { //result.errorMessage = el.text();