Skip to content

Commit 83b1ed4

Browse files
committed
remove unnecessary id from change tag params
1 parent 8c0e1b1 commit 83b1ed4

File tree

7 files changed

+34
-33
lines changed

7 files changed

+34
-33
lines changed

feature_categories/src/main/java/com/example/util/simpletimetracker/feature_categories/viewModel/CategoriesViewModel.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.example.util.simpletimetracker.core.adapter.ViewHolderType
88
import com.example.util.simpletimetracker.core.adapter.loader.LoaderViewData
99
import com.example.util.simpletimetracker.core.adapter.category.CategoryViewData
1010
import com.example.util.simpletimetracker.core.extension.toParams
11+
import com.example.util.simpletimetracker.core.view.TransitionNames
1112
import com.example.util.simpletimetracker.domain.model.TagType
1213
import com.example.util.simpletimetracker.feature_categories.interactor.CategoriesViewDataInteractor
1314
import com.example.util.simpletimetracker.feature_categories.viewData.CategoryAddViewData
@@ -38,10 +39,15 @@ class CategoriesViewModel @Inject constructor(
3839
is CategoryViewData.Record -> Screen.CHANGE_RECORD_TAG
3940
}
4041
val icon = (item as? CategoryViewData.Record)?.icon?.toParams()
42+
val transitionName = when (item) {
43+
is CategoryViewData.Activity -> TransitionNames.ACTIVITY_TAG
44+
is CategoryViewData.Record -> TransitionNames.RECORD_TAG
45+
} + item.id
4146

