refactor: Use Path extensions

This commit is contained in:
Isira Seneviratne 2023-08-02 07:34:13 +05:30
parent 9ea7ca3237
commit c12482d000
5 changed files with 10 additions and 8 deletions

View File

@ -3,7 +3,7 @@ package com.github.libretube.api.obj
import com.github.libretube.db.obj.DownloadItem
import com.github.libretube.enums.FileType
import com.github.libretube.helpers.ProxyHelper
import java.nio.file.Paths
import kotlin.io.path.Path
import kotlinx.serialization.Serializable
@Serializable
@ -37,7 +37,7 @@ data class PipedStream(
type = fileType,
videoId = videoId,
fileName = getQualityString(fileName),
path = Paths.get(""),
path = Path(""),
url = url?.let { ProxyHelper.unwrapUrl(it) },
format = format,
quality = quality,

View File

@ -4,7 +4,7 @@ import com.github.libretube.db.obj.DownloadItem
import com.github.libretube.enums.FileType
import com.github.libretube.helpers.ProxyHelper
import com.github.libretube.parcelable.DownloadData
import java.nio.file.Paths
import kotlin.io.path.Path
import kotlinx.datetime.LocalDate
import kotlinx.serialization.Serializable
@ -64,7 +64,7 @@ data class Streams(
type = FileType.SUBTITLE,
videoId = id,
fileName = "${name}_$subCode.srt",
path = Paths.get(""),
path = Path(""),
url = subtitles.find {
it.code == subCode
}?.url?.let { ProxyHelper.unwrapUrl(it) }

View File

@ -3,7 +3,7 @@ package com.github.libretube.db
import androidx.room.TypeConverter
import com.github.libretube.api.JsonHelper
import java.nio.file.Path
import java.nio.file.Paths
import kotlin.io.path.Path
import kotlinx.datetime.LocalDate
import kotlinx.datetime.toLocalDate
import kotlinx.serialization.encodeToString
@ -19,7 +19,7 @@ object Converters {
fun pathToString(path: Path?) = path?.toString()
@TypeConverter
fun stringToPath(string: String?) = string?.let { Paths.get(it) }
fun stringToPath(string: String?) = string?.let { Path(it) }
@TypeConverter
fun stringListToJson(value: List<String>) = JsonHelper.json.encodeToString(value)

View File

@ -11,6 +11,7 @@ import com.github.libretube.parcelable.DownloadData
import com.github.libretube.services.DownloadService
import java.nio.file.Path
import kotlin.io.path.createDirectories
import kotlin.io.path.div
object DownloadHelper {
const val VIDEO_DIR = "video"
@ -32,7 +33,7 @@ object DownloadHelper {
context.filesDir
}
}
return storageDir.toPath().resolve(path).createDirectories()
return (storageDir.toPath() / path).createDirectories()
}
fun getMaxConcurrentDownloads(): Int {

View File

@ -50,6 +50,7 @@ import java.util.concurrent.Executors
import kotlin.io.path.absolute
import kotlin.io.path.createFile
import kotlin.io.path.deleteIfExists
import kotlin.io.path.div
import kotlin.io.path.fileSize
import kotlin.math.min
import kotlinx.coroutines.CancellationException
@ -501,7 +502,7 @@ class DownloadService : LifecycleService() {
* Get a [File] from the corresponding download directory and the file name
*/
private fun getDownloadPath(directory: String, fileName: String): Path {
return DownloadHelper.getDownloadDir(this, directory).resolve(fileName).absolute()
return DownloadHelper.getDownloadDir(this, directory) / fileName
}
override fun onDestroy() {