conventionschedule-android/app/src/main/java/com/adlerosn/brasilfurfest/schedule/adapters/DaysPagerAdapter.kt

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
}