Skip to content

Commit 6caee53

Browse files
committed
fix: MapFragment 리팩토링 및 트래킹 버그 수정
1 parent 73f80c2 commit 6caee53

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

presentation/src/main/java/com/stop/ui/map/MapFragment.kt

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import androidx.fragment.app.activityViewModels
1111
import androidx.lifecycle.asLiveData
1212
import androidx.lifecycle.flowWithLifecycle
1313
import androidx.lifecycle.lifecycleScope
14-
import androidx.navigation.findNavController
1514
import androidx.navigation.fragment.findNavController
1615
import com.google.android.material.bottomsheet.BottomSheetBehavior
1716
import com.skt.tmap.TMapPoint
@@ -40,7 +39,6 @@ class MapFragment : Fragment(), MapHandler {
4039
savedInstanceState: Bundle?
4140
): View {
4241
_binding = FragmentMapBinding.inflate(inflater, container, false)
43-
4442
initBinding()
4543

4644
return binding.root
@@ -53,7 +51,7 @@ class MapFragment : Fragment(), MapHandler {
5351
initView()
5452
initNavigateAction()
5553
initBottomSheetBehavior()
56-
listenButtonClick()
54+
initBottomSheetView()
5755
}
5856

5957
override fun alertTMapReady() {
@@ -105,31 +103,35 @@ class MapFragment : Fragment(), MapHandler {
105103

106104
private fun initNavigateAction() {
107105
binding.textViewSearch.setOnClickListener {
108-
binding.root.findNavController()
109-
.navigate(R.id.action_mapFragment_to_placeSearchFragment)
106+
findNavController().navigate(R.id.action_mapFragment_to_placeSearchFragment)
110107
}
111108

112109
binding.homePanel.viewPanelStart.setOnClickListener {
113-
val navController = findNavController()
114-
navController.setGraph(R.navigation.route_nav_graph)
115-
val action = RouteNavGraphDirections.actionGlobalRouteFragment().setStart(placeSearchViewModel.panelInfo)
116-
navController.navigate(action)
110+
findNavController().apply {
111+
setGraph(R.navigation.route_nav_graph)
112+
navigate(
113+
RouteNavGraphDirections.actionGlobalRouteFragment()
114+
.setStart(placeSearchViewModel.panelInfo)
115+
)
116+
}
117117
}
118118

119119
binding.homePanel.viewPanelEnd.setOnClickListener {
120-
val navController = findNavController()
121-
navController.setGraph(R.navigation.route_nav_graph)
122-
val action = RouteNavGraphDirections.actionGlobalRouteFragment().setEnd(placeSearchViewModel.panelInfo)
123-
navController.navigate(action)
120+
findNavController().apply {
121+
setGraph(R.navigation.route_nav_graph)
122+
navigate(
123+
RouteNavGraphDirections.actionGlobalRouteFragment()
124+
.setEnd(placeSearchViewModel.panelInfo)
125+
)
126+
}
124127
}
125128
}
126129

127130
private fun initBottomSheetBehavior() {
128131
val behavior = BottomSheetBehavior.from(binding.layoutHomeBottomSheet)
129132

130133
alarmViewModel.getAlarm()
131-
132-
alarmViewModel.isAlarmItemNotNull.asLiveData().observe(viewLifecycleOwner){
134+
alarmViewModel.isAlarmItemNotNull.asLiveData().observe(viewLifecycleOwner) {
133135
behavior.isDraggable = it
134136
}
135137

@@ -154,15 +156,24 @@ class MapFragment : Fragment(), MapHandler {
154156
}
155157

156158
override fun onSlide(bottomSheet: View, slideOffset: Float) = Unit
157-
158159
})
159160
}
160161

162+
private fun initBottomSheetView() {
163+
binding.homeBottomSheet.layoutStateExpanded.buttonAlarmTurnOff.setOnClickListener {
164+
val behavior = BottomSheetBehavior.from(binding.layoutHomeBottomSheet)
165+
166+
behavior.state = BottomSheetBehavior.STATE_COLLAPSED
167+
alarmViewModel.deleteAlarm()
168+
}
169+
}
170+
161171
private fun observeClickPlace() {
162172
placeSearchViewModel.clickPlaceUseCaseItem.observe(viewLifecycleOwner) { event ->
163173
event.getContentIfNotHandled()?.let { clickPlace ->
164174
val clickTMapPoint = TMapPoint(clickPlace.centerLat, clickPlace.centerLon)
165175

176+
tMap.isTracking = false
166177
tMap.tMapView.setCenterPoint(
167178
clickTMapPoint.latitude,
168179
clickTMapPoint.longitude,
@@ -183,6 +194,7 @@ class MapFragment : Fragment(), MapHandler {
183194
val currentTMapPoint =
184195
TMapPoint(currentLocation.latitude, currentLocation.longitude)
185196

197+
tMap.isTracking = false
186198
tMap.tMapView.setCenterPoint(
187199
currentTMapPoint.latitude,
188200
currentTMapPoint.longitude
@@ -219,14 +231,6 @@ class MapFragment : Fragment(), MapHandler {
219231
}
220232
}
221233

222-
private fun listenButtonClick(){
223-
binding.homeBottomSheet.layoutStateExpanded.buttonAlarmTurnOff.setOnClickListener {
224-
alarmViewModel.deleteAlarm()
225-
val behavior = BottomSheetBehavior.from(binding.layoutHomeBottomSheet)
226-
behavior.state = BottomSheetBehavior.STATE_COLLAPSED
227-
}
228-
}
229-
230234
override fun onDestroyView() {
231235
_binding = null
232236

0 commit comments

Comments
 (0)