summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java112
-rw-r--r--app/src/main/java/de/danoeh/antennapod/view/RecursiveRadioGroup.java68
-rw-r--r--app/src/main/res/layout/filter_dialog.xml (renamed from app/src/main/res/layout/filter_dialog_layout.xml)0
-rw-r--r--app/src/main/res/layout/filter_dialog_relative_cardview.xml55
-rw-r--r--app/src/main/res/layout/filter_dialog_row.xml63
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedItemFilterGroup.java98
-rw-r--r--core/src/main/res/color/filter_dialog_button_background_light.xml5
-rw-r--r--core/src/main/res/color/filter_dialog_button_clear.xml5
-rw-r--r--core/src/main/res/color/filter_dialog_button_text_light.xml5
-rw-r--r--core/src/main/res/drawable/filter_dialog_x_off.xml56
-rw-r--r--core/src/main/res/drawable/ic_filter_close_light.xml (renamed from core/src/main/res/drawable/filter_dialog_x_on.xml)8
-rw-r--r--core/src/main/res/values/arrays.xml12
12 files changed, 200 insertions, 287 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
index ece286eb4..2448742ca 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/FilterDialog.java
@@ -1,22 +1,18 @@
package de.danoeh.antennapod.dialog;
import android.content.Context;
-import android.graphics.Color;
+import android.text.TextUtils;
import android.view.LayoutInflater;
import android.widget.LinearLayout;
import android.widget.RadioButton;
-import android.widget.RelativeLayout;
-
import androidx.appcompat.app.AlertDialog;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItemFilter;
import de.danoeh.antennapod.core.feed.FeedItemFilterGroup;
+import de.danoeh.antennapod.view.RecursiveRadioGroup;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
public abstract class FilterDialog {
@@ -35,91 +31,35 @@ public abstract class FilterDialog {
builder.setTitle(R.string.filter);
LayoutInflater inflater = LayoutInflater.from(this.context);
- LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.filter_dialog_layout, null, false);
+ LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.filter_dialog, null, false);
builder.setView(layout);
- for (FeedItemFilterGroup.FeedItemEnum item : FeedItemFilterGroup.FeedItemEnum.values()) {
-
- RelativeLayout row = (RelativeLayout) inflater.inflate(R.layout.filter_dialog_relative_cardview, null);
- RadioButton radioButton1 = row.findViewById(R.id.filter_dialog_radioButton1);
- RadioButton radioButton2 = row.findViewById(R.id.filter_dialog_radioButton2);
- RadioButton radioButton3 = row.findViewById(R.id.filter_dialog_radioButton3);
- radioButton1.setText(item.values[1].displayName);
- radioButton1.setTextColor(Color.BLACK);
- radioButton2.setText(item.values[0].displayName);
- radioButton2.setTextColor(Color.BLACK);
-
- Iterator<String> filterIterator = filterValues.iterator();
- while (filterIterator.hasNext()) {
- String nextItem = filterIterator.next();
- if (item.values[1].filterId.equals(nextItem)) {
- item.values[1].setSelected(true);
- item.values[0].setSelected(false);
- radioButton1.setBackgroundResource(R.color.accent_light);
- radioButton2.setBackgroundResource(R.color.master_switch_background_light);
- radioButton3.setBackgroundResource(R.drawable.filter_dialog_x_on);
- radioButton1.setSelected(true);
- radioButton2.setSelected(false);
- radioButton1.setTextColor(Color.WHITE);
- radioButton2.setTextColor(Color.BLACK);
- }
- if (item.values[0].filterId.equals(nextItem)) {
- item.values[0].setSelected(true);
- item.values[1].setSelected(false);
- radioButton2.setBackgroundResource(R.color.accent_light);
- radioButton1.setBackgroundResource(R.color.master_switch_background_light);
- radioButton3.setBackgroundResource(R.drawable.filter_dialog_x_on);
- radioButton2.setSelected(true);
- radioButton1.setSelected(false);
- radioButton2.setTextColor(Color.WHITE);
- radioButton1.setTextColor(Color.BLACK);
- }
- }
-
- radioButton1.setOnClickListener(arg0 -> {
- item.values[1].setSelected(true);
- item.values[0].setSelected(false);
- radioButton1.setBackgroundResource(R.color.accent_light);
- radioButton2.setBackgroundResource(R.color.master_switch_background_light);
- radioButton3.setBackgroundResource(R.drawable.filter_dialog_x_on);
- radioButton2.setSelected(false);
- radioButton2.setTextColor(Color.BLACK);
- radioButton1.setSelected(true);
- radioButton1.setTextColor(Color.WHITE);
- });
- radioButton2.setOnClickListener(arg0 -> {
- item.values[0].setSelected(true);
- item.values[1].setSelected(false);
- radioButton2.setBackgroundResource(R.color.accent_light);
- radioButton1.setBackgroundResource(R.color.master_switch_background_light);
- radioButton3.setBackgroundResource(R.drawable.filter_dialog_x_on);
- radioButton1.setSelected(false);
- radioButton1.setTextColor(Color.BLACK);
- radioButton2.setSelected(true);
- radioButton2.setTextColor(Color.WHITE);
- });
- radioButton3.setOnClickListener(arg0 -> {
- item.values[0].setSelected(false);
- item.values[1].setSelected(false);
- radioButton1.setBackgroundResource(R.color.master_switch_background_light);
- radioButton2.setBackgroundResource(R.color.master_switch_background_light);
- radioButton3.setBackgroundResource(R.drawable.filter_dialog_x_off);
- radioButton2.setTextColor(Color.BLACK);
- radioButton2.setSelected(false);
- radioButton1.setTextColor(Color.BLACK);
- radioButton1.setSelected(false);
- });
+ for (FeedItemFilterGroup item : FeedItemFilterGroup.values()) {
+ RecursiveRadioGroup row = (RecursiveRadioGroup) inflater.inflate(R.layout.filter_dialog_row, null);
+ 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);
layout.addView(row);
}
+ for (String filterId : filterValues) {
+ if (!TextUtils.isEmpty(filterId)) {
+ ((RadioButton) layout.findViewWithTag(filterId)).setChecked(true);
+ }
+ }
builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> {
filterValues.clear();
- for (FeedItemFilterGroup.FeedItemEnum item : FeedItemFilterGroup.FeedItemEnum.values()) {
- for (int i = 0; i < item.values.length; i++) {
- if (item.values[i].getSelected()) {
- filterValues.add(item.values[i].filterId);
- }
+ for (int i = 0; i < layout.getChildCount(); i++) {
+ if (!(layout.getChildAt(i) instanceof RecursiveRadioGroup)) {
+ continue;
+ }
+ RecursiveRadioGroup group = (RecursiveRadioGroup) layout.getChildAt(i);
+ if (group.getCheckedButton() != null) {
+ filterValues.add((String) group.getCheckedButton().getTag());
}
}
updateFilter(filterValues);
diff --git a/app/src/main/java/de/danoeh/antennapod/view/RecursiveRadioGroup.java b/app/src/main/java/de/danoeh/antennapod/view/RecursiveRadioGroup.java
new file mode 100644
index 000000000..162f524bf
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/view/RecursiveRadioGroup.java
@@ -0,0 +1,68 @@
+package de.danoeh.antennapod.view;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.ActionMode;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.RadioButton;
+import java.util.ArrayList;
+
+/**
+ * An alternative to {@link android.widget.RadioGroup} that allows to nest children.
+ * Basend on https://stackoverflow.com/a/14309274.
+ */
+public class RecursiveRadioGroup extends LinearLayout {
+ private final ArrayList<RadioButton> radioButtons = new ArrayList<>();
+ private RadioButton checkedButton = null;
+
+ public RecursiveRadioGroup(Context context) {
+ super(context);
+ }
+
+ public RecursiveRadioGroup(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public RecursiveRadioGroup(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ @Override
+ public void addView(View child, int index, ViewGroup.LayoutParams params) {
+ super.addView(child, index, params);
+ parseChild(child);
+ }
+
+ public void parseChild(final View child) {
+ if (child instanceof RadioButton) {
+ RadioButton button = (RadioButton) child;
+ radioButtons.add(button);
+ button.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ if (!isChecked) {
+ return;
+ }
+ checkedButton = (RadioButton) buttonView;
+
+ for (RadioButton view : radioButtons) {
+ if (view != buttonView) {
+ view.setChecked(false);
+ }
+ }
+ });
+ } else if (child instanceof ViewGroup) {
+ parseChildren((ViewGroup) child);
+ }
+ }
+
+ public void parseChildren(final ViewGroup child) {
+ for (int i = 0; i < child.getChildCount(); i++) {
+ parseChild(child.getChildAt(i));
+ }
+ }
+
+ public RadioButton getCheckedButton() {
+ return checkedButton;
+ }
+}
diff --git a/app/src/main/res/layout/filter_dialog_layout.xml b/app/src/main/res/layout/filter_dialog.xml
index c50e08814..c50e08814 100644
--- a/app/src/main/res/layout/filter_dialog_layout.xml
+++ b/app/src/main/res/layout/filter_dialog.xml
diff --git a/app/src/main/res/layout/filter_dialog_relative_cardview.xml b/app/src/main/res/layout/filter_dialog_relative_cardview.xml
deleted file mode 100644
index e3dc94f64..000000000
--- a/app/src/main/res/layout/filter_dialog_relative_cardview.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <androidx.cardview.widget.CardView xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="260dp"
- android:layout_height="48dp"
- android:layout_marginBottom="10dp"
- android:clipChildren="true"
- app:cardCornerRadius="24dp"
- app:cardElevation="0dp">
-
- <RadioGroup
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal">
-
- <RadioButton
- android:id="@+id/filter_dialog_radioButton1"
- android:layout_width="130dp"
- android:layout_height="48dp"
- android:layout_weight="1"
- android:background="@color/master_switch_background_light"
- android:button="@android:color/transparent"
- android:checked="false"
- android:gravity="center" />
-
- <RadioButton
- android:id="@+id/filter_dialog_radioButton2"
- android:layout_width="130dp"
- android:layout_height="48dp"
- android:layout_weight="1"
- android:background="@color/master_switch_background_light"
- android:button="@android:color/transparent"
- android:checked="false"
- android:gravity="center" />
- </RadioGroup>
- </androidx.cardview.widget.CardView>
-
- <RadioButton
- android:id="@+id/filter_dialog_radioButton3"
- android:layout_width="50dp"
- android:layout_height="48dp"
- android:layout_marginStart="270dp"
- android:layout_marginLeft="270dp"
- android:layout_marginEnd="0dp"
- android:layout_marginRight="0dp"
- android:background="@drawable/filter_dialog_x_off"
- android:button="@android:color/transparent"
- android:checked="false" />
-
-
-</RelativeLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/filter_dialog_row.xml b/app/src/main/res/layout/filter_dialog_row.xml
new file mode 100644
index 000000000..bf90e17e0
--- /dev/null
+++ b/app/src/main/res/layout/filter_dialog_row.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<de.danoeh.antennapod.view.RecursiveRadioGroup
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
+
+ <androidx.cardview.widget.CardView
+ android:layout_width="0dp"
+ android:layout_height="48dp"
+ android:layout_marginBottom="10dp"
+ android:layout_weight="1"
+ android:clipChildren="true"
+ app:cardCornerRadius="24dp"
+ app:cardElevation="0dp">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
+
+ <RadioButton
+ android:id="@+id/filter_dialog_radioButton1"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="@color/filter_dialog_button_background_light"
+ android:textColor="@color/filter_dialog_button_text_light"
+ android:button="@android:color/transparent"
+ android:layout_marginRight="2dp"
+ android:layout_marginEnd="2dp"
+ android:checked="false"
+ android:foreground="?attr/selectableItemBackground"
+ android:tag=""
+ android:gravity="center" />
+
+ <RadioButton
+ android:id="@+id/filter_dialog_radioButton2"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:background="@color/filter_dialog_button_background_light"
+ android:textColor="@color/filter_dialog_button_text_light"
+ android:button="@android:color/transparent"
+ android:checked="false"
+ android:foreground="?attr/selectableItemBackground"
+ android:tag=""
+ android:gravity="center" />
+ </LinearLayout>
+ </androidx.cardview.widget.CardView>
+
+ <RadioButton
+ android:id="@+id/filter_dialog_clear"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:background="@drawable/ic_filter_close_light"
+ android:button="@android:color/transparent"
+ android:foreground="?attr/selectableItemBackground"
+ android:tag=""
+ android:checked="true" />
+
+</de.danoeh.antennapod.view.RecursiveRadioGroup>
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItemFilterGroup.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItemFilterGroup.java
index 18c1c186d..7a0eac2e3 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItemFilterGroup.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedItemFilterGroup.java
@@ -2,83 +2,35 @@ package de.danoeh.antennapod.core.feed;
import de.danoeh.antennapod.core.R;
-public class FeedItemFilterGroup {
-
- private static boolean DEFAULT_SELECTED_STATE = false;
-
- private static final String NO_FILTERID = "";
- private static final int HASMEDIA_LABEL = R.string.has_media;
- private static final int NOTPAUSED_LABEL = R.string.not_paused;
- private static final int NOTFAVORITE_LABEL = R.string.not_favorite;
-
- private static final int UNPLAYED_LABEL = R.string.not_played;
- private static final String UNPLAYED_FILTERID = "unplayed";
-
- private static final int PLAYED_LABEL = R.string.hide_played_episodes_label;
- private static final String PLAYED_FILTERID = "played";
-
- private static final int PAUSED_LABEL = R.string.hide_paused_episodes_label;
- private static final String PAUSED_FILTERID = "paused";
-
- private static final int ISFAVORITE_LABEL = R.string.hide_is_favorite_label;
- private static final String ISFAVORITE_FILTERID = "is_favorite";
-
- private static final int NOMEDIA_LABEL = R.string.no_media;
- private static final String NOMEDIA_FILTERID = "no_media";
-
- private static final int QUEUED_LABEL = R.string.queue_label;
- private static final String QUEUED_FILTERID = "queued";
-
- private static final int NOTQUEUED_LABEL = R.string.not_queued_label;
- private static final String NOTQUEUED_FILTERID = "not_queued";
-
- private static final int NOTDOWNLOADED_LABEL = R.string.hide_downloaded_episodes_label;
- private static final String NOTDOWNLOADED_FILTERID = "not_downloaded";
-
- private static final int DOWNLOADED_LABEL = R.string.hide_downloaded_episodes_label;
- private static final String DOWNLOADED_FILTERID = "downloaded";
-
- public enum FeedItemEnum {
+public enum FeedItemFilterGroup {
+ PLAYED(new ItemProperties(R.string.hide_played_episodes_label, "played"),
+ new ItemProperties(R.string.not_played, "unplayed")),
+ PAUSED(new ItemProperties(R.string.hide_paused_episodes_label, "paused"),
+ new ItemProperties(R.string.not_paused, "")),
+ FAVORITE(new ItemProperties(R.string.hide_is_favorite_label, "is_favorite"),
+ new ItemProperties(R.string.not_favorite, "")),
+ MEDIA(new ItemProperties(R.string.has_media, ""),
+ new ItemProperties(R.string.no_media, "no_media")),
+ QUEUED(new ItemProperties(R.string.queued_label, "queued"),
+ new ItemProperties(R.string.not_queued_label, "not_queued")),
+ DOWNLOADED(new ItemProperties(R.string.hide_downloaded_episodes_label, "downloaded"),
+ new ItemProperties(R.string.hide_not_downloaded_episodes_label, "not_downloaded"));
+
+ public final ItemProperties[] values;
+
+ FeedItemFilterGroup(ItemProperties... values) {
+ this.values = values;
+ }
- PLAYED(new ItemProperties(DEFAULT_SELECTED_STATE, UNPLAYED_LABEL, UNPLAYED_FILTERID),
- new ItemProperties(DEFAULT_SELECTED_STATE, PLAYED_LABEL, PLAYED_FILTERID)),
- PAUSED(new ItemProperties(DEFAULT_SELECTED_STATE, NOTPAUSED_LABEL, NO_FILTERID),
- new ItemProperties(DEFAULT_SELECTED_STATE, PAUSED_LABEL, PAUSED_FILTERID)),
- FAVORITE(new ItemProperties(DEFAULT_SELECTED_STATE, NOTFAVORITE_LABEL, NO_FILTERID),
- new ItemProperties(DEFAULT_SELECTED_STATE, ISFAVORITE_LABEL, ISFAVORITE_FILTERID)),
- MEDIA(new ItemProperties(DEFAULT_SELECTED_STATE, NOMEDIA_LABEL, NOMEDIA_FILTERID),
- new ItemProperties(DEFAULT_SELECTED_STATE, HASMEDIA_LABEL, NO_FILTERID)),
- QUEUED(new ItemProperties(DEFAULT_SELECTED_STATE, NOTQUEUED_LABEL, NOTQUEUED_FILTERID),
- new ItemProperties(DEFAULT_SELECTED_STATE, QUEUED_LABEL, QUEUED_FILTERID)),
- DOWNLOADED(new ItemProperties(DEFAULT_SELECTED_STATE, NOTDOWNLOADED_LABEL, NOTDOWNLOADED_FILTERID),
- new ItemProperties(DEFAULT_SELECTED_STATE, DOWNLOADED_LABEL, DOWNLOADED_FILTERID));
+ public static class ItemProperties {
- public final ItemProperties[] values;
+ public final int displayName;
+ public final String filterId;
- FeedItemEnum(ItemProperties... values) {
- this.values = values;
+ public ItemProperties(int displayName, String filterId) {
+ this.displayName = displayName;
+ this.filterId = filterId;
}
- public static class ItemProperties {
-
- public final int displayName;
- public boolean selected;
- public final String filterId;
-
- public void setSelected(boolean value) {
- this.selected = value;
- }
-
- public boolean getSelected() {
- return this.selected;
- }
-
- public ItemProperties(boolean selected, int displayName, String filterId) {
- this.selected = selected;
- this.displayName = displayName;
- this.filterId = filterId;
- }
-
- }
}
}
diff --git a/core/src/main/res/color/filter_dialog_button_background_light.xml b/core/src/main/res/color/filter_dialog_button_background_light.xml
new file mode 100644
index 000000000..c6dd0d6cb
--- /dev/null
+++ b/core/src/main/res/color/filter_dialog_button_background_light.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_checked="true" android:color="@color/accent_light" />
+ <item android:color="@color/master_switch_background_light" />
+</selector>
diff --git a/core/src/main/res/color/filter_dialog_button_clear.xml b/core/src/main/res/color/filter_dialog_button_clear.xml
new file mode 100644
index 000000000..1ef3e3e57
--- /dev/null
+++ b/core/src/main/res/color/filter_dialog_button_clear.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_checked="true" android:color="@color/grey" />
+ <item android:color="@color/master_switch_background_light" />
+</selector>
diff --git a/core/src/main/res/color/filter_dialog_button_text_light.xml b/core/src/main/res/color/filter_dialog_button_text_light.xml
new file mode 100644
index 000000000..0a5388eb9
--- /dev/null
+++ b/core/src/main/res/color/filter_dialog_button_text_light.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_checked="true" android:color="@color/white" />
+ <item android:color="@color/black" />
+</selector>
diff --git a/core/src/main/res/drawable/filter_dialog_x_off.xml b/core/src/main/res/drawable/filter_dialog_x_off.xml
deleted file mode 100644
index 8368ffa51..000000000
--- a/core/src/main/res/drawable/filter_dialog_x_off.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item
- android:bottom="5dp"
- android:left="5dp"
- android:right="5dp"
- android:top="5dp">
-
- <shape android:shape="oval">
- <stroke
- android:width="4dp"
- android:color="@color/master_switch_background_light" />
- </shape>
-
- </item>
-
- <!-- x -->
- <item
- android:bottom="12dp"
- android:left="12dp"
- android:right="12dp"
- android:top="12dp">
- <rotate
- android:fromDegrees="135"
- android:pivotX="50%"
- android:pivotY="50%"
- android:toDegrees="135">
- <shape android:shape="line">
- <stroke
- android:width="4dp"
- android:color="@color/master_switch_background_light" />
- </shape>
- </rotate>
- </item>
-
- <item
- android:bottom="12dp"
- android:left="12dp"
- android:right="12dp"
- android:top="12dp">
- <rotate
- android:fromDegrees="45"
- android:pivotX="50%"
- android:pivotY="50%"
- android:toDegrees="45">
- <shape android:shape="line">
- <stroke
- android:width="4dp"
- android:color="@color/master_switch_background_light" />
- </shape>
-
- </rotate>
- </item>
-
-</layer-list> \ No newline at end of file
diff --git a/core/src/main/res/drawable/filter_dialog_x_on.xml b/core/src/main/res/drawable/ic_filter_close_light.xml
index b25b42df3..1d695cd0f 100644
--- a/core/src/main/res/drawable/filter_dialog_x_on.xml
+++ b/core/src/main/res/drawable/ic_filter_close_light.xml
@@ -10,9 +10,8 @@
<shape android:shape="oval">
<stroke
android:width="4dp"
- android:color="@color/grey" />
+ android:color="@color/filter_dialog_button_clear" />
</shape>
-
</item>
<!-- x -->
@@ -29,7 +28,7 @@
<shape android:shape="line">
<stroke
android:width="4dp"
- android:color="@color/grey" />
+ android:color="@color/filter_dialog_button_clear" />
</shape>
</rotate>
</item>
@@ -47,9 +46,8 @@
<shape android:shape="line">
<stroke
android:width="4dp"
- android:color="@color/grey" />
+ android:color="@color/filter_dialog_button_clear" />
</shape>
-
</rotate>
</item>
diff --git a/core/src/main/res/values/arrays.xml b/core/src/main/res/values/arrays.xml
index 8e8d70525..13ff092b0 100644
--- a/core/src/main/res/values/arrays.xml
+++ b/core/src/main/res/values/arrays.xml
@@ -245,18 +245,6 @@
<item>exoplayer</item>
</string-array>
- <string-array name="episode_filter_options">
- <item>@string/hide_unplayed_episodes_label</item>
- <item>@string/hide_paused_episodes_label</item>
- <item>@string/hide_played_episodes_label</item>
- <item>@string/hide_queued_episodes_label</item>
- <item>@string/hide_not_queued_episodes_label</item>
- <item>@string/hide_downloaded_episodes_label</item>
- <item>@string/hide_not_downloaded_episodes_label</item>
- <item>@string/hide_has_media_label</item>
- <item>@string/hide_is_favorite_label</item>
- </string-array>
-
<!-- sort for podcast screen, not for queue -->
<string-array name="feed_episodes_sort_options">
<item>@string/sort_date_new_old</item>