package com.ux.video.file.filerecovery.db
import com.ux.video.file.filerecovery.utils.Common
import java.io.File

/**
 * 目标文件
 */
fun ResultDataFiles.targetFile(): File =
    File(this.path)

/**
 * 分辨率（图片 / 视频）
 */
fun ResultDataFiles.resolution(): String =
    Common.getResolution(this.fileType, targetFile())

/**
 * 是否缩略图（宽或高 < 256）
 */
fun ResultDataFiles.isThumbnail(): Boolean {
    val parts = resolution()
        .lowercase()
        .split("*")
        .mapNotNull { it.trim().toIntOrNull() }

    if (parts.size == 2) {
        val (width, height) = parts
        return width < 256 || height < 256
    }
    return false
}

/**
 * 音视频时长
 */
fun ResultDataFiles.duration(): Long =
    Common.getMediaDuration(this.path)
