@@ -44,8 +44,9 @@ import com.runnect.runnect.presentation.MainActivity
4444import com.runnect.runnect.presentation.countdown.CountDownActivity
4545import com.runnect.runnect.presentation.login.LoginActivity
4646import com.runnect.runnect.presentation.state.UiState
47- import com.runnect.runnect.util.multipart.ContentUriRequestBody
47+ import com.runnect.runnect.util.DepartureSetMode
4848import com.runnect.runnect.util.extension.setActivityDialog
49+ import com.runnect.runnect.util.multipart.ContentUriRequestBody
4950import dagger.hilt.android.AndroidEntryPoint
5051import kotlinx.android.synthetic.main.custom_dialog_make_course.view.btn_run
5152import 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 }
0 commit comments