summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java
diff options
context:
space:
mode:
authorTony Tam <engineer.tonytam@pm.me>2020-04-01 03:44:58 -0700
committerGitHub <noreply@github.com>2020-04-01 12:44:58 +0200
commitea58748b22288ba8f4e372ed4801f242185e593c (patch)
tree58b3ffce9d013a9627b69eccecc705194c41a305 /app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java
parenteae200b0dcbd43e5d136180558925d24983a2484 (diff)
downloadAntennaPod-ea58748b22288ba8f4e372ed4801f242185e593c.zip
Use AlertDialog for episode filters (#3981)
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java63
1 files changed, 26 insertions, 37 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java
index ba778be56..eb33da037 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodeFilterDialog.java
@@ -1,38 +1,33 @@
package de.danoeh.antennapod.dialog;
-import android.app.Dialog;
import android.content.Context;
-import android.os.Bundle;
-import android.widget.Button;
+import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
+
+import androidx.appcompat.app.AlertDialog;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedFilter;
/**
* Displays a dialog with a text box for filtering episodes and two radio buttons for exclusion/inclusion
*/
-public abstract class EpisodeFilterDialog extends Dialog {
+public abstract class EpisodeFilterDialog extends AlertDialog.Builder {
private final FeedFilter initialFilter;
public EpisodeFilterDialog(Context context, FeedFilter filter) {
- super(context);
- this.initialFilter = filter;
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.episode_filter_dialog);
- final EditText etxtEpisodeFilterText = findViewById(R.id.etxtEpisodeFilterText);
- final RadioButton radioInclude = findViewById(R.id.radio_filter_include);
- final RadioButton radioExclude = findViewById(R.id.radio_filter_exclude);
- final Button butConfirm = findViewById(R.id.butConfirm);
- final Button butCancel = findViewById(R.id.butCancel);
+ super(context);
+ initialFilter = filter;
setTitle(R.string.episode_filters_label);
- setOnCancelListener(dialog -> onCancelled());
+ View rootView = View.inflate(context, R.layout.episode_filter_dialog, null);
+ setView(rootView);
+
+ final EditText etxtEpisodeFilterText = rootView.findViewById(R.id.etxtEpisodeFilterText);
+ final RadioButton radioInclude = rootView.findViewById(R.id.radio_filter_include);
+ final RadioButton radioExclude = rootView.findViewById(R.id.radio_filter_exclude);
if (initialFilter.includeOnly()) {
radioInclude.setChecked(true);
@@ -46,25 +41,19 @@ public abstract class EpisodeFilterDialog extends Dialog {
etxtEpisodeFilterText.setText("");
}
-
- butCancel.setOnClickListener(v -> cancel());
- butConfirm.setOnClickListener(v -> {
-
- String includeString = "";
- String excludeString = "";
- if (radioInclude.isChecked()) {
- includeString = etxtEpisodeFilterText.getText().toString();
- } else {
- excludeString = etxtEpisodeFilterText.getText().toString();
- }
-
- onConfirmed(new FeedFilter(includeString, excludeString));
- dismiss();
- });
- }
-
- protected void onCancelled() {
-
+ setNegativeButton(R.string.cancel_label, null);
+ setPositiveButton(R.string.confirm_label, (dialog, which) -> {
+ String includeString = "";
+ String excludeString = "";
+ if (radioInclude.isChecked()) {
+ includeString = etxtEpisodeFilterText.getText().toString();
+ } else {
+ excludeString = etxtEpisodeFilterText.getText().toString();
+ }
+
+ onConfirmed(new FeedFilter(includeString, excludeString));
+ }
+ );
}
protected abstract void onConfirmed(FeedFilter filter);