From eb3c320523d135092036b55d587eb6c0eb8dddf1 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Sat, 17 Feb 2024 12:05:19 -0700 Subject: [PATCH] home: move speed dial touch setup to onStart If we don't do this, the views won't be there and the app will crash in some circumstances. Resolves #701. --- .../org/oxycblt/auxio/home/HomeFragment.kt | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt index f5c4c5bd0..1d5c5bdde 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt @@ -148,19 +148,6 @@ class HomeFragment : // --- UI SETUP --- - // Stock bottom sheet overlay won't work with our nested UI setup, have to replicate - // it ourselves. - binding.root.rootView.apply { - post { - findViewById(R.id.main_scrim).setOnTouchListener { _, event -> - handleSpeedDialBoundaryTouch(event) - } - findViewById(R.id.sheet_scrim).setOnTouchListener { _, event -> - handleSpeedDialBoundaryTouch(event) - } - } - } - binding.homeAppbar.addOnOffsetChangedListener(this) binding.homeNormalToolbar.apply { setOnMenuItemClickListener(this@HomeFragment) @@ -235,6 +222,23 @@ class HomeFragment : collect(detailModel.toShow.flow, ::handleShow) } + override fun onStart() { + super.onStart() + + // Stock bottom sheet overlay won't work with our nested UI setup, have to replicate + // it ourselves. + requireBinding().root.rootView.apply { + post { + findViewById(R.id.main_scrim).setOnTouchListener { _, event -> + handleSpeedDialBoundaryTouch(event) + } + findViewById(R.id.sheet_scrim).setOnTouchListener { _, event -> + handleSpeedDialBoundaryTouch(event) + } + } + } + } + override fun onSaveInstanceState(outState: Bundle) { val transition = enterTransition if (transition is MaterialSharedAxis) {