package com.xw.yunwei.ui.work.car.detail.operations.charge
|
|
import android.annotation.SuppressLint
|
import androidx.recyclerview.widget.GridLayoutManager
|
import com.xw.common.base.BaseActivity
|
import com.xw.common.base.FileSelectBean
|
import com.xw.common.base.ImageEventListener
|
import com.xw.common.base.ImageSelectAdapter
|
import com.xw.common.base.ShowImgListDialog
|
import com.xw.common.custom.BatteryView.Companion.getBatteryColorByBatteryLife
|
import com.xw.common.utils.BindUtils.getUrls
|
import com.xw.yunwei.BR
|
import com.xw.yunwei.databinding.ActivityCarChargeDetailBinding
|
import com.xw.yunwei.model.CarModel
|
import java.util.ArrayList
|
import kotlin.text.ifEmpty
|
|
/**
|
* 充电详情
|
*/
|
class ChargeDetailActivity: BaseActivity<ActivityCarChargeDetailBinding, ChargeDetailVM>() {
|
override fun getBindingVariable() = BR.viewModel
|
|
override fun init() {
|
super.init()
|
viewModel.carId = intent.getLongExtra("carId", 0L)
|
viewModel.recordId = intent.getLongExtra("recordId", 0L)
|
viewModel.queryInfo()
|
viewModel.queryRecord()
|
initAdapter()
|
}
|
|
@SuppressLint("SetTextI18n")
|
override fun setObservable() {
|
super.setObservable()
|
viewModel.carInfo.observe(this) { initBasicInfo(it) }
|
viewModel.recordInfo.observe(this) {
|
with(viewModel) {
|
it.startChargingPicture?.getUrls()?.let {
|
adapters[0].setList(it.map { FileSelectBean(url = it, type = "img") })
|
}
|
it.endChargingPicture?.getUrls()?.let {
|
adapters[1].setList(it.map { FileSelectBean(url = it, type = "img") })
|
}
|
}
|
binding.batteryLifeStart.text = "${it.startRemainingBattery?:0}km"
|
binding.batteryLifeStart.setTextColor(getBatteryColorByBatteryLife(it.startRemainingBattery ?: 0))
|
binding.batteryViewStart.setBatteryLife(it.startRemainingBattery ?: 0)
|
|
binding.batteryLifeEnd.text = "${it.endRemainingBattery?:0}km"
|
binding.batteryLifeEnd.setTextColor(getBatteryColorByBatteryLife(it.endRemainingBattery ?: 0))
|
binding.batteryViewEnd.setBatteryLife(it.endRemainingBattery ?: 0)
|
}
|
}
|
|
@SuppressLint("SetTextI18n")
|
private fun initBasicInfo(it: CarModel) {
|
binding.batteryLife.text = "${it.mileageRange?.toInt()}km"
|
binding.batteryLife.setTextColor(
|
com.xw.common.custom.BatteryView.getBatteryColor(
|
it.currentElectricity ?: 0
|
)
|
)
|
binding.batteryView.setLevel(it.currentElectricity ?: 0)
|
}
|
|
private fun initAdapter(){
|
viewModel.adapters.clear()
|
viewModel.imageEvents.clear()
|
for (index in 0 until 2) {
|
val imageEvent = object : ImageEventListener<FileSelectBean>() {
|
override fun viewImage(item: FileSelectBean) {
|
val imgList: MutableList<String> = ArrayList()
|
for (item1 in viewModel.adapters[index].data) {
|
imgList.add(item1.localPath.ifEmpty { item1.url })
|
}
|
ShowImgListDialog(
|
this@ChargeDetailActivity,
|
imgList,
|
imgList.indexOf(item.localPath)
|
).show()
|
}
|
}
|
viewModel.imageEvents.add(imageEvent)
|
|
val adapter = ImageSelectAdapter(this, viewModel.maxSizes[index], 0, imageEvent)
|
viewModel.adapters.add(adapter)
|
}
|
|
binding.rvStart.adapter = viewModel.adapters[0]
|
binding.rvStart.layoutManager = GridLayoutManager(this, 4)
|
|
binding.rvEnd.adapter = viewModel.adapters[1]
|
binding.rvEnd.layoutManager = GridLayoutManager(this, 4)
|
}
|
|
}
|