@@ -8,6 +8,7 @@ import android.view.View
8
8
import android.view.ViewGroup
9
9
import android.widget.Toast
10
10
import androidx.activity.OnBackPressedCallback
11
+ import androidx.appcompat.app.AlertDialog
11
12
import androidx.navigation.findNavController
12
13
import androidx.navigation.fragment.navArgs
13
14
import androidx.fragment.app.activityViewModels
@@ -32,6 +33,7 @@ class RouteFragment : Fragment() {
32
33
33
34
private lateinit var adapter: RouteAdapter
34
35
private lateinit var backPressedCallback: OnBackPressedCallback
36
+ private var progressDialog: AlertDialog ? = null
35
37
36
38
override fun onCreateView (
37
39
inflater : LayoutInflater , container : ViewGroup ? ,
@@ -62,6 +64,7 @@ class RouteFragment : Fragment() {
62
64
setRecyclerView()
63
65
setStartAndDestinationText()
64
66
setObserve()
67
+ initDialog()
65
68
}
66
69
67
70
private fun setBinding () {
@@ -89,6 +92,7 @@ class RouteFragment : Fragment() {
89
92
* UI가 ViewModel을 직접 호출하면 안 되지만, 테스트를 위해 막차 조회 함수를 호출했습니다.
90
93
* 여기서 UI가 ViewModel을 직접 호출하지 않으면서 막차 조회 함수를 호출할 수 있을까요?
91
94
*/
95
+ progressDialog?.show()
92
96
routeViewModel.calculateLastTransportTime(itinerary)
93
97
routeResultViewModel.setItineraries(itinerary)
94
98
}
@@ -117,6 +121,8 @@ class RouteFragment : Fragment() {
117
121
routeResultViewModel.setLastTimes(response)
118
122
routeResultViewModel.setOrigin(routeViewModel.origin.value)
119
123
routeResultViewModel.setDestination(routeViewModel.destination.value)
124
+ progressDialog?.dismiss()
125
+
120
126
binding.root.findNavController()
121
127
.navigate(R .id.action_routeFragment_to_routeDetailFragment)
122
128
}
@@ -133,6 +139,15 @@ class RouteFragment : Fragment() {
133
139
routeViewModel.getRoute()
134
140
}
135
141
142
+ private fun initDialog () {
143
+ val dialogView = layoutInflater.inflate(R .layout.dialog_progress, null )
144
+ progressDialog = AlertDialog .Builder (requireContext())
145
+ .setView(dialogView)
146
+ .setCancelable(false )
147
+ .create()
148
+ progressDialog?.window?.setBackgroundDrawableResource(R .color.transparent)
149
+ }
150
+
136
151
override fun onDestroyView () {
137
152
_binding = null
138
153
0 commit comments