summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java42
1 files changed, 26 insertions, 16 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
index 6b1272b01..ebb826287 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
@@ -16,8 +16,14 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
+
import com.bumptech.glide.Glide;
import com.joanzapata.iconify.Iconify;
+
+import org.apache.commons.lang3.StringUtils;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator;
import de.danoeh.antennapod.core.feed.Feed;
@@ -30,13 +36,11 @@ import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.LangUtils;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
-import org.apache.commons.lang3.StringUtils;
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-import rx.Observable;
-import rx.Subscription;
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
+import io.reactivex.Maybe;
+import io.reactivex.MaybeOnSubscribe;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
/**
* Displays information about a feed.
@@ -56,7 +60,7 @@ public class FeedInfoActivity extends AppCompatActivity {
private TextView txtvAuthor;
private TextView txtvUrl;
- private Subscription subscription;
+ private Disposable disposable;
private final View.OnClickListener copyUrlToClipboard = new View.OnClickListener() {
@@ -101,14 +105,17 @@ public class FeedInfoActivity extends AppCompatActivity {
txtvUrl.setOnClickListener(copyUrlToClipboard);
- subscription = Observable.fromCallable(()-> DBReader.getFeed(feedId))
- .subscribeOn(Schedulers.newThread())
+ disposable = Maybe.create((MaybeOnSubscribe<Feed>) emitter -> {
+ Feed feed = DBReader.getFeed(feedId);
+ if(feed != null) {
+ emitter.onSuccess(feed);
+ } else {
+ emitter.onComplete();
+ }
+ })
+ .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
- if (result == null) {
- Log.e(TAG, "Activity was started with invalid arguments");
- finish();
- }
feed = result;
Log.d(TAG, "Language is " + feed.getLanguage());
Log.d(TAG, "Author is " + feed.getAuthor());
@@ -164,14 +171,17 @@ public class FeedInfoActivity extends AppCompatActivity {
}, error -> {
Log.d(TAG, Log.getStackTraceString(error));
finish();
+ }, () -> {
+ Log.e(TAG, "Activity was started with invalid arguments");
+ finish();
});
}
@Override
public void onDestroy() {
super.onDestroy();
- if(subscription != null) {
- subscription.unsubscribe();
+ if(disposable != null) {
+ disposable.dispose();
}
}