liugl
2020-08-11 71a056d02f9084af82bd6fe3962e5b46d5628e4f
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
@@ -14,6 +15,7 @@
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 +43,7 @@
    override fun onPause() {
        super.onPause()
        if (time != null){
            time!!.onFinish()
            time!!.cancel()
        }
    }
@@ -96,23 +98,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()
            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
@@ -147,11 +147,27 @@
        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 {
                            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 +181,50 @@
//        }
    }
    var handler: android.os.Handler? = null
    var handler: Handler? = null
    fun checkOrderStatue() {
        if (handler == null) {
            handler = Handler(mainLooper)
            handler!!.postDelayed({
                checkOrderStatue()
            }, 3000)
        }
        var map = getMapByAny()
        map["orderId"] = orderId
        map["orderType"] = orderType
        callNet(false,Api.orderStateSocket, map) {
        callNet(false,Api.queryOrderInfo, map) {
            val orderSimpleData =
                Gson().fromJson(
                    it,
                    OrderSimpleData::class.java
                    OrderBean::class.java
                )
            orderSimpleData?.let {
                if (orderSimpleData.status == 8) {
                    orderBean.data.orderState = 8
                    showUi(orderBean)
                if (it.data.orderState == 8) {
                    tv_pay_result_money.textColor(
                        this@SlabOrderOverActivity,
                        R.color.slab_green_over
                    )
                    Handler(Looper.getMainLooper()).post {
                        MyApplication.getTTsManager().setVideoText("乘客已支付"+it.data.orderMoney.toString()+"元")
                        time = timeOver(20000) {
                            tv_title_slab.text = "已完成($it)"
                            if (it == 0) {
                                if (time != null) {
                                    time!!.cancel()
                                }
                                try {
                                    onBackPressed()
                                } catch (e: Exception) {
                                }
                            }
                        }
                    }
                }else{
                    handler?.postDelayed({ checkOrderStatue() }, 3000)
                }
            }
        }
        handler?.postDelayed({ checkOrderStatue() }, 3000)
    }
    override fun onDestroy() {