summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
diff options
context:
space:
mode:
authorMartin Fietz <martin.fietz@gmail.com>2018-09-30 19:58:53 +0200
committerMartin Fietz <martin.fietz@gmail.com>2018-09-30 19:58:53 +0200
commit3de661d9538b5f67fa6c3318a4096e7fe45c00e3 (patch)
tree71bd1294426b1edff5b65eee01bc08a38b99ef6c /app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
parentc105a63165e6fcb42a3130153edfe24868956909 (diff)
downloadAntennaPod-3de661d9538b5f67fa6c3318a4096e7fe45c00e3.zip
Migrate rxjava to version 2
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java53
1 files changed, 22 insertions, 31 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
index 5e15585a5..0a724d149 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
@@ -1,6 +1,5 @@
package de.danoeh.antennapod.activity;
-import android.content.ClipData;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -24,8 +23,9 @@ import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
-import android.widget.Toast;
+
import com.bumptech.glide.Glide;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator;
@@ -40,10 +40,11 @@ import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
-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.
@@ -67,23 +68,7 @@ public class FeedSettingsActivity extends AppCompatActivity {
private Spinner spnAutoDelete;
private boolean filterInclude = true;
- private Subscription subscription;
-
-
- private final View.OnClickListener copyUrlToClipboard = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(feed != null && feed.getDownload_url() != null) {
- String url = feed.getDownload_url();
- ClipData clipData = ClipData.newPlainText(url, url);
- android.content.ClipboardManager cm = (android.content.ClipboardManager) FeedSettingsActivity.this
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setPrimaryClip(clipData);
- Toast t = Toast.makeText(FeedSettingsActivity.this, R.string.copied_url_msg, Toast.LENGTH_SHORT);
- t.show();
- }
- }
- };
+ private Disposable disposable;
private boolean authInfoChanged = false;
@@ -153,14 +138,17 @@ public class FeedSettingsActivity extends AppCompatActivity {
filterTextChanged = true;
});
- 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;
FeedPreferences prefs = feed.getPreferences();
Glide.with(FeedSettingsActivity.this)
@@ -259,6 +247,9 @@ public class FeedSettingsActivity extends AppCompatActivity {
}, error -> {
Log.d(TAG, Log.getStackTraceString(error));
finish();
+ }, () -> {
+ Log.e(TAG, "Activity was started with invalid arguments");
+ finish();
});
}
@@ -296,8 +287,8 @@ public class FeedSettingsActivity extends AppCompatActivity {
@Override
public void onDestroy() {
super.onDestroy();
- if(subscription != null) {
- subscription.unsubscribe();
+ if(disposable != null) {
+ disposable.dispose();
}
}