From d17c8841129a2f33db7dec35d3eb616fd98040cf Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Wed, 12 Aug 2015 00:10:17 +0200 Subject: [PATCH] Encode non-ascii query strings for the iTunes search --- .../fragment/ItunesSearchFragment.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java index 16789d694..edd4da7fe 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java @@ -22,6 +22,8 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -31,7 +33,7 @@ import de.danoeh.antennapod.activity.OnlineFeedViewActivity; import de.danoeh.antennapod.adapter.itunes.ItunesAdapter; import de.danoeh.antennapod.core.preferences.UserPreferences; -import static de.danoeh.antennapod.adapter.itunes.ItunesAdapter.*; +import static de.danoeh.antennapod.adapter.itunes.ItunesAdapter.Podcast; //Searches iTunes store for given string and displays results in a list public class ItunesSearchFragment extends Fragment { @@ -160,8 +162,18 @@ public class ItunesSearchFragment extends Fragment { * * @param query Search string */ - public SearchTask(String query){ - this.query = query; + public SearchTask(String query) { + String encodedQuery = null; + try { + encodedQuery = URLEncoder.encode(query, "UTF-8"); + } catch(UnsupportedEncodingException e) { + // this won't ever be thrown + } + if(encodedQuery != null) { + this.query = encodedQuery; + } else { + this.query = query; // failsafe + } } //Get the podcast data