ExpertIntroActivity.kt 3.56 KB
Newer Older
1 2 3 4 5 6 7 8 9
package com.ydl.confide.intro

import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import androidx.viewpager2.widget.ViewPager2
10
import com.alibaba.android.arouter.facade.annotation.Autowired
11
import com.alibaba.android.arouter.facade.annotation.Route
12 13
import com.alibaba.android.arouter.launcher.ARouter
import com.alibaba.fastjson.JSON
14
import com.ydl.confide.R
15
import com.ydl.confide.api.ConfideRoute
16
import com.ydl.confide.databinding.ActivityExpertIntroBinding
17 18
import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.confide.home.bean.ConfideHomeDataBean
19
import com.ydl.confide.home.util.ConfideNetworkUtil
20 21 22 23 24
import com.ydl.confide.router.PhoneCallIn
import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5
import com.ydl.ydlcommon.utils.BuryPointUtils
25
import com.ydl.ydlcommon.view.dialog.CommonDialog
26 27


28
@Route(path = ConfideRoute.R_VIDEO_SHOW)
29
class ExpertIntroActivity : AppCompatActivity() {
30 31 32 33

    @Autowired
    @JvmField
    var initPos: Int = 0
34 35 36 37
    @Autowired
    @JvmField
    var initData:String?=null
    private var lastSelectPos = 0
38 39 40 41 42 43 44
    private lateinit var binding: ActivityExpertIntroBinding
    private lateinit var adapter: IntroAdapter

    private val data = mutableListOf<VideoViewModel>()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
45
        ARouter.getInstance().inject(this)
46 47 48 49 50 51 52 53
        binding = DataBindingUtil.setContentView(this, R.layout.activity_expert_intro)
        if (Build.VERSION.SDK_INT >= 21) {
            val decorView = window.decorView
            val option = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    or View.SYSTEM_UI_FLAG_LAYOUT_STABLE)
            decorView.systemUiVisibility = option
            window.statusBarColor = Color.TRANSPARENT
        }
54 55 56 57 58
        if(initData!=null){
            val beans = JSON.parseArray(initData, ConfideHomeBodyBean::class.java)
            val vms = beans.map { VideoViewModel().mapOf(it) }
            data.addAll(vms)
        }
59
        binding.ivBack.setOnClickListener { onBackPressed() }
60 61 62 63 64 65 66 67 68 69
        binding.tvConfideRecord.setOnClickListener {
            if (!PhoneCallIn.loginByOneKeyLogin(this,true)) {
                return@setOnClickListener
            }
            BuryPointUtils.getInstance().createMap()
                .put("mine_name", "倾诉记录")
                .burryPoint("mine")
            val h5Paramsqing = H5Params(YDL_H5 + "confideOrderList", null)
            NewH5Activity.start(this, h5Paramsqing)
        }
70 71 72 73 74 75 76
        binding.viewPager.orientation = ViewPager2.ORIENTATION_VERTICAL
        binding.viewPager.offscreenPageLimit = 1
        adapter = IntroAdapter(this, data, this)
        binding.viewPager.adapter = adapter
        binding.viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
            override fun onPageSelected(position: Int) {
                adapter.onSelect(position)
77
                if (position == data.size - 1 && lastSelectPos < position) {
78 79
                    loadMore()
                }
80
                lastSelectPos = position
81 82
            }
        })
83
        adapter.checkNetwork()
84 85 86
    }

    private fun loadMore() {
万齐军 committed
87 88 89 90 91 92
//        data.add(VideoViewModel())
//        data.add(VideoViewModel())
//        data.add(VideoViewModel())
//        data.add(VideoViewModel())
//        data.add(VideoViewModel())
//        adapter.notifyItemRangeInserted(data.size - 5, 5)
93 94
    }
}