Skip to content

Commit 72d1a19

Browse files
committed
feat : Modal Progress 구현
1 parent c08dc13 commit 72d1a19

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

presentation/src/main/java/com/stop/ui/route/RouteFragment.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.view.View
88
import android.view.ViewGroup
99
import android.widget.Toast
1010
import androidx.activity.OnBackPressedCallback
11+
import androidx.appcompat.app.AlertDialog
1112
import androidx.navigation.findNavController
1213
import androidx.navigation.fragment.navArgs
1314
import androidx.fragment.app.activityViewModels
@@ -32,6 +33,7 @@ class RouteFragment : Fragment() {
3233

3334
private lateinit var adapter: RouteAdapter
3435
private lateinit var backPressedCallback: OnBackPressedCallback
36+
private var progressDialog: AlertDialog? = null
3537

3638
override fun onCreateView(
3739
inflater: LayoutInflater, container: ViewGroup?,
@@ -62,6 +64,7 @@ class RouteFragment : Fragment() {
6264
setRecyclerView()
6365
setStartAndDestinationText()
6466
setObserve()
67+
initDialog()
6568
}
6669

6770
private fun setBinding() {
@@ -89,6 +92,7 @@ class RouteFragment : Fragment() {
8992
* UI가 ViewModel을 직접 호출하면 안 되지만, 테스트를 위해 막차 조회 함수를 호출했습니다.
9093
* 여기서 UI가 ViewModel을 직접 호출하지 않으면서 막차 조회 함수를 호출할 수 있을까요?
9194
*/
95+
progressDialog?.show()
9296
routeViewModel.calculateLastTransportTime(itinerary)
9397
routeResultViewModel.setItineraries(itinerary)
9498
}
@@ -117,6 +121,8 @@ class RouteFragment : Fragment() {
117121
routeResultViewModel.setLastTimes(response)
118122
routeResultViewModel.setOrigin(routeViewModel.origin.value)
119123
routeResultViewModel.setDestination(routeViewModel.destination.value)
124+
progressDialog?.dismiss()
125+
120126
binding.root.findNavController()
121127
.navigate(R.id.action_routeFragment_to_routeDetailFragment)
122128
}
@@ -133,6 +139,15 @@ class RouteFragment : Fragment() {
133139
routeViewModel.getRoute()
134140
}
135141

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+
136151
override fun onDestroyView() {
137152
_binding = null
138153

0 commit comments

Comments
 (0)