Skip to content

Commit 72dd84e

Browse files
committed
remove unnecessary id from change record type params
1 parent 83b1ed4 commit 72dd84e

File tree

4 files changed

+20
-21
lines changed

4 files changed

+20
-21
lines changed

feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/view/ChangeRecordTypeFragment.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import com.example.util.simpletimetracker.core.extension.visible
3434
import com.example.util.simpletimetracker.core.repo.DeviceRepo
3535
import com.example.util.simpletimetracker.core.utils.BuildVersions
3636
import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
37-
import com.example.util.simpletimetracker.core.view.TransitionNames
3837
import com.example.util.simpletimetracker.core.viewData.RecordTypeViewData
3938
import com.example.util.simpletimetracker.domain.model.IconEmojiType
4039
import com.example.util.simpletimetracker.feature_change_record_type.R
@@ -113,10 +112,8 @@ class ChangeRecordTypeFragment :
113112
.inflateTransition(android.R.transition.move)
114113
}
115114

116-
ViewCompat.setTransitionName(
117-
previewChangeRecordType,
118-
TransitionNames.RECORD_TYPE + params.id
119-
)
115+
val transitionName: String = (params as? ChangeRecordTypeParams.Change)?.transitionName.orEmpty()
116+
ViewCompat.setTransitionName(previewChangeRecordType, transitionName)
120117

121118
rvChangeRecordTypeColor.apply {
122119
layoutManager = FlexboxLayoutManager(requireContext()).apply {

feature_change_record_type/src/main/java/com/example/util/simpletimetracker/feature_change_record_type/viewModel/ChangeRecordTypeViewModel.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import com.example.util.simpletimetracker.core.viewData.EmojiViewData
2121
import com.example.util.simpletimetracker.core.viewData.RecordTypeViewData
2222
import com.example.util.simpletimetracker.domain.extension.flip
2323
import com.example.util.simpletimetracker.domain.extension.orTrue
24+
import com.example.util.simpletimetracker.domain.extension.orZero
2425
import com.example.util.simpletimetracker.domain.interactor.PrefsInteractor
2526
import com.example.util.simpletimetracker.domain.interactor.RecordInteractor
2627
import com.example.util.simpletimetracker.domain.interactor.RecordTypeCategoryInteractor
@@ -117,10 +118,11 @@ class ChangeRecordTypeViewModel @Inject constructor(
117118
val flipCategoryChooser: LiveData<Boolean> = MutableLiveData()
118119
val deleteButtonEnabled: LiveData<Boolean> = MutableLiveData(true)
119120
val saveButtonEnabled: LiveData<Boolean> = MutableLiveData(true)
120-
val deleteIconVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id != 0L) }
121-
val keyboardVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id == 0L) }
121+
val deleteIconVisibility: LiveData<Boolean> by lazy { MutableLiveData(recordTypeId != 0L) }
122+
val keyboardVisibility: LiveData<Boolean> by lazy { MutableLiveData(recordTypeId == 0L) }
122123
val iconsScrollPosition: LiveData<ChangeRecordTypeScrollViewData> = MutableLiveData()
123124

