ProgrammeFragment.kt 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package fr.riff_app.riff.ui.programme
  2. import android.os.Bundle
  3. import android.util.Log
  4. import android.view.LayoutInflater
  5. import android.view.View
  6. import android.view.ViewGroup
  7. import androidx.fragment.app.Fragment
  8. import androidx.fragment.app.FragmentPagerAdapter
  9. import androidx.viewpager.widget.ViewPager
  10. import com.google.android.material.tabs.TabLayout
  11. import fr.riff_app.riff.R
  12. import fr.riff_app.riff.planning.Planning
  13. import fr.riff_app.riff.ui.APagerAdapter
  14. import fr.riff_app.riff.weekdays
  15. import java.util.*
  16. class ProgrammeFragment : Fragment() {
  17. private lateinit var adapter : APagerAdapter
  18. private lateinit var root: View
  19. private lateinit var viewPager: ViewPager
  20. override fun onCreateView(
  21. inflater: LayoutInflater,
  22. container: ViewGroup?,
  23. savedInstanceState: Bundle?
  24. ): View? {
  25. root = inflater.inflate(R.layout.fragment_programme, container, false)
  26. viewPager = root.findViewById(R.id.dayTabPager)
  27. adapter = APagerAdapter(childFragmentManager, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)
  28. // You can add more fragments to the adapter, to display more information (for example with R/a/dio, queue, request, faves...)
  29. weekdays.forEach {
  30. adapter.addFragment(ProgrammeDayFragment.newInstance(it), it)
  31. }
  32. viewPager.adapter = adapter
  33. val todaySundayFirst = Calendar.getInstance(Planning.instance.timeZone).get(Calendar.DAY_OF_WEEK) - 1
  34. viewPager.currentItem = (todaySundayFirst - 1 + 7)%7 // don't do modulos on negative, seems like it's weird
  35. val tabLayout : TabLayout = root.findViewById(R.id.dayTabLayout)
  36. tabLayout.setupWithViewPager(viewPager)
  37. //[REMOVE LOG CALLS]Log.d(tag, "SongFragment view created")
  38. return root
  39. }
  40. }