package com.ux.video.file.filerecovery.db

import java.io.File

import android.os.Parcelable
import com.ux.video.file.filerecovery.utils.Common
import com.ux.video.file.filerecovery.utils.FileType
import io.objectbox.annotation.Convert
import io.objectbox.annotation.Entity
import io.objectbox.annotation.Id
import kotlinx.parcelize.Parcelize

@Entity
@Parcelize
data class ResultDataFiles(
    @Id
    var id: Long = 0,

    @Convert(converter = FileTypeConverter::class, dbType = Int::class)
    var fileType: FileType,
    val name: String,
    val path: String,
    val size: Long,          // 字节
    val sizeString: String,
    val lastModified: Long,   // 时间戳
) : Parcelable {
//    val targetFile: File
//        get() = path.let { File(it) }

    //尺寸
//    val resolution: String
//        get() = Common.getResolution(fileType, targetFile)

    //是否为缩略图文件（宽高任一小于 256）
//    val isThumbnail: Boolean
//        get() {
//            val parts = resolution.lowercase().split("*").mapNotNull {
//                it.trim().toIntOrNull()
//            }
//            if (parts.size == 2) {
//                val (width, height) = parts
//                return width < 256 || height < 256
//            }
//            return false
//        }


    //音视频时长
//    val duration: Long
//        get() {
//            return Common.getMediaDuration(path.toString())
//        }

}
