package com.dollearn.student.ui.worldcup
|
|
import android.os.Bundle
|
import android.view.View
|
import android.webkit.WebChromeClient
|
import android.webkit.WebViewClient
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.activity.BaseActivity
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.parserTime
|
import cn.sinata.xldutils.utils.showAllowingStateLoss
|
import cn.sinata.xldutils.visible
|
import com.github.zackratos.ultimatebar.UltimateBar
|
import com.dollearn.student.R
|
import com.dollearn.student.dialog.CheckShopsDialog
|
import com.dollearn.student.network.HttpManager
|
import com.dollearn.student.network.entity.Banner
|
import com.dollearn.student.network.entity.WorldCupBean
|
import com.dollearn.student.network.request
|
import com.dollearn.student.ui.home.adapter.HomeBannerAdapter
|
import com.dollearn.student.utils.extention.clickDelay
|
import kotlinx.android.synthetic.main.activity_world_cup_detail.*
|
import org.jetbrains.anko.backgroundColorResource
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.textColorResource
|
|
class WorldCupDetailActivity:BaseActivity() {
|
private val id by lazy { intent.getStringExtra("id")?:"" }
|
|
private val bannerImg = arrayListOf<Banner>()
|
private val bannerAdapter by lazy {
|
HomeBannerAdapter(bannerImg, this)
|
}
|
private var match: WorldCupBean? = null
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
setContentView(R.layout.activity_world_cup_detail)
|
initView()
|
initClick()
|
}
|
|
fun initClick() {
|
tv_action.setOnClickListener {
|
if (match!=null)
|
startActivity<JoinWCActivity>("match" to match)
|
}
|
}
|
|
fun initView() {
|
titleBar.titleView.text = title
|
titleBar.titleView.textColorResource = R.color.white
|
titleBar.leftView.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.back_white,0,0,0)
|
UltimateBar.with(this)
|
.statusDark(false)
|
.create().transparentBar() //沉浸状态栏
|
banner.adapter = bannerAdapter
|
getDetail()
|
}
|
|
/**
|
* 获取世界杯详情
|
*/
|
private fun getDetail() {
|
HttpManager.getWorldCupInfo(id)
|
.request(this) { _, data ->
|
match = data
|
data?.apply {
|
if (registrationClosingTime.isNullOrEmpty())
|
registrationClosingTime = endTime
|
if (System.currentTimeMillis() - registrationClosingTime.parserTime("yyyy-MM-dd HH:mm") >0){//活动已过期
|
tv_action.text = "报名已截止"
|
tv_action.isEnabled = false
|
tv_action.backgroundColorResource = R.color.disableColor
|
}
|
storeInfos?.let {
|
val stores = StringBuffer()
|
for (s in it.indices) {
|
if (s == it.size - 1) stores.append(it[s].name)
|
else stores.append(it[s].name + ",")
|
}
|
tv_shops.text = stores
|
if (stores.length > 20) {
|
mtvcheckmore.visible()
|
mtvcheckmore.clickDelay {
|
val checkShopsDialog = CheckShopsDialog()
|
checkShopsDialog.arguments =
|
bundleOf("shopinfo" to stores.toString(),"type" to CheckShopsDialog.TYPE_WORLD_SITE)
|
checkShopsDialog.showAllowingStateLoss(
|
supportFragmentManager,
|
"checkshops"
|
)
|
}
|
} else {
|
mtvcheckmore.gone()
|
}
|
}
|
|
val list = infoImg.split(",").map {
|
Banner(url = it)
|
}
|
bannerImg.addAll(list)
|
bannerAdapter.notifyDataSetChanged()
|
banner.currentItem = 1
|
tv_name.text = name
|
tv_hot.text = heat.toString()
|
// tv_address.text = "${storeName}(${storeAddress})"
|
tv_deadline.text = registrationClosingTime
|
tv_start_time.text = startTime
|
tv_end_time.text = endTime
|
tv_age.text = "${age}岁"
|
tv_sex.text = getJoinSex()
|
tv_city.text = "${province}|${city}"
|
tv_play_address.text = address
|
if (cash!=null&&cash.toDouble()!=0.0) {
|
val price = "支付:¥%s/人".format(cash)
|
tv_price.text = SpanBuilder(price).color(
|
this@WorldCupDetailActivity,
|
0,
|
3,
|
R.color.textColor66
|
).bold(3, price.length).build()
|
tv_price.visible()
|
}
|
if (paiCoin!=null&&paiCoin.toDouble()!=0.0) {
|
val coin = "玩湃币:%s币/人".format(paiCoin)
|
tv_coin.text = SpanBuilder(coin).color(
|
this@WorldCupDetailActivity,
|
0,
|
4,
|
R.color.textColor66
|
).bold(4, coin.length).build()
|
tv_coin.visible()
|
}
|
if (classHour!=null&&classHour.toDouble()!=0.0) {
|
val time = "课时:%s课时/人".format(classHour)
|
tv_course_time.text = SpanBuilder(time).color(
|
this@WorldCupDetailActivity,
|
0,
|
3,
|
R.color.textColor66
|
).bold(3, time.length).build()
|
tv_course_time.visible()
|
}
|
if (tv_price.visibility == View.GONE&&tv_coin.visibility == View.GONE&&tv_course_time.visibility == View.GONE){ //免费课
|
tv_price.visible()
|
tv_price.text = "免费"
|
}
|
tv_introduce.text = intro
|
if (!content.isNullOrEmpty()) {
|
val settings = webView.settings
|
settings.javaScriptEnabled = true
|
settings.javaScriptCanOpenWindowsAutomatically = true
|
settings.defaultTextEncodingName = "utf-8"
|
settings.domStorageEnabled = true
|
webView.webChromeClient = object : WebChromeClient() {}
|
webView.webViewClient = object : WebViewClient() {}
|
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!!.loadDataWithBaseURL(null, sHead + content, "text/html", "utf-8", null)
|
}
|
}
|
}
|
}
|
}
|