EtchDroid/app/src/main/java/eu/depau/etchdroid/worker/dto/ProgressStartDTO.kt

41 lines
1.3 KiB
Kotlin

package eu.depau.etchdroid.worker.dto
import android.os.Parcel
import eu.depau.etchdroid.worker.enums.JobType
import eu.depau.etchdroid.worker.enums.StepType
import eu.depau.kotlet.android.parcelable.KotletParcelable
import eu.depau.kotlet.android.parcelable.parcelableCreator
import eu.depau.kotlet.android.parcelable.readEnum
import eu.depau.kotlet.android.parcelable.writeEnum
data class ProgressStartDTO(
val jobId: Long,
val jobType: JobType,
val inputName: String,
val outputName: String,
val stepsNamesResIDs: List<Int>
) : KotletParcelable {
@Suppress("UNCHECKED_CAST")
constructor(parcel: Parcel) : this(
jobId = parcel.readLong(),
jobType = parcel.readEnum<JobType>()!!,
inputName = parcel.readString()!!,
outputName = parcel.readString()!!,
stepsNamesResIDs = (parcel.readSerializable() as Array<Int>).asList()
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.apply {
writeLong(jobId)
writeEnum(jobType)
writeString(inputName)
writeString(outputName)
writeSerializable(stepsNamesResIDs.toTypedArray())
}
}
companion object {
@JvmField
val CREATOR = parcelableCreator(::ProgressStartDTO)
}
}