summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorAndrzej Węgłowski <30474752+andweg@users.noreply.github.com>2023-03-31 22:16:59 +0200
committerGitHub <noreply@github.com>2023-03-31 22:16:59 +0200
commit548f9e021ebdcfb3c09d5175c48b580b20012bb7 (patch)
tree9ee580497983411390e0cd46faaadbf5e5d0ae13 /core
parent214bf974cff3041dfc157360d026f61e371aa95e (diff)
downloadAntennaPod-548f9e021ebdcfb3c09d5175c48b580b20012bb7.zip
Random enqueue location (#6403)
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculator.java4
-rw-r--r--core/src/main/res/values/arrays.xml2
2 files changed, 6 insertions, 0 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculator.java b/core/src/main/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculator.java
index 23d308c02..b81f281e8 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculator.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/ItemEnqueuePositionCalculator.java
@@ -6,6 +6,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.List;
+import java.util.Random;
import de.danoeh.antennapod.core.service.download.DownloadService;
import de.danoeh.antennapod.model.feed.FeedItem;
@@ -46,6 +47,9 @@ class ItemEnqueuePositionCalculator {
int currentlyPlayingPosition = getCurrentlyPlayingPosition(curQueue, currentPlaying);
return getPositionOfFirstNonDownloadingItem(
currentlyPlayingPosition + 1, curQueue);
+ case RANDOM:
+ Random random = new Random();
+ return random.nextInt(curQueue.size() + 1);
default:
throw new AssertionError("calcPosition() : unrecognized enqueueLocation option: " + enqueueLocation);
}
diff --git a/core/src/main/res/values/arrays.xml b/core/src/main/res/values/arrays.xml
index f3c0a0a3c..7749c6f3c 100644
--- a/core/src/main/res/values/arrays.xml
+++ b/core/src/main/res/values/arrays.xml
@@ -161,6 +161,7 @@
<item>@string/enqueue_location_back</item>
<item>@string/enqueue_location_front</item>
<item>@string/enqueue_location_after_current</item>
+ <item>@string/enqueue_location_random</item>
</string-array>
<string-array name="enqueue_location_values">
@@ -168,6 +169,7 @@
<item>BACK</item>
<item>FRONT</item>
<item>AFTER_CURRENTLY_PLAYING</item>
+ <item>RANDOM</item>
</string-array>
<string-array name="episode_cleanup_values">