Skip to content

Commit 57b2597

Browse files
committed
REFACTOR: 루틴 작성 화면 관련 클래스의 이름을 WriteRoutine~ 에서 RoutineWrite~ 으로 수정
1 parent 7d51c24 commit 57b2597

File tree

9 files changed

+68
-68
lines changed

9 files changed

+68
-68
lines changed

app/src/main/java/com/threegap/bitnagil/MainNavHost.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import com.threegap.bitnagil.presentation.screen.reportdetail.model.navarg.Repor
1919
import com.threegap.bitnagil.presentation.screen.reporthistory.ReportHistoryScreenContainer
2020
import com.threegap.bitnagil.presentation.screen.reportwrite.ReportWriteScreenContainer
2121
import com.threegap.bitnagil.presentation.screen.routinelist.RoutineListScreenContainer
22-
import com.threegap.bitnagil.presentation.screen.routinewrite.WriteRoutineScreenContainer
23-
import com.threegap.bitnagil.presentation.screen.routinewrite.WriteRoutineViewModel
24-
import com.threegap.bitnagil.presentation.screen.routinewrite.model.navarg.WriteRoutineScreenArg
22+
import com.threegap.bitnagil.presentation.screen.routinewrite.RoutineWriteScreenContainer
23+
import com.threegap.bitnagil.presentation.screen.routinewrite.RoutineWriteViewModel
24+
import com.threegap.bitnagil.presentation.screen.routinewrite.model.navarg.RoutineWriteScreenArg
2525
import com.threegap.bitnagil.presentation.screen.setting.SettingScreenContainer
2626
import com.threegap.bitnagil.presentation.screen.splash.SplashScreenContainer
2727
import com.threegap.bitnagil.presentation.screen.terms.TermsAgreementScreenContainer
@@ -127,7 +127,7 @@ fun MainNavHost(
127127
}
128128
},
129129
navigateToRegisterRoutine = { routineId ->
130-
navigator.navController.navigate(Route.WriteRoutine(routineId = routineId))
130+
navigator.navController.navigate(Route.RoutineWrite(routineId = routineId))
131131
},
132132
navigateToEmotion = {
133133
navigator.navController.navigate(Route.Emotion)
@@ -224,19 +224,19 @@ fun MainNavHost(
224224
)
225225
}
226226

