Pu Zhibing
2025-06-25 844fc3910b72130f79480714bcba98106d8f9177
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
115
116
117
118
package com.ziang.driver.ui.main
 
import android.os.Bundle
import android.os.CountDownTimer
import cn.sinata.xldutils.activitys.DialogActivity
import cn.sinata.xldutils.utils.*
import com.ziang.driver.R
import com.ziang.driver.base.BaseEvent
import com.ziang.driver.base.Const
import com.ziang.driver.base.MyApplication
import com.ziang.driver.netUtls.*
import com.ziang.driver.utils.AudioRecoderUtils
import kotlinx.android.synthetic.main.dialog_voice_order.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.longToast
import org.jetbrains.anko.startActivity
 
class VoiceOrderFragment : DialogActivity() {
 
 
    val orderId by lazy {
        intent?.getStringExtra("orderId")
    }
    val orderType by lazy {
        intent?.getStringExtra("orderType")
    }
 
    val timeDown by lazy {
        intent?.getIntExtra("time", -1)
    }
    val type by lazy {
        intent?.getIntExtra("type", -1)
    }
 
    val audio by lazy {
        intent?.getStringExtra("audio")
    }
 
    val fromList by lazy {
        intent?.getBooleanExtra("fromList",false)?:false
    }
 
    val needPlayRing by lazy {
        intent?.getBooleanExtra("needPlayRing",true)?:true
    }
 
 
 
    lateinit var time: CountDownTimer
    private val audioRecoderUtils by lazy { AudioRecoderUtils() }
 
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        var strBtn = "抢单"
        if (type == 2) {
            strBtn = "确定"
        }
        time = timeOver((timeDown!!.toLong() * 1000L)) {
            if (it == 0) {
                audioRecoderUtils.stopPlayMusic()
                finish()
            } else {
                tv_sure.text = strBtn + it.toString() + "S"
            }
        }
        tv_close.clickDelay {
            audioRecoderUtils.stopPlayMusic()
            finish()
        }
        tv_sure.clickDelay {
            showGetOrder()
        }
        if (needPlayRing)
            AudioRecoderUtils().startplayMusic(this,Const.voiceOrder)
        iv_voice.postDelayed({
            audioRecoderUtils.startplayMusic(this,if (fromList) audio else MyApplication.voiceOrder?.audioLinkUrl)
            EventBus.getDefault().post(BaseEvent(BaseEvent.APP_LOG,"实际播放路径:${if (fromList) audio else MyApplication.voiceOrder?.audioLinkUrl}"))
        },2000)
        iv_voice.clickDelay {
            audioRecoderUtils.startplayMusic(this,if (fromList) audio else MyApplication.voiceOrder?.audioLinkUrl)
        }
        EventBus.getDefault().post(BaseEvent(BaseEvent.APP_LOG,"弹窗订单id:$orderId ,声音路径:$audio"))
    }
 
    override fun initView() {
 
    }
 
    override fun onPause() {
        super.onPause()
    }
 
    override fun onDestroy() {
        super.onDestroy()
        time.cancel()
    }
 
    override fun setContentLayout(): Int {
        return R.layout.dialog_voice_order
    }
 
    fun showGetOrder() {
        val id = if (fromList) orderId else MyApplication.voiceOrder?.orderId!!.toString()
        var map = getMapByAny()
        map["orderId"] = id
        map["orderType"] = orderType
        callNet(this, Api.grabOrder, map) {
            Toast.create(this).show("抢单成功")
            EventBus.getDefault().post(BaseEvent(BaseEvent.APP_LOG,"抢单成功的id:$id"))
            startActivity<CallOrderActivity>(
                "orderId" to id,
                "orderType" to orderType)
            audioRecoderUtils.stopPlayMusic()
            finish()
        }
    }
}