lmw
2023-06-13 adf8013576cbdd12e5ebea8ff7e32baf5d558b27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package com.kuanzhai.user.ui.menu
 
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import cn.sinata.xldutils.gone
import com.github.zackratos.ultimatebar.UltimateBar
import com.kuanzhai.user.R
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.entity.SaleBean
import com.kuanzhai.user.network.request
import com.kuanzhai.user.ui.TransparentStatusBarActivity
import com.kuanzhai.user.ui.menu.adapter.CarBannerAdapter
import com.youth.banner.indicator.CircleIndicator
import com.youth.banner.listener.OnPageChangeListener
import kotlinx.android.synthetic.main.activity_car_detail.*
 
class CarDetailActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_car_detail
 
    private val id by lazy { intent.getLongExtra("id",0L) }
    private val commentId by lazy { intent.getLongExtra("commentId",0L) }
    private val isReply by lazy { intent.getBooleanExtra("isReply",false) }
 
    private val carInfoFragment = CarInfoFragment()
    private val commentFragment = CommentFragment()
 
    var order: SaleBean? = null
    private val bannerImgs = arrayListOf<String>()
    private var bannerAdapter:CarBannerAdapter? = null
 
    override fun initClick() {
        iv_back.setOnClickListener { finish() }
    }
 
    override fun initView() {
        titleBar.gone()
        UltimateBar.with(this)
            .statusDark(false)
            .create().immersionBar() //沉浸状态栏
        banner.indicator = CircleIndicator(this)
        banner.addOnPageChangeListener(object : OnPageChangeListener {
            override fun onPageScrolled(
                position: Int,
                positionOffset: Float,
                positionOffsetPixels: Int
            ) {
 
            }
 
            override fun onPageSelected(position: Int) {
                tv_banner.text = "${position+1}/${bannerImgs.size}"
                if (position!=0){
                    bannerAdapter?.videoView?.onVideoPause()
                }
            }
 
            override fun onPageScrollStateChanged(state: Int) {
            }
        })
        initTab()
        getCarDetail()
    }
 
    private fun initTab(){
        val fragments = arrayListOf<Fragment>()
        val titles = arrayOf("车辆信息", "评论")
        fragments.add(carInfoFragment)
        fragments.add(commentFragment)
        commentFragment.arguments = bundleOf("orderId" to id,"commentId" to commentId,"type" to 2,"isReply" to isReply)
        tab_type.setViewPager(view_pager,titles,this,fragments)
        if (commentId!=0L){
            tab_type.currentTab = 1
        }
    }
 
    private fun getCarDetail(){
        HttpManager.getSellingCarDetail(id).request(this){ _, data->
            order = data
            carInfoFragment.refreshUi()
            data?.apply {
                bannerImgs.clear()
                if (!videoUrl.isNullOrEmpty())
                    bannerImgs.add(videoUrl)
                bannerImgs.addAll(imgUrl.split(",").filter { it.isNotEmpty() })
                bannerAdapter = CarBannerAdapter(bannerImgs,!videoUrl.isNullOrEmpty())
                banner.adapter = bannerAdapter
                tv_banner.text = "1/${bannerImgs.size}"
                tv_type.text = if (userType == 3) "企业车辆" else "个人车辆"
//                tv_title_1.text = title
//                tv_price.text = "%.2f万".format(transferPrice/10000)
//                tv_origin.text = (if (newCarPrice.isNullOrEmpty()||newCarPrice.toDouble() == 0.0) "" else "新车含税价格:${newCarPrice}万/")+
//                        if (includingTransferFee == 1) "包含过户费" else "不包含过户费"
//                val brand = "所属厂商\n${brandName}"
//                tv_brand.text = SpanBuilder(brand).size(4,brand.length,13).bold(4,brand.length).build()
//                val mile = "表显里程\n${mileage}万公里"
//                tv_mile.text = SpanBuilder(mile).size(4,mile.length,13).bold(4,mile.length).build()
//                val pai = "排量\n${displacement}"
//                tv_pai.text = SpanBuilder(pai).size(2,pai.length,13).bold(2,pai.length).build()
//                val change = "变速箱\n${transmissionCase}"
//                tv_change.text = SpanBuilder(change).size(3,change.length,13).bold(3,change.length).build()
//                val location = "牌照地\n${provinceName}"
//                tv_location.text = SpanBuilder(location).size(3,location.length,13).bold(3,location.length).build()
//                val count = "过户次数\n${transferTimes}"
//                tv_count.text = SpanBuilder(count).size(4,count.length,13).bold(4,count.length).build()
//                val level = "级别\n${level}"
//                tv_level.text = SpanBuilder(level).size(2,level.length,13).bold(2,level.length).build()
//                val time = "上牌时间\n${licensingTime}"
//                tv_time.text = SpanBuilder(time).size(4,time.length,13).bold(4,time.length).build()
//                tv_name.text = contactsName
//                if (isAuth == "2") tv_verified.visible()
 
//                tv_address.text = "联系地址:${provinceName}${cityName}${addres}"
//                tv_describe.text = describe
//                if (videoUrl.isNullOrEmpty()){
//                    iv_video.gone()
//                    iv_play.gone()
//                }else
//                    Thread{
//                        val f = FileUtils.createVideoThumbnail(videoUrl)
//                        runOnUiThread {
//                            iv_video.setImageBitmap(f)
//                        }
//                    }.start()
//                describeImgs.clear()
//                describeImgs.addAll(describeImgUrl.split(",").filter { it.isNotEmpty() })
//                imgAdapter.notifyDataSetChanged()
//                tv_refused.text = authRemark
//                refreshButton()
            }
        }
    }
 
    override fun onPause() {
        super.onPause()
        bannerAdapter?.videoView?.onVideoPause()
    }
 
}