From 04facb03dff2fd79db6600a3a9a7ae3248232f20 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Thu, 11 May 2023 09:03:14 +0530 Subject: [PATCH] Make PreviewFrames fields non-null. --- .../com/github/libretube/api/obj/PreviewFrames.kt | 14 +++++++------- .../ui/listeners/SeekbarPreviewListener.kt | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/github/libretube/api/obj/PreviewFrames.kt b/app/src/main/java/com/github/libretube/api/obj/PreviewFrames.kt index 780261785..ad4371960 100644 --- a/app/src/main/java/com/github/libretube/api/obj/PreviewFrames.kt +++ b/app/src/main/java/com/github/libretube/api/obj/PreviewFrames.kt @@ -4,11 +4,11 @@ import kotlinx.serialization.Serializable @Serializable data class PreviewFrames( - val urls: List? = null, - val frameWidth: Int? = null, - val frameHeight: Int? = null, - val totalCount: Int? = null, - val durationPerFrame: Int? = null, - val framesPerPageX: Int? = null, - val framesPerPageY: Int? = null, + val urls: List, + val frameWidth: Int, + val frameHeight: Int, + val totalCount: Int, + val durationPerFrame: Long, + val framesPerPageX: Int, + val framesPerPageY: Int ) diff --git a/app/src/main/java/com/github/libretube/ui/listeners/SeekbarPreviewListener.kt b/app/src/main/java/com/github/libretube/ui/listeners/SeekbarPreviewListener.kt index 28a9b661b..af561a23e 100644 --- a/app/src/main/java/com/github/libretube/ui/listeners/SeekbarPreviewListener.kt +++ b/app/src/main/java/com/github/libretube/ui/listeners/SeekbarPreviewListener.kt @@ -93,12 +93,12 @@ class SeekbarPreviewListener( private fun getPreviewFrame(position: Long): PreviewFrame? { var startPosition: Long = 0 // get the frames with the best quality - val frames = previewFrames.sortedBy { it.frameHeight }.lastOrNull() + val frames = previewFrames.maxByOrNull { it.frameHeight } frames?.urls?.forEach { url -> // iterate over all available positions and find the one matching the current position - for (y in 0 until frames.framesPerPageY!!) { - for (x in 0 until frames.framesPerPageX!!) { - val endPosition = startPosition + frames.durationPerFrame!!.toLong() + for (y in 0 until frames.framesPerPageY) { + for (x in 0 until frames.framesPerPageX) { + val endPosition = startPosition + frames.durationPerFrame if (position in startPosition until endPosition) { return PreviewFrame(url, x, y, frames.framesPerPageX, frames.framesPerPageY) }