diff --git a/app/src/main/java/com/github/libretube/api/MediaServiceRepository.kt b/app/src/main/java/com/github/libretube/api/MediaServiceRepository.kt index c3123e2ae..f50707a16 100644 --- a/app/src/main/java/com/github/libretube/api/MediaServiceRepository.kt +++ b/app/src/main/java/com/github/libretube/api/MediaServiceRepository.kt @@ -17,8 +17,8 @@ interface MediaServiceRepository { suspend fun getComments(videoId: String): CommentsPage suspend fun getSegments( videoId: String, - category: String, - actionType: String? = null + category: List, + actionType: List? = null ): SegmentData suspend fun getDeArrowContent(videoIds: String): Map diff --git a/app/src/main/java/com/github/libretube/api/PipedMediaServiceRepository.kt b/app/src/main/java/com/github/libretube/api/PipedMediaServiceRepository.kt index c1b9c1a92..77d45fb4e 100644 --- a/app/src/main/java/com/github/libretube/api/PipedMediaServiceRepository.kt +++ b/app/src/main/java/com/github/libretube/api/PipedMediaServiceRepository.kt @@ -13,6 +13,7 @@ import com.github.libretube.api.obj.StreamItem import com.github.libretube.api.obj.Streams import com.github.libretube.constants.PreferenceKeys import com.github.libretube.helpers.PreferenceHelper +import kotlinx.serialization.encodeToString import retrofit2.HttpException open class PipedMediaServiceRepository : MediaServiceRepository { @@ -36,9 +37,13 @@ open class PipedMediaServiceRepository : MediaServiceRepository { override suspend fun getSegments( videoId: String, - category: String, - actionType: String? - ): SegmentData = api.getSegments(videoId, category, actionType) + category: List, + actionType: List? + ): SegmentData = api.getSegments( + videoId, + JsonHelper.json.encodeToString(category), + JsonHelper.json.encodeToString(actionType) + ) override suspend fun getDeArrowContent(videoIds: String): Map = api.getDeArrowContent(videoIds) diff --git a/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt b/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt index 59fc5f8bc..938220638 100644 --- a/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt +++ b/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt @@ -209,8 +209,8 @@ open class OnlinePlayerService : AbstractPlayerService() { if (sponsorBlockConfig.isEmpty()) return@runCatching sponsorBlockSegments = MediaServiceRepository.instance.getSegments( videoId, - JsonHelper.json.encodeToString(sponsorBlockConfig.keys), - """["skip","mute","full","poi","chapter"]""" + sponsorBlockConfig.keys.toList(), + listOf("skip","mute","full","poi","chapter") ).segments withContext(Dispatchers.Main) { diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/SubmitSegmentDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/SubmitSegmentDialog.kt index ce5fb7061..70d7349c3 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/SubmitSegmentDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/SubmitSegmentDialog.kt @@ -147,7 +147,7 @@ class SubmitSegmentDialog : DialogFragment() { private suspend fun fetchSegments() { val categories = resources.getStringArray(R.array.sponsorBlockSegments).toList() segments = try { - MediaServiceRepository.instance.getSegments(videoId, JsonHelper.json.encodeToString(categories)).segments + MediaServiceRepository.instance.getSegments(videoId, categories).segments } catch (e: Exception) { Log.e(TAG(), e.toString()) return