package com.cxzapp.yidianling.trends.trendsDetail

import android.content.Context
import android.support.v4.view.PagerAdapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydl_router.manager.YDLRouterManager
import com.ydl.ydlcommon.utils.BuryPointUtils
import com.ydl.ydlcommon.utils.ScreenUtil
import com.yidianling.dynamic.R
import com.yidianling.dynamic.common.net.DynamicApiUtils
import com.yidianling.dynamic.model.Command
import com.yidianling.dynamic.model.TrendsDetailInfoBean
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import kotlinx.android.synthetic.main.dynamic_item_trend_detail_ad.view.*

/**
 * 动态广告图展示
 * Created by zqk on 17-7-10.
 */
class AdViewPagerAdapter(private val context: Context, private val adList: MutableList<TrendsDetailInfoBean.Ad>) : PagerAdapter() {

    var onClickListener: View.OnClickListener? = null

    override fun isViewFromObject(view: View?, `object`: Any?): Boolean = view == `object`

    override fun getCount() = adList.size

    override fun instantiateItem(container: ViewGroup?, position: Int): Any? {
        val view = LayoutInflater.from(context).inflate(R.layout.dynamic_item_trend_detail_ad, container, false)
        view.ivAd.layoutParams.height = ScreenUtil.getDisplayWidth() * 19 / 66
        val ad = adList[position]
        GlideApp.with(context)
                .load(ad.adImg)
                .placeholder(R.drawable.dynamic_default_img)
                .into(view.ivAd)
        view.setOnClickListener {

            if (YDLRouterManager.router(ad.url)) {

            }else{
                val h5Params = H5Params(ad.url, null, ad.share)
                NewH5Activity.start(context, h5Params)
                DynamicApiUtils.adClickCount(Command.AdClickCount(ad.focId))
                        .subscribeOn(Schedulers.io())
                        .observeOn(AndroidSchedulers.mainThread())
                        .subscribe({}, {})
                BuryPointUtils.getInstance().createMap()
                        .put("dynamic_ad_name",ad.share?.title)
                        .put("dynamic_ad_location","${position+1}")
                        .burryPoint("Dynamic_AD_Click")
            }
        }
        container?.addView(view)
        view.ivAd.requestLayout()
        return view
    }

    override fun destroyItem(container: ViewGroup?, position: Int, `object`: Any?) {
        val view = `object` as View
        container?.removeView(view)
    }


}