1
1
package com.stop.ui.route
2
2
3
+ import android.content.Context
3
4
import android.os.Bundle
4
5
import android.view.LayoutInflater
5
6
import android.view.View
6
7
import android.view.ViewGroup
7
8
import android.widget.Toast
9
+ import androidx.activity.OnBackPressedCallback
8
10
import androidx.fragment.app.Fragment
9
11
import androidx.navigation.findNavController
10
12
import androidx.navigation.fragment.navArgs
@@ -29,6 +31,7 @@ class RouteFragment : Fragment() {
29
31
private val args: RouteFragmentArgs by navArgs()
30
32
31
33
private lateinit var adapter: RouteAdapter
34
+ private lateinit var backPressedCallback: OnBackPressedCallback
32
35
33
36
override fun onCreateView (
34
37
inflater : LayoutInflater , container : ViewGroup ? ,
@@ -38,6 +41,19 @@ class RouteFragment : Fragment() {
38
41
return binding.root
39
42
}
40
43
44
+ override fun onAttach (context : Context ) {
45
+ super .onAttach(context)
46
+
47
+ backPressedCallback = object : OnBackPressedCallback (true ) {
48
+ override fun handleOnBackPressed () {
49
+ val navController = findNavController()
50
+ navController.setGraph(R .navigation.nav_graph)
51
+ navController.popBackStack(R .id.action_global_mapFragment, false )
52
+ }
53
+ }
54
+ requireActivity().onBackPressedDispatcher.addCallback(this , backPressedCallback)
55
+ }
56
+
41
57
override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
42
58
super .onViewCreated(view, savedInstanceState)
43
59
@@ -105,6 +121,8 @@ class RouteFragment : Fragment() {
105
121
}
106
122
}
107
123
124
+
125
+
108
126
private fun setStartAndDestinationText () {
109
127
args.start?.let {
110
128
routeViewModel.setOrigin(it)
0 commit comments