summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Oeh <daniel@danielpc.(none)>2012-04-14 23:02:38 +0200
committerDaniel Oeh <daniel@danielpc.(none)>2012-04-14 23:05:26 +0200
commit055fda3c9112bce67cc8610bf86a4632b0b53aaf (patch)
treed459cd3525ea24836422f8f4829da72a4b950c53 /src
parent43de4eaf586bf77bb458cc79b2b763f213feeb24 (diff)
downloadAntennaPod-055fda3c9112bce67cc8610bf86a4632b0b53aaf.zip
Added functionality to AddFeedActivity
Diffstat (limited to 'src')
-rw-r--r--src/de/podfetcher/activity/AddFeedActivity.java23
-rw-r--r--src/de/podfetcher/util/URLChecker.java29
2 files changed, 48 insertions, 4 deletions
diff --git a/src/de/podfetcher/activity/AddFeedActivity.java b/src/de/podfetcher/activity/AddFeedActivity.java
index 6c9cf0f18..277167b71 100644
--- a/src/de/podfetcher/activity/AddFeedActivity.java
+++ b/src/de/podfetcher/activity/AddFeedActivity.java
@@ -7,6 +7,7 @@ import android.view.View;
import de.podfetcher.R;
import de.podfetcher.feed.Feed;
import de.podfetcher.storage.DownloadRequester;
+import de.podfetcher.util.URLChecker;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
@@ -18,6 +19,7 @@ public class AddFeedActivity extends SherlockActivity {
private EditText etxtFeedurl;
private Button butConfirm;
+ private Button butCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -26,25 +28,38 @@ public class AddFeedActivity extends SherlockActivity {
etxtFeedurl = (EditText) findViewById(R.id.etxtFeedurl);
butConfirm = (Button) findViewById(R.id.butConfirm);
+ butCancel = (Button) findViewById(R.id.butCancel);
butConfirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addNewFeed();
+ }
+ });
+
+ butCancel.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ setResult(RESULT_CANCELED);
finish();
}
});
+
}
private void addNewFeed() {
String url = etxtFeedurl.getText().toString();
- Feed feed = new Feed(url);
- DownloadRequester req = DownloadRequester.getInstance();
- req.downloadFeed(this, feed);
-
+ url = URLChecker.prepareURL(url);
+ if(url != null) {
+ Feed feed = new Feed(url);
+ DownloadRequester req = DownloadRequester.getInstance();
+ req.downloadFeed(this, feed);
+ setResult(RESULT_OK);
+ finish();
+ }
}
diff --git a/src/de/podfetcher/util/URLChecker.java b/src/de/podfetcher/util/URLChecker.java
new file mode 100644
index 000000000..e8916f06a
--- /dev/null
+++ b/src/de/podfetcher/util/URLChecker.java
@@ -0,0 +1,29 @@
+package de.podfetcher.util;
+
+import android.webkit.URLUtil;
+import android.util.Log;
+
+/** Provides methods for checking and editing a URL */
+public class URLChecker {
+
+ private static final String TAG = "URLChecker";
+ private static final String FEEDBURNER_URL = "feeds.feedburner.com";
+ private static final String FEEDBURNER_PREFIX = "?format=xml";
+
+ /** Checks if URL is valid and modifies it if necessary */
+ public static String prepareURL(String url) {
+ StringBuilder builder = new StringBuilder();
+
+ if(!url.startsWith("http")) {
+ builder.append("http://");
+ Log.d(TAG, "Missing http; appending");
+ }
+ builder.append(url);
+
+ if(url.contains(FEEDBURNER_URL)) {
+ Log.d(TAG, "URL seems to be Feedburner URL; appending prefix");
+ builder.append(FEEDBURNER_PREFIX);
+ }
+ return builder.toString();
+ }
+}