package com.airbnb.lottie.samples

import androidx.viewpager.widget.ViewPager

internal open class OnPageChangeListenerAdapter(
    private val onPageScrollStateChanged: ((state: Int) -> Unit)? = null,
    private val onPageScrolled:
    ((position: Int, positionOffset: Float, positionOffsetPixels: Int) -> Unit)? = null,
    private val onPageSelected: ((position: Int) -> Unit)? = null
) : ViewPager.OnPageChangeListener {
    override fun onPageScrollStateChanged(state: Int) =
        onPageScrollStateChanged?.invoke(state) ?: Unit

    override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) =
        onPageScrolled?.invoke(position, positionOffset, positionOffsetPixels) ?: Unit

    override fun onPageSelected(position: Int) = onPageSelected?.invoke(position) ?: Unit
}