4247
router.navigate(
4348
screen = screen,
4449
data = ChangeCategoryParams.Change(
50+
transitionName = transitionName,
4551
id = item.id,
4652
preview = ChangeCategoryParams.Change.Preview(
4753
name = item.name,

feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import com.example.util.simpletimetracker.core.extension.showKeyboard
2525
import com.example.util.simpletimetracker.core.extension.visible
2626
import com.example.util.simpletimetracker.core.utils.BuildVersions
2727
import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
28-
import com.example.util.simpletimetracker.core.view.TransitionNames
2928
import com.example.util.simpletimetracker.feature_change_category.viewModel.ChangeCategoryViewModel
3029
import com.example.util.simpletimetracker.navigation.params.ChangeCategoryParams
3130
import com.google.android.flexbox.FlexDirection
@@ -75,10 +74,8 @@ class ChangeCategoryFragment : BaseFragment<Binding>() {
7574
.inflateTransition(android.R.transition.move)
7675
}
7776

78-
ViewCompat.setTransitionName(
79-
previewChangeCategory,
80-
TransitionNames.ACTIVITY_TAG + params.id
81-
)
77+
val transitionName: String = (params as? ChangeCategoryParams.Change)?.transitionName.orEmpty()
78+
ViewCompat.setTransitionName(previewChangeCategory, transitionName)
8279

8380
rvChangeCategoryColor.apply {
8481
layoutManager = FlexboxLayoutManager(requireContext()).apply {

feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/viewModel/ChangeCategoryViewModel.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.example.util.simpletimetracker.core.viewData.ColorViewData
1313
import com.example.util.simpletimetracker.core.viewData.RecordTypeViewData
1414
import com.example.util.simpletimetracker.domain.extension.flip
1515
import com.example.util.simpletimetracker.domain.extension.orTrue
16+
import com.example.util.simpletimetracker.domain.extension.orZero
1617
import com.example.util.simpletimetracker.domain.interactor.CategoryInteractor
1718
import com.example.util.simpletimetracker.domain.interactor.PrefsInteractor
1819
import com.example.util.simpletimetracker.domain.interactor.RecordTypeCategoryInteractor
@@ -63,9 +64,10 @@ class ChangeCategoryViewModel @Inject constructor(
6364
val flipTypesChooser: LiveData<Boolean> = MutableLiveData()
6465
val deleteButtonEnabled: LiveData<Boolean> = MutableLiveData(true)
6566
val saveButtonEnabled: LiveData<Boolean> = MutableLiveData(true)
66-
val deleteIconVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id != 0L) }
67-
val keyboardVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id == 0L) }
67+
val deleteIconVisibility: LiveData<Boolean> by lazy { MutableLiveData(categoryId != 0L) }
68+
val keyboardVisibility: LiveData<Boolean> by lazy { MutableLiveData(categoryId == 0L) }
6869

70+
private val categoryId: Long get() = (extra as? ChangeCategoryParams.Change)?.id.orZero()
6971
private var initialTypes: List<Long> = emptyList()
7072
private var newName: String = ""
7173
private var newColorId: Int = (0..ColorMapper.colorsNumber).random()
@@ -123,8 +125,8 @@ class ChangeCategoryViewModel @Inject constructor(
123125
fun onDeleteClick() {
124126
(deleteButtonEnabled as MutableLiveData).value = false
125127
viewModelScope.launch {
126-
if (extra.id != 0L) {
127-
categoryInteractor.remove(extra.id)
128+
if (categoryId != 0L) {
129+
categoryInteractor.remove(categoryId)
128130
showMessage(R.string.change_category_removed)
129131
(keyboardVisibility as MutableLiveData).value = false
130132
router.back()
@@ -140,7 +142,7 @@ class ChangeCategoryViewModel @Inject constructor(
140142
(saveButtonEnabled as MutableLiveData).value = false
141143
viewModelScope.launch {
142144
Category(
143-
id = extra.id,
145+
id = categoryId,
144146
name = newName,
145147
color = newColorId
146148
).let {
@@ -154,7 +156,7 @@ class ChangeCategoryViewModel @Inject constructor(
154156

155157
private suspend fun saveCategory(): Long {
156158
val category = Category(
157-
id = extra.id,
159+
id = categoryId,
158160
name = newName,
159161
color = newColorId
160162
)
@@ -171,7 +173,7 @@ class ChangeCategoryViewModel @Inject constructor(
171173
}
172174

173175
private suspend fun initializeSelectedTypes() {
174-
recordTypeCategoryInteractor.getTypes(extra.id)
176+
recordTypeCategoryInteractor.getTypes(categoryId)
175177
.let {
176178
newTypes = it.toMutableList()
177179
initialTypes = it
@@ -183,7 +185,7 @@ class ChangeCategoryViewModel @Inject constructor(
183185
}
184186

185187
private suspend fun loadCategoryViewData(): CategoryViewData {
186-
categoryInteractor.get(extra.id)
188+
categoryInteractor.get(categoryId)
187189
?.let {
188190
newName = it.name
189191
newColorId = it.color

feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/view/ChangeRecordTagFragment.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import com.example.util.simpletimetracker.core.extension.toViewData
2323
import com.example.util.simpletimetracker.core.extension.visible
2424
import com.example.util.simpletimetracker.core.utils.BuildVersions
2525
import com.example.util.simpletimetracker.core.utils.setFlipChooserColor
26-
import com.example.util.simpletimetracker.core.view.TransitionNames
2726
import com.example.util.simpletimetracker.feature_change_record_tag.viewModel.ChangeRecordTagViewModel
2827
import com.example.util.simpletimetracker.navigation.params.ChangeCategoryParams
2928
import com.google.android.flexbox.FlexDirection
@@ -67,10 +66,8 @@ class ChangeRecordTagFragment : BaseFragment<Binding>() {
6766
.inflateTransition(android.R.transition.move)
6867
}
6968

70-
ViewCompat.setTransitionName(
71-
previewChangeRecordTag,
72-
TransitionNames.RECORD_TAG + params.id
73-
)
69+
val transitionName: String = (params as? ChangeCategoryParams.Change)?.transitionName.orEmpty()
70+
ViewCompat.setTransitionName(previewChangeRecordTag, transitionName)
7471

7572
rvChangeRecordTagType.apply {
7673
layoutManager = FlexboxLayoutManager(requireContext()).apply {

feature_change_record_tag/src/main/java/com/example/util/simpletimetracker/feature_change_record_tag/viewModel/ChangeRecordTagViewModel.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.example.util.simpletimetracker.core.repo.ResourceRepo
1313
import com.example.util.simpletimetracker.core.viewData.RecordTypeViewData
1414
import com.example.util.simpletimetracker.domain.extension.flip
1515
import com.example.util.simpletimetracker.domain.extension.orTrue
16+
import com.example.util.simpletimetracker.domain.extension.orZero
1617
import com.example.util.simpletimetracker.domain.interactor.PrefsInteractor
1718
import com.example.util.simpletimetracker.domain.interactor.RecordTagInteractor
1819
import com.example.util.simpletimetracker.domain.interactor.RecordTypeInteractor
@@ -58,10 +59,11 @@ class ChangeRecordTagViewModel @Inject constructor(
5859
val flipTypesChooser: LiveData<Boolean> = MutableLiveData()
5960
val deleteButtonEnabled: LiveData<Boolean> = MutableLiveData(true)
6061
val saveButtonEnabled: LiveData<Boolean> = MutableLiveData(true)
61-
val deleteIconVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id != 0L) }
62-
val keyboardVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id == 0L) }
63-
val typesChooserVisibility: LiveData<Boolean> by lazy { MutableLiveData(extra.id == 0L) }
62+
val deleteIconVisibility: LiveData<Boolean> by lazy { MutableLiveData(recordTagId != 0L) }
63+
val keyboardVisibility: LiveData<Boolean> by lazy { MutableLiveData(recordTagId == 0L) }
64+
val typesChooserVisibility: LiveData<Boolean> by lazy { MutableLiveData(recordTagId == 0L) }
6465

66+
private val recordTagId: Long get() = (extra as? ChangeCategoryParams.Change)?.id.orZero()
6567
private var newName: String = ""
6668
private var newTypeId: Long = 0L
6769

@@ -92,8 +94,8 @@ class ChangeRecordTagViewModel @Inject constructor(
9294
fun onDeleteClick() {
9395
(deleteButtonEnabled as MutableLiveData).value = false
9496
viewModelScope.launch {
95-
if (extra.id != 0L) {
96-
recordTagInteractor.archive(extra.id)
97+
if (recordTagId != 0L) {
98+
recordTagInteractor.archive(recordTagId)
9799
showMessage(R.string.change_category_archived)
98100
(keyboardVisibility as MutableLiveData).value = false
99101
router.back()
@@ -114,20 +116,20 @@ class ChangeRecordTagViewModel @Inject constructor(
114116
viewModelScope.launch {
115117
// Zero id creates new record
116118
RecordTag(
117-
id = extra.id,
119+
id = recordTagId,
118120
typeId = newTypeId,
119121
name = newName
120122
).let {
121123
recordTagInteractor.add(it)
122-
notificationTypeInteractor.checkAndShow(extra.id)
124+
notificationTypeInteractor.checkAndShow(recordTagId)
123125
(keyboardVisibility as MutableLiveData).value = false
124126
router.back()
125127
}
126128
}
127129
}
128130

129131
private suspend fun initializePreviewViewData() {
130-
recordTagInteractor.get(extra.id)?.let {
132+
recordTagInteractor.get(recordTagId)?.let {
131133
newTypeId = it.typeId
132134
newName = it.name
133135
}

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

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

77
sealed class ChangeCategoryParams : Parcelable {
8-
abstract val id: Long
9-
108
@Parcelize
119
data class Change(
12-
override val id: Long,
10+
val transitionName: String,
11+
val id: Long,
1312
val preview: Preview? = null
1413
) : ChangeCategoryParams() {
1514

@@ -22,7 +21,5 @@ sealed class ChangeCategoryParams : Parcelable {
2221
}
2322

2423
@Parcelize
25-
object New : ChangeCategoryParams() {
26-
override val id: Long get() = 0 // TODO remove
27-
}
24+
object New : ChangeCategoryParams()
2825
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ sealed class ChangeRecordTypeParams : Parcelable {
2727
data class New(
2828
override val sizePreview: SizePreview
2929
) : ChangeRecordTypeParams() {
30-
override val id: Long get() = 0
30+
override val id: Long get() = 0 // TODO remove
3131
}
3232

3333
@Parcelize

0 commit comments

Comments
 (0)