diff options
Diffstat (limited to 'core/src')
5 files changed, 20 insertions, 12 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java index 3a87e0c94..e275d4e1e 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/HttpDownloader.java @@ -137,6 +137,9 @@ public class HttpDownloader extends Downloader { } else if (response.code() == HttpURLConnection.HTTP_FORBIDDEN) { error = DownloadError.ERROR_FORBIDDEN; details = String.valueOf(response.code()); + } else if (response.code() == HttpURLConnection.HTTP_NOT_FOUND) { + error = DownloadError.ERROR_NOT_FOUND; + details = String.valueOf(response.code()); } else { error = DownloadError.ERROR_HTTP_DATA_ERROR; details = String.valueOf(response.code()); diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java index 18c5fce27..d07018f13 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/handler/FeedParserTask.java @@ -58,6 +58,9 @@ public class FeedParserTask implements Callable<FeedHandlerResult> { e.printStackTrace(); successful = false; reason = DownloadError.ERROR_UNSUPPORTED_TYPE; + if ("html".equalsIgnoreCase(e.getRootElement())) { + reason = DownloadError.ERROR_UNSUPPORTED_TYPE_HTML; + } reasonDetailed = e.getMessage(); } catch (InvalidFeedException e) { e.printStackTrace(); diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/handler/UnsupportedFeedtypeException.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/handler/UnsupportedFeedtypeException.java index 11588967a..c9f9f19c8 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/syndication/handler/UnsupportedFeedtypeException.java +++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/handler/UnsupportedFeedtypeException.java @@ -36,9 +36,6 @@ public class UnsupportedFeedtypeException extends Exception { if (message != null) { return message; } else if (type == TypeGetter.Type.INVALID) { - if ("html".equals(rootElement)) { - return "The server returned a website, not a podcast feed"; - } return "Invalid type"; } else { return "Type " + type + " not supported"; diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java b/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java index 9fb1b248b..d9b6cf467 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/DownloadError.java @@ -13,7 +13,7 @@ public enum DownloadError { ERROR_MALFORMED_URL(4, R.string.download_error_error_unknown), ERROR_IO_ERROR(5, R.string.download_error_io_error), ERROR_FILE_EXISTS(6, R.string.download_error_error_unknown), - ERROR_DOWNLOAD_CANCELLED(7, R.string.download_error_error_unknown), + ERROR_DOWNLOAD_CANCELLED(7, R.string.download_canceled_msg), ERROR_DEVICE_NOT_FOUND(8, R.string.download_error_device_not_found), ERROR_HTTP_DATA_ERROR(9, R.string.download_error_http_data_error), ERROR_NOT_ENOUGH_SPACE(10, R.string.download_error_insufficient_space), @@ -23,8 +23,10 @@ public enum DownloadError { ERROR_UNAUTHORIZED(14, R.string.download_error_unauthorized), ERROR_FILE_TYPE(15, R.string.download_error_file_type_type), ERROR_FORBIDDEN(16, R.string.download_error_forbidden), - ERROR_IO_WRONG_SIZE(17, R.string.download_wrong_size), - ERROR_IO_BLOCKED(18, R.string.download_blocked); + ERROR_IO_WRONG_SIZE(17, R.string.download_error_wrong_size), + ERROR_IO_BLOCKED(18, R.string.download_error_blocked), + ERROR_UNSUPPORTED_TYPE_HTML(19, R.string.download_error_unsupported_type_html), + ERROR_NOT_FOUND(20, R.string.download_error_not_found); private final int code; private final int resId; diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index e8dcdef73..8f89a7792 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -179,7 +179,7 @@ <string name="hide_not_queued_episodes_label">Not queued</string> <string name="hide_has_media_label">Has media</string> <string name="filtered_label">Filtered</string> - <string name="refresh_failed_msg">{fa-exclamation-circle} Last Refresh failed</string> + <string name="refresh_failed_msg">{fa-exclamation-circle} Last Refresh failed. Tap to view details.</string> <string name="open_podcast">Open Podcast</string> <string name="please_wait_for_data">Please wait until the data is loaded</string> @@ -245,20 +245,23 @@ <string name="download_running">Download running</string> <string name="download_error_details">Details</string> <string name="download_error_details_message">%1$s \n\nFile URL:\n%2$s</string> + <string name="download_error_tap_for_details">Tap to view details.</string> <string name="download_error_device_not_found">Storage Device not found</string> - <string name="download_error_insufficient_space">Insufficient Space</string> + <string name="download_error_insufficient_space">There is not enough space left on your device.</string> <string name="download_error_http_data_error">HTTP Data Error</string> <string name="download_error_error_unknown">Unknown Error</string> - <string name="download_error_parser_exception">Parser Exception</string> + <string name="download_error_parser_exception">The podcast host\'s server sent a broken podcast feed.</string> <string name="download_error_unsupported_type">Unsupported Feed Type</string> + <string name="download_error_unsupported_type_html">The podcast host\'s server sent a website, not a podcast.</string> + <string name="download_error_not_found">The podcast host\'s server does not know where to find the file. It may have been deleted.</string> <string name="download_error_connection_error">Connection Error</string> <string name="download_error_unknown_host">Unknown Host</string> <string name="download_error_unauthorized">Authentication Error</string> <string name="download_error_file_type_type">File Type Error</string> - <string name="download_error_forbidden">Forbidden</string> + <string name="download_error_forbidden">The podcast host\'s server refuses to respond.</string> <string name="download_canceled_msg">Download canceled</string> - <string name="download_wrong_size">The server connection was lost before completing the download</string> - <string name="download_blocked">The download was blocked by another app on your device</string> + <string name="download_error_wrong_size">The server connection was lost before completing the download</string> + <string name="download_error_blocked">The download was blocked by another app on your device.</string> <string name="download_canceled_autodownload_enabled_msg">Download canceled\nDisabled <i>Auto Download</i> for this item</string> <string name="download_report_title">Downloads completed with error(s)</string> <string name="auto_download_report_title">Auto-downloads completed</string> |