@@ -18,6 +18,7 @@ import com.ricknout.rugbyranker.vo.WorldRugbyRanking
18
18
import dagger.android.support.DaggerFragment
19
19
import javax.inject.Inject
20
20
import android.view.inputmethod.InputMethodManager
21
+ import androidx.activity.OnBackPressedCallback
21
22
import androidx.core.view.isInvisible
22
23
import androidx.core.view.isVisible
23
24
import androidx.emoji.text.EmojiCompat
@@ -73,6 +74,18 @@ class RankingsFragment : DaggerFragment() {
73
74
}
74
75
})
75
76
77
+ private val onBackPressedCallback = OnBackPressedCallback {
78
+ if (::bottomSheetBehavior.isInitialized && bottomSheetBehavior.state == BottomSheetBehavior .STATE_EXPANDED ) {
79
+ if (bottomSheetBehavior.isHideable && bottomSheetBehavior.skipCollapsed) {
80
+ bottomSheetBehavior.state = BottomSheetBehavior .STATE_HIDDEN
81
+ } else {
82
+ bottomSheetBehavior.state = BottomSheetBehavior .STATE_COLLAPSED
83
+ }
84
+ return @OnBackPressedCallback true
85
+ }
86
+ false
87
+ }
88
+
76
89
override fun onCreateView (inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ): View ?
77
90
= inflater.inflate(R .layout.fragment_rankings, container, false )
78
91
@@ -99,8 +112,8 @@ class RankingsFragment : DaggerFragment() {
99
112
setupSnackbars()
100
113
setupViewModel()
101
114
setupSwipeRefreshLayout()
102
- setupOnBackPressed()
103
115
setTitle()
116
+ requireActivity().addOnBackPressedCallback(onBackPressedCallback)
104
117
}
105
118
106
119
override fun onSaveInstanceState (outState : Bundle ) {
@@ -320,20 +333,6 @@ class RankingsFragment : DaggerFragment() {
320
333
}
321
334
}
322
335
323
- private fun setupOnBackPressed () {
324
- requireActivity().addOnBackPressedCallback {
325
- if (::bottomSheetBehavior.isInitialized && bottomSheetBehavior.state == BottomSheetBehavior .STATE_EXPANDED ) {
326
- if (bottomSheetBehavior.isHideable && bottomSheetBehavior.skipCollapsed) {
327
- bottomSheetBehavior.state = BottomSheetBehavior .STATE_HIDDEN
328
- } else {
329
- bottomSheetBehavior.state = BottomSheetBehavior .STATE_COLLAPSED
330
- }
331
- return @addOnBackPressedCallback true
332
- }
333
- false
334
- }
335
- }
336
-
337
336
private fun hasMatchResults () = viewModel.hasMatchResults()
338
337
339
338
private fun getMatchResultCount () = viewModel.getMatchResultCount()
@@ -528,6 +527,7 @@ class RankingsFragment : DaggerFragment() {
528
527
override fun onDestroyView () {
529
528
hideSoftInput()
530
529
viewModel.resetAddOrEditMatchInputValid()
530
+ requireActivity().removeOnBackPressedCallback(onBackPressedCallback)
531
531
super .onDestroyView()
532
532
}
533
533
0 commit comments