Skip to content

Commit 66c20f1

Browse files
authored
[Merge] feature/refactor-departure-set-enum -> develop
[REFACTOR] 출발지 모드 세팅 / Enum Class 활용
2 parents c8a8fdb + 5eabffe commit 66c20f1

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

app/src/main/java/com/runnect/runnect/presentation/draw/DrawActivity.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ import com.runnect.runnect.presentation.MainActivity
4444
import com.runnect.runnect.presentation.countdown.CountDownActivity
4545
import com.runnect.runnect.presentation.login.LoginActivity
4646
import com.runnect.runnect.presentation.state.UiState
47-
import com.runnect.runnect.util.multipart.ContentUriRequestBody
47+
import com.runnect.runnect.util.DepartureSetMode
4848
import com.runnect.runnect.util.extension.setActivityDialog
49+
import com.runnect.runnect.util.multipart.ContentUriRequestBody
4950
import dagger.hilt.android.AndroidEntryPoint
5051
import kotlinx.android.synthetic.main.custom_dialog_make_course.view.btn_run
5152
import kotlinx.android.synthetic.main.custom_dialog_make_course.view.btn_storage
@@ -135,17 +136,21 @@ class DrawActivity :
135136
setLocationChangedListener()
136137
setCameraFinishedListener()
137138
}
139+
138140
private fun initMode() {
139141
when (searchResult.mode) {
140-
"searchLocation" -> initSearchLocationMode()
141-
"currentLocation" -> initCurrentLocationMode()
142-
"customLocation" -> initCustomLocationMode()
142+
DepartureSetMode.SEARCH.mode -> initSearchLocationMode()
143+
DepartureSetMode.CURRENT.mode -> initCurrentLocationMode()
144+
DepartureSetMode.CUSTOM.mode -> initCustomLocationMode()
145+
else -> throw IllegalArgumentException("Unknown mode: ${searchResult.mode}")
143146
}
144147
}
148+
149+
145150
private fun initSearchLocationMode() {
146151
isSearchLocationMode = true
147152

148-
with(binding){
153+
with(binding) {
149154
tvGuide.isVisible = false
150155
btnDraw.text = CREATE_COURSE
151156
}
@@ -168,6 +173,7 @@ class DrawActivity :
168173
}
169174
}
170175
}
176+
171177
private fun initCurrentLocationMode() {
172178
isCurrentLocationMode = true
173179
isMarkerAvailable = true
@@ -180,6 +186,7 @@ class DrawActivity :
180186
hideDeparture()
181187
showDrawCourse()
182188
}
189+
183190
private fun initCustomLocationMode() {
184191
isCustomLocationMode = true
185192

@@ -245,6 +252,7 @@ class DrawActivity :
245252
val cameraPosition = naverMap.cameraPosition
246253
return cameraPosition.target // 중심 좌표
247254
}
255+
248256
private fun setLocationChangedListener() {
249257
naverMap.addOnLocationChangeListener { location ->
250258
currentLocation = LatLng(location.latitude, location.longitude)
@@ -256,7 +264,7 @@ class DrawActivity :
256264
//같은 scope 안에 넣었으니 setDepartureLatLng 다음에 drawCourse가 실행되는 것이 보장됨
257265
//이때 isFirstInit의 초기값을 true로 줘서 최초 1회는 실행되게 하고 이후 drawCourse 내에서 isFirstInit 값을 false로 바꿔줌
258266
//뒤의 조건을 안 달아주면 다른 mode에서는 버튼을 클릭하기도 전에 drawCourse()가 돌 거라 안 됨.
259-
if(isFirstInit && isCurrentLocationMode){
267+
if (isFirstInit && isCurrentLocationMode) {
260268
drawCourse(departureLatLng = departureLatLng)
261269
}
262270
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.runnect.runnect.util
2+
3+
enum class DepartureSetMode(val mode: String) {
4+
SEARCH("searchLocation"),
5+
CURRENT("currentLocation"),
6+
CUSTOM("customLocation")
7+
}

0 commit comments

Comments
 (0)