package com.xianning.driver.ui.main
|
|
import android.os.Looper
|
import cn.sinata.xldutils.utils.clickDelay
|
import cn.sinata.xldutils.utils.visible
|
import com.xianning.driver.R
|
import com.xianning.driver.base.BaseEvent
|
import com.xianning.driver.base.MyApplication
|
import com.xianning.driver.base.MyBaseActivity
|
import com.xianning.driver.bean.OrderBean
|
import com.xianning.driver.bean.OrderSimpleData
|
import com.xianning.driver.netUtls.Api
|
import com.xianning.driver.netUtls.callNet
|
import com.xianning.driver.netUtls.getMapByAny
|
import com.xianning.driver.utils.AudioRecoderUtils
|
import com.xianning.driver.utils.MyUtils
|
import kotlinx.android.synthetic.main.activity_order_call.*
|
import org.greenrobot.eventbus.EventBus
|
|
class CallOrderActivity : MyBaseActivity() {
|
|
val orderType by lazy {
|
intent.getStringExtra("orderType")
|
}
|
|
val orderId by lazy {
|
intent.getStringExtra("orderId")
|
}
|
|
|
lateinit var orderBean: OrderBean
|
private val audioRecoderUtils by lazy { AudioRecoderUtils() }
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_order_call)
|
MyApplication.currentOrderType = ""
|
MyApplication.currentOrderId = ""
|
setTitleText("已完成")
|
}
|
|
override fun initView() {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["orderType"] = orderType
|
callNet(Api.queryOrderInfo, map) {
|
orderBean = gson.fromJson(it, OrderBean::class.java)
|
showUi(orderBean)
|
}
|
}
|
|
|
private fun showUi(orderBean: OrderBean?) {
|
orderBean?.let {
|
iv_phone.visible()
|
iv_phone.clickDelay {
|
MyUtils.getInstans().CallPhone(this, it.data.phone.toString())
|
}
|
tv_time.text = it.data.travelTime
|
tv_start_address.text = it.data.startAddress
|
when (orderBean.data.orderState) {
|
|
6, 7 -> {
|
if (it.data.payManner == 2) {
|
setTitleText("已完成")
|
} else {
|
addSocketLisener()
|
}
|
}
|
8, 9 -> {
|
if (it.data.payManner == 2) {
|
setTitleText("已完成")
|
}
|
}
|
}
|
}
|
}
|
|
private fun addSocketLisener() {
|
MyApplication.addOrderView(object : MyApplication.OrderStatueView {
|
override fun orderInfo(data: OrderSimpleData?) {
|
data?.let {
|
if (it.status == 8) {
|
android.os.Handler(Looper.getMainLooper()).post {
|
orderBean.data.orderState = 8
|
showUi(orderBean)
|
}
|
}
|
}
|
}
|
})
|
|
}
|
|
var handler: android.os.Handler? = null
|
|
override fun onDestroy() {
|
super.onDestroy()
|
handler?.removeCallbacksAndMessages(null)
|
audioRecoderUtils.stopPlayMusic()
|
}
|
|
|
override fun onBackPressed() {
|
super.onBackPressed()
|
EventBus.getDefault().post(BaseEvent(BaseEvent.CALL_NUM_MAIN))
|
EventBus.getDefault().post(BaseEvent(BaseEvent.BACK_CAR_OVER))
|
}
|
|
override fun setOnclick() {
|
tv_play.setOnClickListener {
|
audioRecoderUtils.startplayMusic(this,orderBean.data.audioLinkUrl)
|
}
|
}
|
}
|