diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2016-07-02 12:32:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-02 12:32:57 +0200 |
commit | 88516d29caa7d9a331380287f1cb2fe72fce3906 (patch) | |
tree | 645641cf59a75488072ee37ef99cec8cfac0fd15 /app/src/main/java/de/danoeh/antennapod | |
parent | 9372ccc916fc2724d8a92b02049d3303be9bab42 (diff) | |
parent | b1bfbb9bc8180390080037a9a71e3cebca42e390 (diff) | |
download | AntennaPod-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.java | 56 |
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() { |