blob: 62cbfc7e9515785be0812f23ebee63a813174710 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package de.danoeh.antennapod.util;
import android.util.Log;
import de.danoeh.antennapod.AppConfig;
/** Provides methods for checking and editing a URL.*/
public final class URLChecker {
/**Class shall not be instantiated.*/
private URLChecker() {
}
/**Logging tag.*/
private static final String TAG = "URLChecker";
/**Indicator for URLs made by Feedburner.*/
private static final String FEEDBURNER_URL = "feeds.feedburner.com";
/**Prefix that is appended to URLs by Feedburner.*/
private static final String FEEDBURNER_PREFIX = "?format=xml";
/** Checks if URL is valid and modifies it if necessary.
* @param url The url which is going to be prepared
* @return The prepared url
* */
public static String prepareURL(String url) {
StringBuilder builder = new StringBuilder();
if (!url.startsWith("http")) {
builder.append("http://");
if (AppConfig.DEBUG) Log.d(TAG, "Missing http; appending");
} else if (url.startsWith("https")) {
if (AppConfig.DEBUG) Log.d(TAG, "Replacing https with http");
url = url.replaceFirst("https", "http");
}
builder.append(url);
if (url.contains(FEEDBURNER_URL)) {
if (AppConfig.DEBUG) Log.d(TAG,
"URL seems to be Feedburner URL; appending prefix");
builder.append(FEEDBURNER_PREFIX);
}
return builder.toString();
}
}
|