lmw
2025-04-14 0361f47762f9958f2ec91fdb62bfc98de4e162a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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)
        }
    }
}