···11-package com.example.util.simpletimetracker.feature_change_record.extra
22-33-import android.os.Parcelable
44-import kotlinx.android.parcel.Parcelize
55-66-sealed class ChangeRecordExtra : Parcelable {
77-88- @Parcelize
99- data class Tracked(
1010- val transitionName: String,
1111- val id: Long
1212- ) : ChangeRecordExtra()
1313-1414- @Parcelize
1515- data class Untracked(
1616- val transitionName: String,
1717- val timeStarted: Long,
1818- val timeEnded: Long
1919- ) : ChangeRecordExtra()
2020-2121- @Parcelize
2222- data class New(
2323- val daysFromToday: Int = 0
2424- ) : ChangeRecordExtra()
2525-}
···11package com.example.util.simpletimetracker.navigation.params
2233-sealed class ChangeRecordParams {
33+import android.os.Parcelable
44+import androidx.annotation.ColorInt
55+import androidx.annotation.DrawableRes
66+import kotlinx.android.parcel.Parcelize
4788+sealed class ChangeRecordParams: Parcelable {
99+1010+ @Parcelize
511 data class Tracked(
612 val transitionName: String,
77- val id: Long
1313+ val id: Long,
1414+ val preview: Preview
815 ) : ChangeRecordParams()
9161717+ @Parcelize
1018 data class Untracked(
1119 val transitionName: String,
1220 val timeStarted: Long,
1313- val timeEnded: Long
2121+ val timeEnded: Long,
2222+ val preview: Preview
1423 ) : ChangeRecordParams()
15242525+ @Parcelize
1626 data class New(
1717- val daysFromToday: Int
2727+ val daysFromToday: Int = 0
1828 ) : ChangeRecordParams()
2929+3030+ @Parcelize
3131+ data class Preview(
3232+ val name: String,
3333+ val timeStarted: String,
3434+ val timeFinished: String,
3535+ val duration: String,
3636+ @DrawableRes val iconId: Int,
3737+ @ColorInt val color: Int,
3838+ val comment: String
3939+ ): Parcelable
1940}