diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/ExportPlaylist.kt b/app/src/main/java/org/schabi/newpipe/local/playlist/ExportPlaylist.kt index 0d4dcbfd0..8eb3ab3ae 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/ExportPlaylist.kt +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/ExportPlaylist.kt @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 NewPipe contributors + * SPDX-License-Identifier: GPL-3.0-or-later + */ + package org.schabi.newpipe.local.playlist import android.content.Context @@ -21,11 +26,7 @@ fun export( } } -fun exportWithTitles( - playlist: List, - context: Context -): String { - +private fun exportWithTitles(playlist: List, context: Context): String { return playlist.asSequence() .map { it.streamEntity } .map { entity -> @@ -38,18 +39,14 @@ fun exportWithTitles( .joinToString(separator = "\n") } -fun exportJustUrls(playlist: List): String { - - return playlist.asSequence() - .map { it.streamEntity.url } - .joinToString(separator = "\n") +private fun exportJustUrls(playlist: List): String { + return playlist.joinToString(separator = "\n") { it.streamEntity.url } } -fun exportAsYoutubeTempPlaylist(playlist: List): String { +private fun exportAsYoutubeTempPlaylist(playlist: List): String { val videoIDs = playlist.asReversed().asSequence() - .map { it.streamEntity.url } - .mapNotNull(::getYouTubeId) + .mapNotNull { getYouTubeId(it.streamEntity.url) } .take(50) // YouTube limitation: temp playlists can't have more than 50 items .toList() .asReversed() @@ -58,7 +55,7 @@ fun exportAsYoutubeTempPlaylist(playlist: List): String { return "https://www.youtube.com/watch_videos?video_ids=$videoIDs" } -val linkHandler: YoutubeStreamLinkHandlerFactory = YoutubeStreamLinkHandlerFactory.getInstance() +private val linkHandler: YoutubeStreamLinkHandlerFactory = YoutubeStreamLinkHandlerFactory.getInstance() /** * Gets the video id from a YouTube URL. @@ -66,7 +63,7 @@ val linkHandler: YoutubeStreamLinkHandlerFactory = YoutubeStreamLinkHandlerFacto * @param url YouTube URL * @return the video id */ -fun getYouTubeId(url: String): String? { +private fun getYouTubeId(url: String): String? { return try { linkHandler.getId(url) } catch (e: ParsingException) { null } } diff --git a/app/src/test/java/org/schabi/newpipe/local/playlist/ExportPlaylistTest.kt b/app/src/test/java/org/schabi/newpipe/local/playlist/ExportPlaylistTest.kt index d9be2271e..de90061a4 100644 --- a/app/src/test/java/org/schabi/newpipe/local/playlist/ExportPlaylistTest.kt +++ b/app/src/test/java/org/schabi/newpipe/local/playlist/ExportPlaylistTest.kt @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2025 NewPipe contributors + * SPDX-License-Identifier: GPL-3.0-or-later + */ + package org.schabi.newpipe.local.playlist import android.content.Context @@ -9,7 +14,6 @@ import org.schabi.newpipe.database.stream.model.StreamEntity import org.schabi.newpipe.extractor.stream.StreamType import org.schabi.newpipe.local.playlist.PlayListShareMode.JUST_URLS import org.schabi.newpipe.local.playlist.PlayListShareMode.YOUTUBE_TEMP_PLAYLIST -import java.util.stream.Stream class ExportPlaylistTest { @@ -41,9 +45,7 @@ class ExportPlaylistTest { */ val playlist = asPlaylist( - (10..70) - .map { id -> "https://www.youtube.com/watch?v=aaaaaaaaa$id" } // YouTube video IDs are 11 characters long - .stream() + (10..70).map { id -> "https://www.youtube.com/watch?v=aaaaaaaaa$id" } // YouTube video IDs are 11 characters long ) val url = export(YOUTUBE_TEMP_PLAYLIST, playlist, mock(Context::class.java)) @@ -78,13 +80,11 @@ class ExportPlaylistTest { } fun asPlaylist(vararg urls: String): List { - return asPlaylist(Stream.of(*urls)) + return asPlaylist(listOf(*urls)) } -fun asPlaylist(urls: Stream): List { - return urls - .map { url: String -> newPlaylistStreamEntry(url) } - .toList() +fun asPlaylist(urls: List): List { + return urls.map { newPlaylistStreamEntry(it) } } fun newPlaylistStreamEntry(url: String): PlaylistStreamEntry {