package com.yidianling.home.ui.view

import android.content.Context
import androidx.recyclerview.widget.RecyclerView
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.LinearLayout
import com.ydl.ydlcommon.view.banner.GlideImageLoader
import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.common.tools.RxImageTool
import com.yidianling.home.R
import com.yidianling.home.event.IHomeBaseEvent
import com.yidianling.home.model.bean.HomeHeaderBean
import com.yidianling.home.model.bean.HomePagerDataBean
import kotlinx.android.synthetic.xlzx.home_image_banner_view.view.*

class HomeImageBannerView(val mContext: Context, val homeEvent: IHomeBaseEvent) : LinearLayout(mContext) {

    init {
        initView()
    }

    fun initView() {
        val params = LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT
        ) as MarginLayoutParams

        params.topMargin = RxImageTool.dp2px(12f)

        layoutParams = params
        View.inflate(mContext, R.layout.home_image_banner_view, this)

        initBannerLayout()

    }

    private fun initBannerLayout() {
        val bannerWidth = RxDeviceTool.getScreenWidth(mContext) - RxImageTool.dp2px(16f) * 2
        val bannerLayoutParams = FrameLayout.LayoutParams(
            bannerWidth,
            (bannerWidth * 131 / 343)
        )
        banner_search.layoutParams = bannerLayoutParams

//        banner_search.setIndicatorBottomPadding(5)
    }

    fun initData(bean: HomePagerDataBean) {
        var headerBean = bean.headerBean
        var focusListBean = headerBean?.focusList
        //临时缓存集合
        val cacheList = ArrayList<HomeHeaderBean.FocusListBean>()
        if (null != focusListBean && focusListBean.isNotEmpty()) {
            var imageViews = ArrayList<String>()
            //产品说取前8个
            if (focusListBean.size > 8) {
                cacheList.addAll(focusListBean.subList(0, 8))
            } else {
                cacheList.addAll(focusListBean)
            }
            for (item in cacheList) {
                imageViews.add(item.imageUrl!!)
            }
            banner_search.setImageLoader(GlideImageLoader(R.drawable.home_image_default_back))
                .setImages(imageViews).start()
            banner_search.setOnBannerListener {
                homeEvent?.bannerClick(cacheList!![it])
            }
        }
    }

}