package com.airbnb.lottie.samples

import android.support.v4.view.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
}