summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java83
1 files changed, 0 insertions, 83 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java
deleted file mode 100644
index 593b055f6..000000000
--- a/app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package de.danoeh.antennapod.dialog;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.RadioButton;
-
-import androidx.appcompat.app.AlertDialog;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.model.feed.FeedItemFilter;
-import de.danoeh.antennapod.core.feed.FeedItemFilterGroup;
-import de.danoeh.antennapod.ui.common.RecursiveRadioGroup;
-
-public abstract class FilterDialog {
-
- protected FeedItemFilter filter;
- protected Context context;
-
- public FilterDialog(Context context, FeedItemFilter feedItemFilter) {
- this.context = context;
- this.filter = feedItemFilter;
- }
-
- public void openDialog() {
-
- final Set<String> filterValues = new HashSet<>(Arrays.asList(filter.getValues()));
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle(R.string.filter);
-
- LayoutInflater inflater = LayoutInflater.from(this.context);
- View layout = inflater.inflate(R.layout.filter_dialog, null, false);
- LinearLayout rows = layout.findViewById(R.id.filter_rows);
- builder.setView(layout);
-
- for (FeedItemFilterGroup item : FeedItemFilterGroup.values()) {
- RecursiveRadioGroup row = (RecursiveRadioGroup) inflater.inflate(R.layout.filter_dialog_row, null, false);
- RadioButton filter1 = row.findViewById(R.id.filter_dialog_radioButton1);
- RadioButton filter2 = row.findViewById(R.id.filter_dialog_radioButton2);
- filter1.setText(item.values[0].displayName);
- filter1.setTag(item.values[0].filterId);
- filter2.setText(item.values[1].displayName);
- filter2.setTag(item.values[1].filterId);
- rows.addView(row);
- }
-
- for (String filterId : filterValues) {
- if (!TextUtils.isEmpty(filterId)) {
- RadioButton button = layout.findViewWithTag(filterId);
- if (button != null) {
- button.setChecked(true);
- }
- }
- }
-
- builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> {
- filterValues.clear();
- for (int i = 0; i < rows.getChildCount(); i++) {
- if (!(rows.getChildAt(i) instanceof RecursiveRadioGroup)) {
- continue;
- }
- RecursiveRadioGroup group = (RecursiveRadioGroup) rows.getChildAt(i);
- if (group.getCheckedButton() != null) {
- String tag = (String) group.getCheckedButton().getTag();
- if (tag != null) { // Clear buttons use no tag
- filterValues.add((String) group.getCheckedButton().getTag());
- }
- }
- }
- updateFilter(filterValues);
- });
- builder.setNegativeButton(R.string.cancel_label, null);
- builder.create().show();
- }
-
- protected abstract void updateFilter(Set<String> filterValues);
-}