@@ -7,9 +7,8 @@ import androidx.lifecycle.viewModelScope
7
7
import com.example.util.simpletimetracker.core.base.SingleLiveEvent
8
8
import com.example.util.simpletimetracker.core.extension.set
9
9
import com.example.util.simpletimetracker.core.extension.toParams
10
- import com.example.util.simpletimetracker.core.extension.toRecordParams
10
+ import com.example.util.simpletimetracker.core.interactor.GetChangeRecordNavigationParamsInteractor
11
11
import com.example.util.simpletimetracker.core.interactor.SharingInteractor
12
- import com.example.util.simpletimetracker.core.mapper.ChangeRecordDateTimeMapper
13
12
import com.example.util.simpletimetracker.core.mapper.RangeViewDataMapper
14
13
import com.example.util.simpletimetracker.core.model.NavigationTab
15
14
import com.example.util.simpletimetracker.domain.extension.orZero
@@ -53,7 +52,7 @@ class RecordsViewModel @Inject constructor(
53
52
private val rangeViewDataMapper : RangeViewDataMapper ,
54
53
private val recordsViewDataMapper : RecordsViewDataMapper ,
55
54
private val updateRunningRecordFromChangeScreenInteractor : UpdateRunningRecordFromChangeScreenInteractor ,
56
- private val changeRecordDateTimeMapper : ChangeRecordDateTimeMapper ,
55
+ private val getChangeRecordNavigationParamsInteractor : GetChangeRecordNavigationParamsInteractor ,
57
56
) : ViewModel() {
58
57
59
58
var extra: RecordsExtra ? = null
@@ -97,28 +96,12 @@ class RecordsViewModel @Inject constructor(
97
96
) = viewModelScope.launch {
98
97
val useMilitaryTimeFormat = prefsInteractor.getUseMilitaryTimeFormat()
99
98
val showSeconds = prefsInteractor.getShowSeconds()
100
-
101
- val params = ChangeRunningRecordParams (
102
- transitionName = sharedElements?.second.orEmpty(),
103
- id = item.id,
99
+ val params = getChangeRecordNavigationParamsInteractor.execute(
100
+ item = item,
104
101
from = ChangeRunningRecordParams .From .Records ,
105
- preview = ChangeRunningRecordParams .Preview (
106
- name = item.name,
107
- tagName = item.tagName,
108
- timeStarted = item.timeStarted,
109
- timeStartedDateTime = changeRecordDateTimeMapper.map(
110
- param = ChangeRecordDateTimeMapper .Param .DateTime (item.timeStartedTimestamp),
111
- field = ChangeRecordDateTimeMapper .Field .Start ,
112
- useMilitaryTimeFormat = useMilitaryTimeFormat,
113
- showSeconds = showSeconds,
114
- ).toRecordParams(),
115
- duration = item.timer,
116
- durationTotal = item.timerTotal,
117
- goalTime = item.goalTime.toParams(),
118
- iconId = item.iconId.toParams(),
119
- color = item.color,
120
- comment = item.comment,
121
- ),
102
+ useMilitaryTimeFormat = useMilitaryTimeFormat,
103
+ showSeconds = showSeconds,
104
+ sharedElements = sharedElements,
122
105
)
123
106
router.navigate(
124
107
data = ChangeRunningRecordFromMainParams (params),
@@ -132,46 +115,14 @@ class RecordsViewModel @Inject constructor(
132
115
) = viewModelScope.launch {
133
116
val useMilitaryTimeFormat = prefsInteractor.getUseMilitaryTimeFormat()
134
117
val showSeconds = prefsInteractor.getShowSeconds()
135
-
136
- val preview = ChangeRecordParams .Preview (
137
- name = item.name,
138
- tagName = item.tagName,
139
- timeStarted = item.timeStarted,
140
- timeFinished = item.timeFinished,
141
- timeStartedDateTime = changeRecordDateTimeMapper.map(
142
- param = ChangeRecordDateTimeMapper .Param .DateTime (item.timeStartedTimestamp),
143
- field = ChangeRecordDateTimeMapper .Field .Start ,
144
- useMilitaryTimeFormat = useMilitaryTimeFormat,
145
- showSeconds = showSeconds,
146
- ).toRecordParams(),
147
- timeEndedDateTime = changeRecordDateTimeMapper.map(
148
- param = ChangeRecordDateTimeMapper .Param .DateTime (item.timeEndedTimestamp),
149
- field = ChangeRecordDateTimeMapper .Field .End ,
150
- useMilitaryTimeFormat = useMilitaryTimeFormat,
151
- showSeconds = showSeconds,
152
- ).toRecordParams(),
153
- duration = item.duration,
154
- iconId = item.iconId.toParams(),
155
- color = item.color,
156
- comment = item.comment,
118
+ val params = getChangeRecordNavigationParamsInteractor.execute(
119
+ item = item,
120
+ from = ChangeRecordParams .From .Records ,
121
+ shift = shift,
122
+ useMilitaryTimeFormat = useMilitaryTimeFormat,
123
+ showSeconds = showSeconds,
124
+ sharedElements = sharedElements,
157
125
)
158
-
159
- val params = when (item) {
160
- is RecordViewData .Tracked -> ChangeRecordParams .Tracked (
161
- transitionName = sharedElements?.second.orEmpty(),
162
- id = item.id,
163
- from = ChangeRecordParams .From .Records ,
164
- daysFromToday = shift,
165
- preview = preview,
166
- )
167
- is RecordViewData .Untracked -> ChangeRecordParams .Untracked (
168
- transitionName = sharedElements?.second.orEmpty(),
169
- timeStarted = item.timeStartedTimestamp,
170
- timeEnded = item.timeEndedTimestamp,
171
- daysFromToday = shift,
172
- preview = preview,
173
- )
174
- }
175
126
router.navigate(
176
127
data = ChangeRecordFromMainParams (params),
177
128
sharedElements = sharedElements?.let (::mapOf).orEmpty(),
0 commit comments