diff options
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.java | 83 |
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); -} |