31 lines
1.6 KiB
Kotlin
31 lines
1.6 KiB
Kotlin
package com.adlerosn.brasilfurfest.schedule.adapters
|
|
|
|
import androidx.fragment.app.Fragment
|
|
import androidx.fragment.app.FragmentManager
|
|
import androidx.fragment.app.FragmentPagerAdapter
|
|
import com.adlerosn.brasilfurfest.R
|
|
import com.adlerosn.brasilfurfest.helper.*
|
|
import com.adlerosn.brasilfurfest.schedule.managers.ScheduleManager
|
|
import com.adlerosn.brasilfurfest.schedule.fragments.ConventionDayFragment
|
|
import com.adlerosn.brasilfurfest.schedule.fragments.ConventionRulesFragment
|
|
import com.adlerosn.brasilfurfest.schedule.fragments.ConventionSocialMediasFragment
|
|
import com.adlerosn.brasilfurfest.schedule.fragments.ConventionSummaryFragment
|
|
|
|
class DaysPagerAdapter(fm: FragmentManager, private val scheduleManager: ScheduleManager) : FragmentPagerAdapter(fm) {
|
|
|
|
override fun getItem(position: Int): Fragment = when (position) {
|
|
0 -> ConventionSummaryFragment.newInstance()
|
|
scheduleManager.convention.days.size+1 -> ConventionRulesFragment.newInstance()
|
|
scheduleManager.convention.days.size+2 -> ConventionSocialMediasFragment.newInstance()
|
|
else -> ConventionDayFragment.newInstance(scheduleManager.convention.days[position-1].dayRange)
|
|
}
|
|
|
|
override fun getPageTitle(position: Int): String = when (position) {
|
|
0 -> R.string.schecule_tab_summary.getString()
|
|
scheduleManager.convention.days.size+1 -> R.string.rules.getString()
|
|
scheduleManager.convention.days.size+2 -> R.string.social_media.getString()
|
|
else -> scheduleManager.convention.days[position-1].timeInMillis.formatAsDayOfWeekNumberNoParenthesis()
|
|
}
|
|
|
|
override fun getCount(): Int = scheduleManager.convention.days.size+3
|
|
} |