diff options
author | ligi <ligi@ligi.de> | 2013-01-23 16:01:31 +0100 |
---|---|---|
committer | ligi <ligi@ligi.de> | 2013-01-23 16:01:31 +0100 |
commit | e54dbbcdce01d3180fe1cdbf245fd6ea2dfafcd8 (patch) | |
tree | fac7a736fc3d76925b29d79749bca92cd5add427 /src/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java | |
parent | eb11da53c7404f83c32b0a1190d59eada37b0d02 (diff) | |
download | AntennaPod-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.java | 84 |
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; + } + +} |