summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java26
-rw-r--r--app/src/main/res/xml/feed_settings.xml6
2 files changed, 32 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
index 568b56304..1253a8ad2 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
@@ -9,6 +9,7 @@ import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.preference.ListPreference;
@@ -27,6 +28,7 @@ import de.danoeh.antennapod.core.feed.VolumeAdaptionSetting;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
+import de.danoeh.antennapod.databinding.EditTextDialogBinding;
import de.danoeh.antennapod.dialog.AuthenticationDialog;
import de.danoeh.antennapod.dialog.EpisodeFilterDialog;
import de.danoeh.antennapod.dialog.FeedPreferenceSkipDialog;
@@ -39,6 +41,8 @@ import org.greenrobot.eventbus.EventBus;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.Locale;
import static de.danoeh.antennapod.core.feed.FeedPreferences.SPEED_USE_GLOBAL;
@@ -105,6 +109,7 @@ public class FeedSettingsFragment extends Fragment {
private static final CharSequence PREF_CATEGORY_AUTO_DOWNLOAD = "autoDownloadCategory";
private static final String PREF_FEED_PLAYBACK_SPEED = "feedPlaybackSpeed";
private static final String PREF_AUTO_SKIP = "feedAutoSkip";
+ private static final String PREF_TAGS = "tags";
private static final DecimalFormat SPEED_FORMAT =
new DecimalFormat("0.00", DecimalFormatSymbols.getInstance(Locale.US));
@@ -159,6 +164,7 @@ public class FeedSettingsFragment extends Fragment {
setupEpisodeFilterPreference();
setupPlaybackSpeedPreference();
setupFeedAutoSkipPreference();
+ setupTags();
updateAutoDeleteSummary();
updateVolumeReductionValue();
@@ -394,6 +400,26 @@ public class FeedSettingsFragment extends Fragment {
}
}
+ private void setupTags() {
+ findPreference(PREF_TAGS).setOnPreferenceClickListener(preference -> {
+ EditTextDialogBinding alertViewBinding = EditTextDialogBinding.inflate(getLayoutInflater());
+ alertViewBinding.urlEditText.setText(feed.getPreferences().getTagsAsString());
+ new AlertDialog.Builder(getContext())
+ .setView(alertViewBinding.getRoot())
+ .setTitle(R.string.feed_folders_label)
+ .setPositiveButton(android.R.string.ok, (d, input) -> {
+ String foldersString = alertViewBinding.urlEditText.getText().toString();
+ feedPreferences.getTags().clear();
+ feedPreferences.getTags().addAll(new HashSet<>(Arrays.asList(
+ foldersString.split(FeedPreferences.TAG_SEPARATOR))));
+ feed.savePreferences();
+ })
+ .setNegativeButton(R.string.cancel_label, null)
+ .show();
+ return true;
+ });
+ }
+
private class ApplyToEpisodesDialog extends ConfirmationDialog {
private final boolean autoDownload;
diff --git a/app/src/main/res/xml/feed_settings.xml b/app/src/main/res/xml/feed_settings.xml
index 9d5ed5e8b..a0142b7b9 100644
--- a/app/src/main/res/xml/feed_settings.xml
+++ b/app/src/main/res/xml/feed_settings.xml
@@ -15,6 +15,12 @@
android:title="@string/authentication_label"
android:summary="@string/authentication_descr"/>
+ <Preference
+ android:key="tags"
+ android:icon="?attr/ic_folder"
+ android:title="@string/feed_folders_label"
+ android:summary="@string/feed_folders_summary"/>
+
<ListPreference
android:key="feedPlaybackSpeed"
android:icon="?attr/ic_settings_speed"