Archived
Canteen content can now be displayed
This commit is contained in:
@@ -6,8 +6,10 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.denizk0461.studip.adapter.CanteenOfferPageAdapter
|
||||
import com.denizk0461.studip.databinding.FragmentCanteenBinding
|
||||
import com.denizk0461.studip.viewmodel.CanteenViewModel
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
|
||||
class CanteenFragment : Fragment() {
|
||||
|
||||
@@ -17,6 +19,9 @@ class CanteenFragment : Fragment() {
|
||||
// onDestroyView.
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private var dates = listOf<String>()
|
||||
|
||||
private lateinit var viewPagerAdapter: CanteenOfferPageAdapter
|
||||
private val viewModel: CanteenViewModel by viewModels()
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
@@ -27,7 +32,18 @@ class CanteenFragment : Fragment() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
viewPagerAdapter = CanteenOfferPageAdapter(listOf(), 0)
|
||||
binding.viewPager.adapter = viewPagerAdapter
|
||||
|
||||
createTabLayoutMediator()
|
||||
|
||||
viewModel.allOffers.observe(viewLifecycleOwner) { offers ->
|
||||
|
||||
dates = offers.map { it.date }.distinct()
|
||||
createTabLayoutMediator()
|
||||
|
||||
viewPagerAdapter.setNewItems(offers, dates.size)
|
||||
|
||||
// TODO this must be changed. if an exception is raised, then this will not fire
|
||||
binding.swipeRefreshLayout.isRefreshing = false
|
||||
}
|
||||
@@ -39,6 +55,14 @@ class CanteenFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun createTabLayoutMediator() {
|
||||
if (dates.isNotEmpty()) {
|
||||
TabLayoutMediator(binding.dayTabLayout, binding.viewPager) { tab, position ->
|
||||
tab.text = dates[position]
|
||||
}.attach()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
|
||||
@@ -7,7 +7,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.denizk0461.studip.R
|
||||
import com.denizk0461.studip.adapter.StudIPEventAdapter
|
||||
import com.denizk0461.studip.adapter.StudIPEventItemAdapter
|
||||
import com.denizk0461.studip.adapter.StudIPEventPageAdapter
|
||||
import com.denizk0461.studip.databinding.FragmentEventBinding
|
||||
import com.denizk0461.studip.model.StudIPEvent
|
||||
@@ -26,7 +26,6 @@ class EventFragment : Fragment() {
|
||||
// onDestroyView.
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private lateinit var viewPagerAdapter: StudIPEventPageAdapter
|
||||
private var dayOfWeek: Int = 0
|
||||
private val dayStrings = listOf(
|
||||
R.string.monday,
|
||||
@@ -36,6 +35,7 @@ class EventFragment : Fragment() {
|
||||
R.string.friday,
|
||||
)
|
||||
|
||||
private lateinit var viewPagerAdapter: StudIPEventPageAdapter
|
||||
private val viewModel: EventViewModel by viewModels()
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
@@ -54,7 +54,7 @@ class EventFragment : Fragment() {
|
||||
else -> 0
|
||||
}
|
||||
|
||||
viewPagerAdapter = StudIPEventPageAdapter(listOf(), object : StudIPEventAdapter.OnClickListener {
|
||||
viewPagerAdapter = StudIPEventPageAdapter(listOf(), object : StudIPEventItemAdapter.OnClickListener {
|
||||
override fun onClick(event: StudIPEvent) {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user