summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-07-02 12:32:57 +0200
committerGitHub <noreply@github.com>2016-07-02 12:32:57 +0200
commit88516d29caa7d9a331380287f1cb2fe72fce3906 (patch)
tree645641cf59a75488072ee37ef99cec8cfac0fd15 /app/src/main/java/de/danoeh/antennapod
parent9372ccc916fc2724d8a92b02049d3303be9bab42 (diff)
parentb1bfbb9bc8180390080037a9a71e3cebca42e390 (diff)
downloadAntennaPod-88516d29caa7d9a331380287f1cb2fe72fce3906.zip
Merge pull request #2050 from mfietz/issue/2049-missing-onerror
OnlineFeedViewActivity: Add onError and refactor
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java56
1 files changed, 31 insertions, 25 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index f393b4cc7..a40877832 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -119,9 +119,12 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
updater = Observable.fromCallable(() -> DBReader.getFeedList())
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(feeds -> {
+ .subscribe(
+ feeds -> {
OnlineFeedViewActivity.this.feeds = feeds;
setSubscribeButtonState(feed);
+ }, error -> {
+ Log.e(TAG, Log.getStackTraceString(error));
}
);
} else if ((arg & EVENTS) != 0) {
@@ -281,30 +284,33 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(status -> {
- if (status != null) {
- if (!status.isCancelled()) {
- if (status.isSuccessful()) {
- parseFeed();
- } else if (status.getReason() == DownloadError.ERROR_UNAUTHORIZED) {
- if (!isFinishing() && !isPaused) {
- dialog = new FeedViewAuthenticationDialog(OnlineFeedViewActivity.this,
- R.string.authentication_notification_title, downloader.getDownloadRequest().getSource());
- dialog.show();
- }
- } else {
- String errorMsg = status.getReason().getErrorString(OnlineFeedViewActivity.this);
- if (errorMsg != null && status.getReasonDetailed() != null) {
- errorMsg += " (" + status.getReasonDetailed() + ")";
- }
- showErrorDialog(errorMsg);
- }
- }
- } else {
- Log.wtf(TAG, "DownloadStatus returned by Downloader was null");
- finish();
- }
- });
+ .subscribe(status -> checkDownloadResult(status),
+ error -> Log.e(TAG, Log.getStackTraceString(error)));
+ }
+
+ private void checkDownloadResult(DownloadStatus status) {
+ if (status == null) {
+ Log.wtf(TAG, "DownloadStatus returned by Downloader was null");
+ finish();
+ }
+ if (status.isCancelled()) {
+ return;
+ }
+ if (status.isSuccessful()) {
+ parseFeed();
+ } else if (status.getReason() == DownloadError.ERROR_UNAUTHORIZED) {
+ if (!isFinishing() && !isPaused) {
+ dialog = new FeedViewAuthenticationDialog(OnlineFeedViewActivity.this,
+ R.string.authentication_notification_title, downloader.getDownloadRequest().getSource());
+ dialog.show();
+ }
+ } else {
+ String errorMsg = status.getReason().getErrorString(OnlineFeedViewActivity.this);
+ if (errorMsg != null && status.getReasonDetailed() != null) {
+ errorMsg += " (" + status.getReasonDetailed() + ")";
+ }
+ showErrorDialog(errorMsg);
+ }
}
private void parseFeed() {