From f2124ee623ac169d5f82bc85eba6ebf377f58b07 Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期二, 01 九月 2020 16:22:36 +0800 Subject: [PATCH] 8.31 --- app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt | 105 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 84 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt index b5b3b90..34b600a 100644 --- a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt @@ -1,6 +1,7 @@ package com.okgoincar.slab import android.os.CountDownTimer +import android.os.Handler import android.os.Looper import cn.sinata.xldutils.utils.* import com.okgoincar.netUtls.callNet @@ -10,10 +11,12 @@ import com.okgoincar.base.MyApplication import com.okgoincar.bean.OrderBean import com.okgoincar.bean.OrderSimpleData +import com.okgoincar.bean.OrderStatueBean import com.okgoincar.netUtls.Api import com.okgoincar.netUtls.timeOver import com.okgoincar.utils.MyUtils import kotlinx.android.synthetic.main.activity_order_over.* +import java.lang.Exception class SlabOrderOverActivity : MySlabBaseActivity() { @@ -41,7 +44,7 @@ override fun onPause() { super.onPause() if (time != null){ - time!!.onFinish() + time!!.cancel() } } @@ -96,23 +99,21 @@ callNet(this, Api.queryOrderInfo, map) { orderBean = gson.fromJson(it, OrderBean::class.java) showUi(orderBean) - time = timeOver (5000){ - tv_title_slab.text = "已完成($it)" - if (it == 0){ - onBackPressed() - } - } +// addSocketLisener(orderBean) + checkOrderStatue() } } private fun showUi(orderBean: OrderBean?) { orderBean?.let { + tv_title_slab.text = "待支付" tv_name.text = it.data.nickName tv_car_num.text = it.data.historyNum.toString() + "次乘车" tv_phone.clickDelay { MyUtils.getInstans().CallPhone(this, it.data.phone.toString()) } tv_pay_result_money.text = "¥" + it.data.orderMoney.toString() + tv_pay_result_small_money.text = "¥" + it.data.tipMoney.toString() tv_time.text = it.data.travelTime tv_start_address.text = it.data.startAddress tv_end_address.text = it.data.endAddress @@ -143,15 +144,40 @@ } } - private fun addSocketLisener() { + private fun addSocketLisener(orderBean: OrderBean?) { 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) + if (it.status == 8||it.status == 7) { + tv_pay_result_money.textColor( + this@SlabOrderOverActivity, + R.color.slab_green_over + ) + Handler(Looper.getMainLooper()).post { + if (isPlay) + { + return@post + } + isPlay = true + MyApplication.getTTsManager().setVideoText("乘客已支付"+orderBean?.data?.orderMoney.toString()+"元") + time = timeOver(20000) { + tv_title_slab.text = "已完成($it)" + if (it == 0) { + if (time != null) { + time!!.cancel() + } + try { + onBackPressed() + } catch (e: Exception) { + } + } + } } + +// android.os.Handler(Looper.getMainLooper()).post { +// orderBean.data.orderState = 8 +// showUi(orderBean) +// } } } } @@ -165,26 +191,63 @@ // } } - var handler: android.os.Handler? = null + var handler: Handler? = null + var isPlay = false fun checkOrderStatue() { + if (handler == null) { + handler = Handler(mainLooper) + } + handler!!.postDelayed({ + checkOrderStatue() + }, 3000) var map = getMapByAny() - map["orderId"] = orderId - map["orderType"] = orderType +// map["orderId"] = orderId +// map["orderType"] = orderType callNet(false,Api.orderStateSocket, map) { val orderSimpleData = Gson().fromJson( it, - OrderSimpleData::class.java + OrderStatueBean::class.java ) - orderSimpleData?.let { - if (orderSimpleData.status == 8) { - orderBean.data.orderState = 8 - showUi(orderBean) + orderSimpleData?.data?.let { + var currentBean:OrderStatueBean.DataBean? = null + for (item in it){ + if (item.orderId ==orderBean.data?.orderId ){ + currentBean = item + } + } + if (it.size == 0 || currentBean == null){ + return@callNet + } + if (currentBean.state == 8) { + tv_pay_result_money.textColor( + this@SlabOrderOverActivity, + R.color.slab_green_over + ) + Handler(Looper.getMainLooper()).post { + if (isPlay) + { + return@post + } + isPlay = true + MyApplication.getTTsManager().setVideoText("乘客已支付"+ orderBean.data?.orderMoney.toString()+"元") + time = timeOver(20000) { + tv_title_slab.text = "已完成($it)" + if (it == 0) { + if (time != null) { + time!!.cancel() + } + try { + onBackPressed() + } catch (e: Exception) { + } + } + } + } } } } - handler?.postDelayed({ checkOrderStatue() }, 3000) } override fun onDestroy() { -- Gitblit v1.7.1