125+
private val recordTypeId: Long get() = (extra as? ChangeRecordTypeParams.Change)?.id.orZero()
124126
private var iconType: IconType = IconType.IMAGE
125127
private var initialCategories: List<Long> = emptyList()
126128
private var newName: String = ""
@@ -277,16 +279,16 @@ class ChangeRecordTypeViewModel @Inject constructor(
277279
fun onDeleteClick() {
278280
(deleteButtonEnabled as MutableLiveData).value = false
279281
viewModelScope.launch {
280-
if (extra.id != 0L) {
281-
recordTypeInteractor.archive(extra.id)
282-
runningRecordInteractor.get(extra.id)?.let { runningRecord ->
282+
if (recordTypeId != 0L) {
283+
recordTypeInteractor.archive(recordTypeId)
284+
runningRecordInteractor.get(recordTypeId)?.let { runningRecord ->
283285
recordInteractor.add(
284286
typeId = runningRecord.id,
285287
timeStarted = runningRecord.timeStarted,
286288
comment = runningRecord.comment,
287289
tagId = runningRecord.tagId
288290
)
289-
removeRunningRecordMediator.remove(extra.id)
291+
removeRunningRecordMediator.remove(recordTypeId)
290292
}
291293
showMessage(R.string.change_record_type_archived)
292294
(keyboardVisibility as MutableLiveData).value = false
@@ -304,8 +306,8 @@ class ChangeRecordTypeViewModel @Inject constructor(
304306
viewModelScope.launch {
305307
val addedId = saveRecordType()
306308
saveCategories(addedId)
307-
notificationTypeInteractor.checkAndShow(extra.id)
308-
notificationGoalTimeInteractor.checkAndReschedule(extra.id)
309+
notificationTypeInteractor.checkAndShow(recordTypeId)
310+
notificationGoalTimeInteractor.checkAndReschedule(recordTypeId)
309311
widgetInteractor.updateWidgets()
310312
(keyboardVisibility as MutableLiveData).value = false
311313
router.back()
@@ -330,7 +332,7 @@ class ChangeRecordTypeViewModel @Inject constructor(
330332

331333
private suspend fun saveRecordType(): Long {
332334
val recordType = RecordType(
333-
id = extra.id,
335+
id = recordTypeId,
334336
name = newName,
335337
icon = newIconName,
336338
color = newColorId,
@@ -349,7 +351,7 @@ class ChangeRecordTypeViewModel @Inject constructor(
349351
}
350352

351353
private suspend fun initializeRecordTypeData() {
352-
recordTypeInteractor.get(extra.id)
354+
recordTypeInteractor.get(recordTypeId)
353355
?.let {
354356
newName = it.name
355357
newIconName = it.icon
@@ -361,7 +363,7 @@ class ChangeRecordTypeViewModel @Inject constructor(
361363
}
362364

363365
private suspend fun initializeSelectedCategories() {
364-
recordTypeCategoryInteractor.getCategories(extra.id)
366+
recordTypeCategoryInteractor.getCategories(recordTypeId)
365367
.let {
366368
newCategories = it.toMutableList()
367369
initialCategories = it

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import com.example.util.simpletimetracker.core.adapter.loader.LoaderViewData
99
import com.example.util.simpletimetracker.core.extension.toParams
1010
import com.example.util.simpletimetracker.core.interactor.AddRunningRecordMediator
1111
import com.example.util.simpletimetracker.core.interactor.RemoveRunningRecordMediator
12+
import com.example.util.simpletimetracker.core.view.TransitionNames
1213
import com.example.util.simpletimetracker.core.viewData.RecordTypeViewData
1314
import com.example.util.simpletimetracker.domain.interactor.RunningRecordInteractor
1415
import com.example.util.simpletimetracker.feature_running_records.interactor.RunningRecordsViewDataInteractor
@@ -54,6 +55,7 @@ class RunningRecordsViewModel @Inject constructor(
5455
router.navigate(
5556
screen = Screen.CHANGE_RECORD_TYPE,
5657
data = ChangeRecordTypeParams.Change(
58+
transitionName = TransitionNames.RECORD_TYPE + item.id,
5759
id = item.id,
5860
sizePreview = ChangeRecordTypeParams.SizePreview(
5961
width = item.width,

navigation/src/main/java/com/example/util/simpletimetracker/navigation/params/ChangeRecordTypeParams.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import androidx.annotation.ColorInt
55
import kotlinx.parcelize.Parcelize
66

77
sealed class ChangeRecordTypeParams : Parcelable {
8-
abstract val id: Long
98
abstract val sizePreview: SizePreview
109

1110
@Parcelize
1211
data class Change(
13-
override val id: Long,
12+
val transitionName: String,
13+
val id: Long,
1414
override val sizePreview: SizePreview,
1515
val preview: Preview
1616
) : ChangeRecordTypeParams() {
@@ -26,9 +26,7 @@ sealed class ChangeRecordTypeParams : Parcelable {
2626
@Parcelize
2727
data class New(
2828
override val sizePreview: SizePreview
29-
) : ChangeRecordTypeParams() {
30-
override val id: Long get() = 0 // TODO remove
31-
}
29+
) : ChangeRecordTypeParams()
3230

3331
@Parcelize
3432
data class SizePreview(

0 commit comments

Comments
 (0)