@@ -23,7 +23,7 @@ import com.stop.model.Location
23
23
import com.stop.ui.alarmsetting.AlarmSettingViewModel
24
24
import com.stop.ui.util.Marker
25
25
import dagger.hilt.android.AndroidEntryPoint
26
- import kotlinx.coroutines.flow.collectLatest
26
+ import kotlinx.coroutines.flow.collectIndexed
27
27
import kotlinx.coroutines.launch
28
28
29
29
@AndroidEntryPoint
@@ -62,6 +62,7 @@ class MissionFragment : Fragment(), MissionHandler {
62
62
_binding = null
63
63
64
64
super .onDestroyView()
65
+ Log .d(" MissionWorker" ," onDestroyView" )
65
66
}
66
67
67
68
private fun setDataBinding () {
@@ -135,28 +136,20 @@ class MissionFragment : Fragment(), MissionHandler {
135
136
}
136
137
137
138
private fun drawPersonLine () {
138
- var first = 0
139
139
lateinit var beforeLocation: Location
140
140
lifecycleScope.launch {
141
- missionViewModel.userLocation.collect { userLocation ->
142
- when (first) {
143
- 0 -> {
144
- first + = 1
145
- }
146
- 1 -> {
147
- initMarker(userLocation)
148
- beforeLocation = userLocation
149
- first + = 1
150
- }
151
- else -> {
152
- drawNowLocationLine(TMapPoint (userLocation.latitude, userLocation.longitude), TMapPoint (beforeLocation.latitude, beforeLocation.longitude))
153
- personCurrentLocation = userLocation
154
- if (tMap.isTracking) {
155
- tMap.tMapView.setCenterPoint(userLocation.latitude, userLocation.longitude)
156
- }
157
- beforeLocation = userLocation
158
- arriveDestination(userLocation.latitude, userLocation.longitude)
141
+ missionViewModel.userLocation.collectIndexed { index, userLocation ->
142
+ if (index == 1 ) {
143
+ initMarker(userLocation)
144
+ beforeLocation = userLocation
145
+ } else {
146
+ drawNowLocationLine(TMapPoint (userLocation.latitude, userLocation.longitude), TMapPoint (beforeLocation.latitude, beforeLocation.longitude))
147
+ personCurrentLocation = userLocation
148
+ if (tMap.isTracking) {
149
+ tMap.tMapView.setCenterPoint(userLocation.latitude, userLocation.longitude)
159
150
}
151
+ beforeLocation = userLocation
152
+ arriveDestination(userLocation.latitude, userLocation.longitude)
160
153
}
161
154
}
162
155
}
@@ -280,7 +273,7 @@ class MissionFragment : Fragment(), MissionHandler {
280
273
281
274
private fun setMissionOver () {
282
275
lifecycleScope.launch {
283
- missionViewModel.isMissionOver.collectLatest { isMissionOver ->
276
+ missionViewModel.isMissionOver.collect { isMissionOver ->
284
277
if (isMissionOver) {
285
278
missionViewModel.cancelMission()
286
279
alarmSettingViewModel.deleteAlarm()
0 commit comments