package de.danoeh.antennapod.core.util; import android.util.Log; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import de.danoeh.antennapod.core.BuildConfig; /** * Utility methods for dealing with URL encoding. */ public class URIUtil { private static final String TAG = "URIUtil"; private URIUtil() {} public static URI getURIFromRequestUrl(String source) { // try without encoding the URI try { return new URI(source); } catch (URISyntaxException e) { if (BuildConfig.DEBUG) Log.d(TAG, "Source is not encoded, encoding now"); } try { URL url = new URL(source); return new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef()); } catch (MalformedURLException | URISyntaxException e) { throw new IllegalArgumentException(e); } } }