summaryrefslogtreecommitdiff
path: root/core/src/main/java
diff options
context:
space:
mode:
authorShom Bandopadhaya <shom@bandopadhaya.com>2022-01-04 10:26:59 +0000
committerGitHub <noreply@github.com>2022-01-04 11:26:59 +0100
commit8568226468e7377e273410847a97ebf8a1d7e5e7 (patch)
tree487879cce40c1dba0180d4041430bdde9f0cf26f /core/src/main/java
parent4f031c4e45cc2e83059da8bed55f23bca345320d (diff)
downloadAntennaPod-8568226468e7377e273410847a97ebf8a1d7e5e7.zip
Local feeds: add sort option for file name (#5629)
Co-authored-by: widlok <widlok@users.noreply.github.com>
Diffstat (limited to 'core/src/main/java')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/FeedItemPermutors.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemPermutors.java b/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemPermutors.java
index 09161ca7b..7f2742ab0 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemPermutors.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/FeedItemPermutors.java
@@ -50,6 +50,12 @@ public class FeedItemPermutors {
case DURATION_LONG_SHORT:
comparator = (f1, f2) -> Integer.compare(duration(f2), duration(f1));
break;
+ case EPISODE_FILENAME_A_Z:
+ comparator = (f1, f2) -> itemLink(f1).compareTo(itemLink(f2));
+ break;
+ case EPISODE_FILENAME_Z_A:
+ comparator = (f1, f2) -> itemLink(f2).compareTo(itemLink(f1));
+ break;
case FEED_TITLE_A_Z:
comparator = (f1, f2) -> feedTitle(f1).compareTo(feedTitle(f2));
break;
@@ -91,6 +97,12 @@ public class FeedItemPermutors {
}
@NonNull
+ private static String itemLink(@Nullable FeedItem item) {
+ return (item != null && item.getLink() != null)
+ ? item.getLink().toLowerCase(Locale.getDefault()) : "";
+ }
+
+ @NonNull
private static String feedTitle(@Nullable FeedItem item) {
return (item != null && item.getFeed() != null && item.getFeed().getTitle() != null)
? item.getFeed().getTitle().toLowerCase(Locale.getDefault()) : "";