package com.kuanzhai.user.ui.menu
|
|
import android.webkit.WebChromeClient
|
import android.webkit.WebSettings
|
import android.webkit.WebViewClient
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.callPhone
|
import cn.sinata.xldutils.clickDelay
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.FileUtils
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.optString
|
import cn.sinata.xldutils.visible
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.requestByF
|
import com.kuanzhai.user.ui.menu.adapter.LinearImageAdapter
|
import com.luck.picture.lib.PictureVideoPlayActivity
|
import kotlinx.android.synthetic.main.fragment_car_info.*
|
import org.jetbrains.anko.support.v4.runOnUiThread
|
import org.jetbrains.anko.support.v4.startActivity
|
|
class CarInfoFragment : BaseFragment() {
|
override fun contentViewId() = R.layout.fragment_car_info
|
|
private val describeImgs = arrayListOf<String>()
|
private val imgAdapter = LinearImageAdapter(describeImgs)
|
|
override fun onFirstVisibleToUser() {
|
val settings = webView.settings
|
settings.javaScriptEnabled = true
|
settings.javaScriptCanOpenWindowsAutomatically = true
|
settings.defaultTextEncodingName = "utf-8"
|
settings.domStorageEnabled = true
|
settings.setSupportZoom(true)
|
// settings.textZoom = 200
|
settings.useWideViewPort = true
|
settings.loadWithOverviewMode = true
|
settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
|
webView.webChromeClient = object : WebChromeClient() {}
|
webView.webViewClient = object : WebViewClient() {}
|
rv_img.layoutManager = LinearLayoutManager(requireContext())
|
rv_img.adapter = imgAdapter
|
getH5()
|
tv_more_info.clickDelay {
|
startActivity<CarInfoActivity>("order" to (activity as CarDetailActivity).order)
|
}
|
}
|
|
fun refreshUi(){
|
(activity as CarDetailActivity).order?.apply {
|
tv_title.text = title
|
tv_trade_type.text = if (remainingOperationTime.isNullOrEmpty()) "非营运车辆" else "营运车辆"
|
tv_price.text = "%.2f万".format(transferPrice/10000)
|
tv_origin.text = (if (newCarPrice.isNullOrEmpty()||newCarPrice.toDouble() == 0.0) "" else "新车含税价格:${newCarPrice.toDouble()/10000}万/")+
|
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"||userType == 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)
|
// if (isAdded&&!isDetached)
|
// runOnUiThread {
|
// iv_video.setImageBitmap(f)
|
// }
|
// }.start()
|
describeImgs.clear()
|
describeImgs.addAll(describeImgUrl.split(",").filter { it.isNotEmpty() })
|
imgAdapter.notifyDataSetChanged()
|
tv_call.clickDelay {
|
callPhone(contactsPhone)
|
}
|
iv_video.setOnClickListener {
|
startActivity<PictureVideoPlayActivity>("videoPath" to (videoUrl?:""),"isExternalPreviewVideo" to true)
|
}
|
}
|
}
|
|
private fun getH5(){
|
HttpManager.getH5(21).requestByF(this){ _, data->
|
val sHead =
|
"<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
|
webView.loadData(sHead+(data?.optString("content")?:""), "text/html; charset=utf-8", "utf-8")
|
}
|
}
|
}
|