227-
composable<Route.WriteRoutine> { navBackStackEntry ->
228-
val arg = navBackStackEntry.toRoute<Route.WriteRoutine>()
227+
composable<Route.RoutineWrite> { navBackStackEntry ->
228+
val arg = navBackStackEntry.toRoute<Route.RoutineWrite>()
229229
val writeScreenNavArg = if (arg.isRegister) {
230-
WriteRoutineScreenArg.Add(baseRoutineId = arg.routineId)
230+
RoutineWriteScreenArg.Add(baseRoutineId = arg.routineId)
231231
} else {
232-
WriteRoutineScreenArg.Edit(routineId = arg.routineId!!, updateRoutineFromNowDate = arg.isUpdateRoutineFromNowDate)
232+
RoutineWriteScreenArg.Edit(routineId = arg.routineId!!, updateRoutineFromNowDate = arg.isUpdateRoutineFromNowDate)
233233
}
234234

235-
val viewModel = hiltViewModel<WriteRoutineViewModel, WriteRoutineViewModel.Factory> { factory ->
235+
val viewModel = hiltViewModel<RoutineWriteViewModel, RoutineWriteViewModel.Factory> { factory ->
236236
factory.create(writeScreenNavArg)
237237
}
238238

239-
WriteRoutineScreenContainer(
239+
RoutineWriteScreenContainer(
240240
viewModel = viewModel,
241241
navigateToBack = {
242242
if (navigator.navController.previousBackStackEntry != null) {
@@ -281,11 +281,11 @@ fun MainNavHost(
281281
}
282282
},
283283
navigateToAddRoutine = {
284-
navigator.navController.navigate(Route.WriteRoutine())
284+
navigator.navController.navigate(Route.RoutineWrite())
285285
},
286286
navigateToEditRoutine = { routineId, updateRoutineFromNowDate ->
287287
navigator.navController.navigate(
288-
Route.WriteRoutine(
288+
Route.RoutineWrite(
289289
routineId = routineId,
290290
isRegister = false,
291291
isUpdateRoutineFromNowDate = updateRoutineFromNowDate,

app/src/main/java/com/threegap/bitnagil/Route.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ sealed interface Route {
3131
) : Route
3232

3333
@Serializable
34-
data class WriteRoutine(
34+
data class RoutineWrite(
3535
val routineId: String? = null,
3636
val isRegister: Boolean = true,
3737
val isUpdateRoutineFromNowDate: Boolean = true,

presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/WriteRoutineScreen.kt renamed to presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/RoutineWrite.kt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,30 +38,30 @@ import com.threegap.bitnagil.presentation.screen.routinewrite.component.block.ro
3838
import com.threegap.bitnagil.presentation.screen.routinewrite.component.block.subroutinefield.SubRoutineField
3939
import com.threegap.bitnagil.presentation.screen.routinewrite.component.template.datepickerbottomsheet.DatePickerBottomSheet
4040
import com.threegap.bitnagil.presentation.screen.routinewrite.component.template.timepickerbottomsheet.TimePickerBottomSheet
41-
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.WriteRoutineSideEffect
42-
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.WriteRoutineState
41+
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.RoutineWriteSideEffect
42+
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.RoutineWriteState
4343
import com.threegap.bitnagil.presentation.screen.routinewrite.model.Day
4444
import com.threegap.bitnagil.presentation.screen.routinewrite.model.RepeatType
4545
import com.threegap.bitnagil.presentation.screen.routinewrite.model.Time
46-
import com.threegap.bitnagil.presentation.screen.routinewrite.model.WriteRoutineType
46+
import com.threegap.bitnagil.presentation.screen.routinewrite.model.RoutineWriteType
4747
import com.threegap.bitnagil.presentation.util.toast.GlobalBitnagilToast
4848
import org.orbitmvi.orbit.compose.collectAsState
4949
import org.orbitmvi.orbit.compose.collectSideEffect
5050

5151
@Composable
52-
fun WriteRoutineScreenContainer(
53-
viewModel: WriteRoutineViewModel = hiltViewModel(),
52+
fun RoutineWriteScreenContainer(
53+
viewModel: RoutineWriteViewModel = hiltViewModel(),
5454
navigateToBack: () -> Unit,
5555
) {
5656
val state by viewModel.collectAsState()
5757

5858
viewModel.collectSideEffect { sideEffect ->
5959
when (sideEffect) {
60-
WriteRoutineSideEffect.MoveToPreviousScreen -> {
60+
RoutineWriteSideEffect.MoveToPreviousScreen -> {
6161
navigateToBack()
6262
}
6363

64-
is WriteRoutineSideEffect.ShowToast -> {
64+
is RoutineWriteSideEffect.ShowToast -> {
6565
GlobalBitnagilToast.showCheck(sideEffect.message)
6666
}
6767
}
@@ -99,7 +99,7 @@ fun WriteRoutineScreenContainer(
9999
)
100100
}
101101

102-
WriteRoutineScreen(
102+
RoutineWriteScreen(
103103
state = state,
104104
setRoutineName = viewModel::setRoutineName,
105105
setSubRoutineName = viewModel::setSubRoutineName,
@@ -120,8 +120,8 @@ fun WriteRoutineScreenContainer(
120120
}
121121

122122
@Composable
123-
private fun WriteRoutineScreen(
124-
state: WriteRoutineState,
123+
private fun RoutineWriteScreen(
124+
state: RoutineWriteState,
125125
setRoutineName: (String) -> Unit,
126126
setSubRoutineName: (Int, String) -> Unit,
127127
selectNotUseSubRoutines: () -> Unit,
@@ -148,7 +148,7 @@ private fun WriteRoutineScreen(
148148
.windowInsetsPadding(WindowInsets.ime),
149149
) {
150150
BitnagilTopBar(
151-
title = if (state.writeRoutineType == WriteRoutineType.Add) "루틴 등록" else "루틴 수정",
151+
title = if (state.routineWriteType == RoutineWriteType.Add) "루틴 등록" else "루틴 수정",
152152
showBackButton = true,
153153
onBackClick = onClickBack,
154154
)
@@ -171,7 +171,7 @@ private fun WriteRoutineScreen(
171171
Spacer(modifier = Modifier.height(6.dp))
172172

173173
Text(
174-
text = "${state.routineName.length} / ${WriteRoutineState.MAX_ROUTINE_NAME_LENGTH}",
174+
text = "${state.routineName.length} / ${RoutineWriteState.MAX_ROUTINE_NAME_LENGTH}",
175175
style = BitnagilTheme.typography.caption1Medium,
176176
color = BitnagilTheme.colors.coolGray80,
177177
textAlign = TextAlign.End,
@@ -368,10 +368,10 @@ private fun getSubRoutinePlaceHolder(index: Int): String {
368368

369369
@Preview
370370
@Composable
371-
fun WriteRoutineScreenPreview() {
371+
fun RoutineWriteScreenPreview() {
372372
BitnagilTheme {
373-
WriteRoutineScreen(
374-
state = WriteRoutineState.INIT.copy(periodUiExpanded = true, startTimeUiExpanded = true),
373+
RoutineWriteScreen(
374+
state = RoutineWriteState.INIT.copy(periodUiExpanded = true, startTimeUiExpanded = true),
375375
setRoutineName = {},
376376
setSubRoutineName = { _, _ -> },
377377
selectRepeatTime = {},

presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/WriteRoutineViewModel.kt renamed to presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/RoutineWriteViewModel.kt

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ import com.threegap.bitnagil.domain.writeroutine.model.RepeatDay
88
import com.threegap.bitnagil.domain.writeroutine.model.RoutineUpdateType
99
import com.threegap.bitnagil.domain.writeroutine.usecase.EditRoutineUseCase
1010
import com.threegap.bitnagil.domain.writeroutine.usecase.RegisterRoutineUseCase
11-
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.WriteRoutineSideEffect
12-
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.WriteRoutineState
11+
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.RoutineWriteSideEffect
12+
import com.threegap.bitnagil.presentation.screen.routinewrite.contract.RoutineWriteState
1313
import com.threegap.bitnagil.presentation.screen.routinewrite.model.Date
1414
import com.threegap.bitnagil.presentation.screen.routinewrite.model.Day
1515
import com.threegap.bitnagil.presentation.screen.routinewrite.model.RepeatType
1616
import com.threegap.bitnagil.presentation.screen.routinewrite.model.SelectableDay
1717
import com.threegap.bitnagil.presentation.screen.routinewrite.model.SubRoutineUiModel
1818
import com.threegap.bitnagil.presentation.screen.routinewrite.model.Time
19-
import com.threegap.bitnagil.presentation.screen.routinewrite.model.WriteRoutineType
20-
import com.threegap.bitnagil.presentation.screen.routinewrite.model.navarg.WriteRoutineScreenArg
19+
import com.threegap.bitnagil.presentation.screen.routinewrite.model.RoutineWriteType
20+
import com.threegap.bitnagil.presentation.screen.routinewrite.model.navarg.RoutineWriteScreenArg
2121
import com.threegap.bitnagil.presentation.screen.routinewrite.model.toUiModel
2222
import dagger.assisted.Assisted
2323
import dagger.assisted.AssistedFactory
@@ -27,22 +27,22 @@ import org.orbitmvi.orbit.Container
2727
import org.orbitmvi.orbit.ContainerHost
2828
import org.orbitmvi.orbit.viewmodel.container
2929

30-
@HiltViewModel(assistedFactory = WriteRoutineViewModel.Factory::class)
31-
class WriteRoutineViewModel @AssistedInject constructor(
30+
@HiltViewModel(assistedFactory = RoutineWriteViewModel.Factory::class)
31+
class RoutineWriteViewModel @AssistedInject constructor(
3232
savedStateHandle: SavedStateHandle,
3333
private val registerRoutineUseCase: RegisterRoutineUseCase,
3434
private val editRoutineUseCase: EditRoutineUseCase,
3535
private val getRoutineUseCase: GetRoutineUseCase,
3636
private val getRecommendRoutineUseCase: GetRecommendRoutineUseCase,
37-
@Assisted private val writeRoutineArg: WriteRoutineScreenArg,
38-
) : ContainerHost<WriteRoutineState, WriteRoutineSideEffect>, ViewModel() {
37+
@Assisted private val writeRoutineArg: RoutineWriteScreenArg,
38+
) : ContainerHost<RoutineWriteState, RoutineWriteSideEffect>, ViewModel() {
3939
@AssistedFactory interface Factory {
40-
fun create(writeRoutineArg: WriteRoutineScreenArg): WriteRoutineViewModel
40+
fun create(writeRoutineArg: RoutineWriteScreenArg): RoutineWriteViewModel
4141
}
4242

43-
override val container: Container<WriteRoutineState, WriteRoutineSideEffect> = container(
43+
override val container: Container<RoutineWriteState, RoutineWriteSideEffect> = container(
4444
savedStateHandle = savedStateHandle,
45-
initialState = WriteRoutineState.INIT,
45+
initialState = RoutineWriteState.INIT,
4646
)
4747

4848
private var routineId: String? = null
@@ -53,12 +53,12 @@ class WriteRoutineViewModel @AssistedInject constructor(
5353
initResource(navigationArg)
5454
}
5555

56-
private fun initResource(navigationArg: WriteRoutineScreenArg) = intent {
56+
private fun initResource(navigationArg: RoutineWriteScreenArg) = intent {
5757
when (navigationArg) {
58-
is WriteRoutineScreenArg.Add -> {
58+
is RoutineWriteScreenArg.Add -> {
5959
reduce {
6060
state.copy(
61-
writeRoutineType = WriteRoutineType.Add,
61+
routineWriteType = RoutineWriteType.Add,
6262
)
6363
}
6464

@@ -67,10 +67,10 @@ class WriteRoutineViewModel @AssistedInject constructor(
6767
loadRecommendRoutine(it)
6868
}
6969
}
70-
is WriteRoutineScreenArg.Edit -> {
70+
is RoutineWriteScreenArg.Edit -> {
7171
reduce {
7272
state.copy(
73-
writeRoutineType = WriteRoutineType.Edit(updateRoutineFromNowDate = navigationArg.updateRoutineFromNowDate),
73+
routineWriteType = RoutineWriteType.Edit(updateRoutineFromNowDate = navigationArg.updateRoutineFromNowDate),
7474
)
7575
}
7676

@@ -158,7 +158,7 @@ class WriteRoutineViewModel @AssistedInject constructor(
158158
}
159159

160160
fun setRoutineName(name: String) = intent {
161-
if (name.length > WriteRoutineState.MAX_ROUTINE_NAME_LENGTH) return@intent
161+
if (name.length > RoutineWriteState.MAX_ROUTINE_NAME_LENGTH) return@intent
162162
reduce {
163163
state.copy(
164164
routineName = name,
@@ -360,8 +360,8 @@ class WriteRoutineViewModel @AssistedInject constructor(
360360
null -> listOf()
361361
}
362362

363-
when (val writeRoutineType = currentState.writeRoutineType) {
364-
WriteRoutineType.Add -> {
363+
when (val writeRoutineType = currentState.routineWriteType) {
364+
RoutineWriteType.Add -> {
365365
reduce {
366366
state.copy(
367367
loading = true,
@@ -382,7 +382,7 @@ class WriteRoutineViewModel @AssistedInject constructor(
382382
)
383383

384384
if (registerRoutineResult.isSuccess) {
385-
postSideEffect(WriteRoutineSideEffect.MoveToPreviousScreen)
385+
postSideEffect(RoutineWriteSideEffect.MoveToPreviousScreen)
386386
} else {
387387
reduce {
388388
state.copy(
@@ -391,7 +391,7 @@ class WriteRoutineViewModel @AssistedInject constructor(
391391
}
392392
}
393393
}
394-
is WriteRoutineType.Edit -> {
394+
is RoutineWriteType.Edit -> {
395395
val currentRoutineId = routineId ?: return@intent
396396
val subRoutines = if (currentState.selectNotUseSubRoutines) emptyList() else currentState.subRoutineNames.filter { it.isNotEmpty() }
397397
val routineUpdateType = if (writeRoutineType.updateRoutineFromNowDate) {
@@ -418,8 +418,8 @@ class WriteRoutineViewModel @AssistedInject constructor(
418418
)
419419

420420
if (editRoutineResult.isSuccess) {
421-
postSideEffect(WriteRoutineSideEffect.MoveToPreviousScreen)
422-
postSideEffect(WriteRoutineSideEffect.ShowToast("루틴 수정이 완료되었습니다."))
421+
postSideEffect(RoutineWriteSideEffect.MoveToPreviousScreen)
422+
postSideEffect(RoutineWriteSideEffect.ShowToast("루틴 수정이 완료되었습니다."))
423423
} else {
424424
reduce {
425425
state.copy(
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.threegap.bitnagil.presentation.screen.routinewrite.contract
2+
3+
sealed interface RoutineWriteSideEffect {
4+
data object MoveToPreviousScreen : RoutineWriteSideEffect
5+
data class ShowToast(val message: String) : RoutineWriteSideEffect
6+
}

presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/contract/WriteRoutineState.kt renamed to presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/contract/RoutineWriteState.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import com.threegap.bitnagil.presentation.screen.routinewrite.model.Day
77
import com.threegap.bitnagil.presentation.screen.routinewrite.model.RepeatType
88
import com.threegap.bitnagil.presentation.screen.routinewrite.model.SelectableDay
99
import com.threegap.bitnagil.presentation.screen.routinewrite.model.Time
10-
import com.threegap.bitnagil.presentation.screen.routinewrite.model.WriteRoutineType
10+
import com.threegap.bitnagil.presentation.screen.routinewrite.model.RoutineWriteType
1111
import kotlinx.parcelize.Parcelize
1212

1313
@Parcelize
14-
data class WriteRoutineState(
14+
data class RoutineWriteState(
1515
val routineName: String,
1616
val subRoutineNames: List<String>,
1717
val selectNotUseSubRoutines: Boolean,
@@ -25,7 +25,7 @@ data class WriteRoutineState(
2525
val showTimePickerBottomSheet: Boolean,
2626
val showStartDatePickerBottomSheet: Boolean,
2727
val showEndDatePickerBottomSheet: Boolean,
28-
val writeRoutineType: WriteRoutineType,
28+
val routineWriteType: RoutineWriteType,
2929
val subRoutineUiExpanded: Boolean,
3030
val repeatDaysUiExpanded: Boolean,
3131
val periodUiExpanded: Boolean,
@@ -35,7 +35,7 @@ data class WriteRoutineState(
3535
companion object {
3636
const val MAX_ROUTINE_NAME_LENGTH = 20
3737

38-
val INIT = WriteRoutineState(
38+
val INIT = RoutineWriteState(
3939
routineName = "",
4040
subRoutineNames = listOf("", "", ""),
4141
selectNotUseSubRoutines = false,
@@ -76,7 +76,7 @@ data class WriteRoutineState(
7676
showStartDatePickerBottomSheet = false,
7777
showEndDatePickerBottomSheet = false,
7878
showTimePickerBottomSheet = false,
79-
writeRoutineType = WriteRoutineType.Add,
79+
routineWriteType = RoutineWriteType.Add,
8080
subRoutineUiExpanded = false,
8181
repeatDaysUiExpanded = false,
8282
periodUiExpanded = false,

presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/contract/WriteRoutineSideEffect.kt

Lines changed: 0 additions & 6 deletions
This file was deleted.

presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/WriteRoutineType.kt renamed to presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/RoutineWriteType.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import android.os.Parcelable
44
import kotlinx.parcelize.Parcelize
55

66
@Parcelize
7-
sealed class WriteRoutineType : Parcelable {
7+
sealed class RoutineWriteType : Parcelable {
88
@Parcelize
9-
data object Add : WriteRoutineType()
9+
data object Add : RoutineWriteType()
1010

1111
@Parcelize
12-
data class Edit(val updateRoutineFromNowDate: Boolean) : WriteRoutineType()
12+
data class Edit(val updateRoutineFromNowDate: Boolean) : RoutineWriteType()
1313
}

presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/navarg/WriteRoutineScreenArg.kt renamed to presentation/src/main/java/com/threegap/bitnagil/presentation/screen/routinewrite/model/navarg/RoutineWriteScreenArg.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package com.threegap.bitnagil.presentation.screen.routinewrite.model.navarg
33
import kotlinx.serialization.Serializable
44

55
@Serializable
6-
sealed class WriteRoutineScreenArg {
6+
sealed class RoutineWriteScreenArg {
77
@Serializable
8-
data class Add(val baseRoutineId: String?) : WriteRoutineScreenArg()
8+
data class Add(val baseRoutineId: String?) : RoutineWriteScreenArg()
99

1010
@Serializable
11-
data class Edit(val routineId: String, val updateRoutineFromNowDate: Boolean) : WriteRoutineScreenArg()
11+
data class Edit(val routineId: String, val updateRoutineFromNowDate: Boolean) : RoutineWriteScreenArg()
1212
}

0 commit comments

Comments
 (0)