@@ -21,13 +21,16 @@ import android.view.LayoutInflater
2121import android.view.View
2222import android.view.ViewGroup
2323import androidx.constraintlayout.widget.ConstraintSet
24+ import androidx.core.view.ViewCompat
25+ import androidx.core.view.WindowInsetsCompat
26+ import androidx.core.view.updatePadding
2427import androidx.fragment.app.Fragment
25- import com.instructure.pandautils.base.BaseCanvasFragment
2628import androidx.fragment.app.viewModels
2729import androidx.lifecycle.LiveData
2830import androidx.lifecycle.MutableLiveData
2931import androidx.viewpager2.adapter.FragmentStateAdapter
3032import androidx.viewpager2.widget.ViewPager2
33+ import com.instructure.pandautils.base.BaseCanvasFragment
3134import com.instructure.pandautils.databinding.FragmentSchedulePagerBinding
3235import com.instructure.pandautils.features.elementary.schedule.ScheduleFragment
3336import com.instructure.pandautils.utils.isAccessibilityEnabled
@@ -57,6 +60,30 @@ class SchedulePagerFragment : BaseCanvasFragment() {
5760 override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
5861 super .onViewCreated(view, savedInstanceState)
5962
63+ // Consume bottom insets for schedulePager so child fragments don't apply them
64+ // The controls section handles bottom spacing
65+ ViewCompat .setOnApplyWindowInsetsListener(binding.schedulePager) { view, insets ->
66+ val navigationBars = insets.getInsets(WindowInsetsCompat .Type .navigationBars())
67+ WindowInsetsCompat .Builder (insets)
68+ .setInsets(
69+ WindowInsetsCompat .Type .navigationBars(),
70+ androidx.core.graphics.Insets .of(
71+ navigationBars.left,
72+ navigationBars.top,
73+ navigationBars.right,
74+ 0 // Consume bottom insets
75+ )
76+ )
77+ .build()
78+ }
79+
80+ // Apply bottom system bar insets to controls (Previous/Next Week buttons)
81+ ViewCompat .setOnApplyWindowInsetsListener(binding.controls) { view, insets ->
82+ val navigationBars = insets.getInsets(WindowInsetsCompat .Type .navigationBars())
83+ view.updatePadding(bottom = navigationBars.bottom)
84+ insets
85+ }
86+
6087 viewModel.data.observe(viewLifecycleOwner, { schedulePagerViewData ->
6188 schedulePagerViewData?.let {
6289 binding.schedulePager.adapter = object : FragmentStateAdapter (this @SchedulePagerFragment) {
0 commit comments