summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
diff options
context:
space:
mode:
authorligi <ligi@ligi.de>2013-01-23 16:01:31 +0100
committerligi <ligi@ligi.de>2013-01-23 16:01:31 +0100
commite54dbbcdce01d3180fe1cdbf245fd6ea2dfafcd8 (patch)
treefac7a736fc3d76925b29d79749bca92cd5add427 /src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
parenteb11da53c7404f83c32b0a1190d59eada37b0d02 (diff)
downloadAntennaPod-e54dbbcdce01d3180fe1cdbf245fd6ea2dfafcd8.zip
import via intent working initially
Diffstat (limited to 'src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java')
-rw-r--r--src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java b/src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
new file mode 100644
index 000000000..7366391d5
--- /dev/null
+++ b/src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
@@ -0,0 +1,84 @@
+package de.danoeh.antennapod.activity;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.Toast;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuItem;
+import de.danoeh.antennapod.AppConfig;
+import de.danoeh.antennapod.PodcastApp;
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.asynctask.OpmlImportWorker;
+import de.danoeh.antennapod.opml.OpmlElement;
+import de.danoeh.antennapod.util.StorageUtils;
+
+import java.io.*;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+
+/** Lets the user start the OPML-import process. */
+public class OpmlImportFromIntentActivity extends OpmlImportBaseActivity {
+ private static final String TAG = "OpmlImportFromPathActivity";
+
+ public static final String IMPORT_DIR = "import/";
+
+ private OpmlImportWorker importWorker;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ setTheme(PodcastApp.getThemeResourceId());
+ super.onCreate(savedInstanceState);
+
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ try {
+ URL mOpmlURL = new URL(getIntent().getData().toString());
+ BufferedReader in = new BufferedReader(new InputStreamReader(mOpmlURL.openStream()));
+ startImport(in);
+ } catch (Exception e) {
+ new AlertDialog.Builder(this).setMessage("Cannot open XML - Reason: " + e.getMessage()).show();
+ }
+
+ }
+
+
+ /** Starts the import process. */
+ private void startImport(Reader reader) {
+
+ if (reader != null) {
+ importWorker = new OpmlImportWorker(this, reader) {
+
+ @Override
+ protected void onPostExecute(ArrayList<OpmlElement> result) {
+ super.onPostExecute(result);
+ if (result != null) {
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Parsing was successful");
+ OpmlImportHolder.setReadElements(result);
+ startActivityForResult(new Intent(
+ OpmlImportFromIntentActivity.this,
+ OpmlFeedChooserActivity.class), 0);
+ } else {
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Parser error occured");
+ }
+ }
+ };
+ importWorker.executeAsync();
+ }
+ }
+
+ @Override
+ protected boolean finishWhenCanceled() {
+ return true;
+ }
+
+}