diff options
Diffstat (limited to 'src/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java')
-rw-r--r-- | src/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/src/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/src/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java index d6ff537a3..cb1c66cab 100644 --- a/src/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/src/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -6,6 +6,7 @@ import java.util.Date; import javax.xml.parsers.ParserConfigurationException; +import android.support.v7.app.ActionBarActivity; import org.xml.sax.SAXException; import android.app.AlertDialog; @@ -17,13 +18,12 @@ import android.view.Gravity; import android.widget.LinearLayout; import android.widget.ProgressBar; -import com.actionbarsherlock.app.SherlockFragmentActivity; - import de.danoeh.antennapod.AppConfig; import de.danoeh.antennapod.R; -import de.danoeh.antennapod.asynctask.DownloadStatus; import de.danoeh.antennapod.feed.Feed; import de.danoeh.antennapod.preferences.UserPreferences; +import de.danoeh.antennapod.service.download.DownloadRequest; +import de.danoeh.antennapod.service.download.DownloadStatus; import de.danoeh.antennapod.service.download.Downloader; import de.danoeh.antennapod.service.download.DownloaderCallback; import de.danoeh.antennapod.service.download.HttpDownloader; @@ -42,10 +42,10 @@ import de.danoeh.antennapod.util.URLChecker; * If the feed cannot be downloaded or parsed, an error dialog will be displayed * and the activity will finish as soon as the error dialog is closed. */ -public abstract class OnlineFeedViewActivity extends SherlockFragmentActivity { +public abstract class OnlineFeedViewActivity extends ActionBarActivity { private static final String TAG = "OnlineFeedViewActivity"; private static final String ARG_FEEDURL = "arg.feedurl"; - + public static final int RESULT_ERROR = 2; private Feed feed; @@ -70,7 +70,7 @@ public abstract class OnlineFeedViewActivity extends SherlockFragmentActivity { @Override protected void onStop() { super.onStop(); - if (downloader != null && downloader.getStatus().isDone() == false) { + if (downloader != null && !downloader.isFinished()) { downloader.cancel(); } } @@ -82,15 +82,14 @@ public abstract class OnlineFeedViewActivity extends SherlockFragmentActivity { @Override public void run() { - DownloadStatus status = downloader.getStatus(); + DownloadStatus status = downloader.getResult(); if (status != null) { if (!status.isCancelled()) { if (status.isSuccessful()) { parseFeed(); } else { - String errorMsg = DownloadError.getErrorString( - OnlineFeedViewActivity.this, - status.getReason()); + String errorMsg = status.getReason().getErrorString( + OnlineFeedViewActivity.this); if (errorMsg != null && status.getReasonDetailed() != null) { errorMsg += " (" @@ -119,10 +118,13 @@ public abstract class OnlineFeedViewActivity extends SherlockFragmentActivity { FileNameGenerator.generateFileName(feed.getDownload_url())) .toString(); feed.setFile_url(fileUrl); - DownloadStatus status = new DownloadStatus(feed, "OnlineFeed"); + DownloadRequest request = new DownloadRequest(feed.getFile_url(), + feed.getDownload_url(), "OnlineFeed", 0, Feed.FEEDFILETYPE_FEED); + /* TODO update HttpDownloader httpDownloader = new HttpDownloader(downloaderCallback, - status); + request); httpDownloader.start(); + */ } /** Displays a progress indicator. */ @@ -187,9 +189,9 @@ public abstract class OnlineFeedViewActivity extends SherlockFragmentActivity { } }); } else { - final String errorMsg = DownloadError.getErrorString( - OnlineFeedViewActivity.this, - DownloadError.ERROR_PARSER_EXCEPTION) + final String errorMsg = + DownloadError.ERROR_PARSER_EXCEPTION.getErrorString( + OnlineFeedViewActivity.this) + " (" + reasonDetailed + ")"; runOnUiThread(new Runnable() { @@ -217,13 +219,14 @@ public abstract class OnlineFeedViewActivity extends SherlockFragmentActivity { } else { builder.setMessage(R.string.error_msg_prefix); } - builder.setNeutralButton(android.R.string.ok, new DialogInterface.OnClickListener() { - - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.cancel(); - } - }); + builder.setNeutralButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + } + }); builder.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { |