Skip to content

Commit a158130

Browse files
committed
add last records edit in retroactive mode
1 parent f7248c1 commit a158130

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

features/feature_base_adapter/src/main/java/com/example/util/simpletimetracker/feature_base_adapter/recordWithHint/RecordWithHintAdapterDelegate.kt

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.example.util.simpletimetracker.feature_base_adapter.recordWithHint
22

33
import com.example.util.simpletimetracker.feature_base_adapter.createRecyclerBindingAdapterDelegate
4+
import com.example.util.simpletimetracker.feature_views.extension.setOnLongClick
45
import com.example.util.simpletimetracker.feature_base_adapter.databinding.ItemRecordWithHintLayoutBinding as Binding
56
import com.example.util.simpletimetracker.feature_base_adapter.recordWithHint.RecordWithHintViewData as ViewData
67

7-
fun createRecordWithHintAdapterDelegate() = createRecyclerBindingAdapterDelegate<ViewData, Binding>(
8+
fun createRecordWithHintAdapterDelegate(
9+
onItemLongClick: ((ViewData) -> Unit) = { _ -> },
10+
) = createRecyclerBindingAdapterDelegate<ViewData, Binding>(
811
Binding::inflate,
912
) { binding, item, _ ->
1013

@@ -21,5 +24,7 @@ fun createRecordWithHintAdapterDelegate() = createRecyclerBindingAdapterDelegate
2124
itemDuration = item.duration
2225
itemComment = item.comment
2326
}
27+
28+
setOnLongClick { onItemLongClick(item) }
2429
}
2530
}

features/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/view/RunningRecordsFragment.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class RunningRecordsFragment :
7474
onItemClick = viewModel::onRecordTypeClick,
7575
onItemLongClick = viewModel::onRecordTypeLongClick,
7676
),
77-
createRecordWithHintAdapterDelegate(),
77+
createRecordWithHintAdapterDelegate(throttle(viewModel::onRecordLongClick)),
7878
createRunningRecordTypeSpecialAdapterDelegate(throttle(viewModel::onSpecialRecordTypeClick)),
7979
createActivityFilterAdapterDelegate(viewModel::onActivityFilterClick, viewModel::onActivityFilterLongClick),
8080
createActivityFilterAddAdapterDelegate(throttle(viewModel::onAddActivityFilterClick)),

features/feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/viewModel/RunningRecordsViewModel.kt

+22
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.example.util.simpletimetracker.feature_base_adapter.loader.LoaderView
2727
import com.example.util.simpletimetracker.feature_base_adapter.record.RecordViewData
2828
import com.example.util.simpletimetracker.feature_base_adapter.recordType.RecordTypeViewData
2929
import com.example.util.simpletimetracker.feature_base_adapter.recordTypeSpecial.RunningRecordTypeSpecialViewData
30+
import com.example.util.simpletimetracker.feature_base_adapter.recordWithHint.RecordWithHintViewData
3031
import com.example.util.simpletimetracker.feature_base_adapter.runningRecord.RunningRecordViewData
3132
import com.example.util.simpletimetracker.feature_running_records.interactor.RunningRecordsViewDataInteractor
3233
import com.example.util.simpletimetracker.navigation.Router
@@ -159,6 +160,27 @@ class RunningRecordsViewModel @Inject constructor(
159160
}
160161
}
161162

163+
fun onRecordLongClick(
164+
item: RecordWithHintViewData,
165+
) = viewModelScope.launch {
166+
val useMilitaryTimeFormat = prefsInteractor.getUseMilitaryTimeFormat()
167+
val showSeconds = prefsInteractor.getShowSeconds()
168+
169+
val params = getChangeRecordNavigationParamsInteractor.execute(
170+
item = item.record,
171+
from = ChangeRecordParams.From.Records,
172+
shift = 0,
173+
useMilitaryTimeFormat = useMilitaryTimeFormat,
174+
showSeconds = showSeconds,
175+
// Doesn't have transitions because untracked edit also doesn't have them.
176+
sharedElements = null,
177+
)
178+
179+
router.navigate(
180+
data = ChangeRecordFromMainParams(params = params),
181+
)
182+
}
183+
162184
fun onRunningRecordLongClick(
163185
item: RunningRecordViewData,
164186
sharedElements: Pair<Any, String>,

0 commit comments

Comments
 (0)