liugl
2021-06-21 0fb44d953ab25a53d228b4c1f9381df80e70ee03
app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt
@@ -1,5 +1,6 @@
package com.okgoincar.slab
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Handler
@@ -25,6 +26,7 @@
import com.okgoincar.base.AMapKit.initMap
import com.okgoincar.base.AMapKit.moveCamera
import com.okgoincar.base.BaseEvent
import com.okgoincar.base.MoneyBroadCastReceiver
import com.okgoincar.base.MyApplication
import com.okgoincar.base.gpsnav.GPSNaviActivity
import com.okgoincar.bean.OrderBean
@@ -43,12 +45,22 @@
import kotlinx.android.synthetic.main.dialog_select_pay_type.view.*
import kotlinx.android.synthetic.main.dialog_sure_and_del_slab.view.*
import kotlinx.android.synthetic.main.item_map_market.view.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
import java.lang.Exception
import java.util.concurrent.TimeUnit
class SlabTripActivity : MySlabBaseActivity() {
    private fun callOver(contexts: Context, travelFee: Double) {
        MoneyBroadCastReceiver.callOver(contexts, travelFee)
    }
    private fun callStatue(contexts: Context, i: Int) {
        MoneyBroadCastReceiver.callStatue(contexts, i)
    }
    /***
     * //    流程操作状态(3=开始出发预约点,4=到达预约点,5=开始服务,6=服务结束)
@@ -84,47 +96,47 @@
            ll_info_top.setBackgroundResource(R.drawable.bg_slab_main_8_black)
            rl_back.setBackgroundResource(R.color.black_191919)
            iv_back_slab.setImageResource(R.mipmap.icon_back_slab)
            tv_title_slab.textColor(this,R.color.write)
            tv_name.textColor(this,R.color.write)
            tv_car_num.textColor(this,R.color.write)
            tv_phone.textColor(this,R.color.write)
            tv_title_slab.textColor(this, R.color.write)
            tv_name.textColor(this, R.color.write)
            tv_car_num.textColor(this, R.color.write)
            tv_phone.textColor(this, R.color.write)
            tv_phone.setDrawableLeft(R.mipmap.icon_dial_slab)
            tv_time.textColor(this,R.color.write)
            tv_start_address.textColor(this,R.color.write)
            tv_end_address.textColor(this,R.color.write)
            tv_red_money.textColor(this,R.color.write)
            tv_end_address.textColor(this,R.color.write)
            tv_time.textColor(this, R.color.write)
            tv_start_address.textColor(this, R.color.write)
            tv_end_address.textColor(this, R.color.write)
            tv_red_money.textColor(this, R.color.write)
            tv_end_address.textColor(this, R.color.write)
            tv_code_num.textColor(this,R.color.write)
            tv_name_car_man.textColor(this,R.color.write)
            tv_car_num_var.textColor(this,R.color.write)
            tv_star_num.textColor(this,R.color.write)
            tv_company.textColor(this,R.color.write)
            tv_time_send_prove.textColor(this,R.color.write)
            tv_current_time.textColor(this,R.color.write)
            tv_code_num.textColor(this, R.color.write)
            tv_name_car_man.textColor(this, R.color.write)
            tv_car_num_var.textColor(this, R.color.write)
            tv_star_num.textColor(this, R.color.write)
            tv_company.textColor(this, R.color.write)
            tv_time_send_prove.textColor(this, R.color.write)
            tv_current_time.textColor(this, R.color.write)
        } else {
            ll_order_top.setBackgroundResource(R.drawable.write)
            ll_info_top.setBackgroundResource(R.drawable.write)
            ll_order_top.setBackgroundResource(R.drawable.write_bottom_10)
            ll_info_top.setBackgroundResource(R.drawable.write_top_10)
            rl_back.setBackgroundResource(R.drawable.write)
            iv_back_slab.setImageResource(R.mipmap.icon_back_black)
            tv_title_slab.textColor(this,R.color.black)
            tv_name.textColor(this,R.color.black)
            tv_car_num.textColor(this,R.color.black)
            tv_phone.textColor(this,R.color.black)
            tv_phone.setDrawableNull()
            tv_time.textColor(this,R.color.black)
            tv_start_address.textColor(this,R.color.black)
            tv_end_address.textColor(this,R.color.black)
            tv_red_money.textColor(this,R.color.black)
            tv_end_address.textColor(this,R.color.black)
            tv_title_slab.textColor(this, R.color.black)
            tv_name.textColor(this, R.color.black)
            tv_car_num.textColor(this, R.color.black)
            tv_phone.textColor(this, R.color.black)
            tv_phone.setDrawableLeft(R.mipmap.car_phone_bkack)
            tv_time.textColor(this, R.color.black)
            tv_start_address.textColor(this, R.color.black)
            tv_end_address.textColor(this, R.color.black)
            tv_red_money.textColor(this, R.color.black)
            tv_end_address.textColor(this, R.color.black)
            tv_code_num.textColor(this,R.color.black)
            tv_name_car_man.textColor(this,R.color.black)
            tv_car_num_var.textColor(this,R.color.black)
            tv_star_num.textColor(this,R.color.black)
            tv_company.textColor(this,R.color.black)
            tv_time_send_prove.textColor(this,R.color.black)
            tv_current_time.textColor(this,R.color.black)
            tv_code_num.textColor(this, R.color.black)
            tv_name_car_man.textColor(this, R.color.black)
            tv_car_num_var.textColor(this, R.color.black)
            tv_star_num.textColor(this, R.color.black)
            tv_company.textColor(this, R.color.black)
            tv_time_send_prove.textColor(this, R.color.black)
            tv_current_time.textColor(this, R.color.black)
        }
    }
@@ -149,6 +161,7 @@
                    if (it.status == 10 || it.status == 12) {
                        Handler(Looper.getMainLooper()).post {
                            toast("用户已取消订单")
                            MyApplication.getTTsManager().setVideoText("用户已取消订单")
                            MyApplication.currentOrderType = ""
                            MyApplication.currentOrderId = ""
                            finish()
@@ -163,7 +176,7 @@
        super.onBackPressed()
    }
    fun changeMode(){
    fun changeMode() {
        if (tv_change.text == "收起") {
            rl_map.invisible()
            rl_persion_info.visible()
@@ -179,9 +192,18 @@
        }
    }
    private fun onclick() {
        btn_start.clickDelay {
            callStatue(this, 5)
        }
        btn_end.clickDelay {
            callOver(this, 10.0)
        }
        tv_change.clickDelay {
          changeMode()
            changeMode()
        }
        iv_move.setOnClickListener {
            orderBean.let {
@@ -193,7 +215,11 @@
                        moveCamera(aMap, carMarker!!.position)
                    }
                    5, 6 -> {
                        moveCamera(aMap, carMarker!!.position, endMarker!!.position)
                        if (endMarker == null){
                            moveCamera(aMap, carMarker!!.position)
                        }else{
                            moveCamera(aMap, carMarker!!.position, endMarker!!.position)
                        }
                    }
                }
            }
@@ -210,11 +236,18 @@
                    }
                    5, 6 -> {
//                        startAMapNavi(endMarker!!)
                        startActivity<GPSNaviActivity>(
                            "start" to carMarker!!.position,
                            "end" to endMarker!!.position
                        )
                        if (endMarker == null){
                            toast("暂无终点")
                        }else{
                            startActivity<GPSNaviActivity>(
                                "start" to carMarker!!.position,
                                "end" to endMarker!!.position
                            )
                        }
                    }
                    else -> {
                    }
                }
            }
@@ -273,12 +306,12 @@
        var payType = 1 //支付方式(1=OK平台收款,2=其他方式收款)
        if (getNowTimeBlack()) {
            pop.contentView.rl_back_pop.setBackgroundResource(R.drawable.bg_slab_main_8_black)
            pop.contentView.tv_cancel.textColor(this,R.color.white)
            pop.contentView.tv_ok.textColor(this,R.color.white)
            pop.contentView.tv_cancel.textColor(this, R.color.white)
            pop.contentView.tv_ok.textColor(this, R.color.white)
        } else {
            pop.contentView.rl_back_pop.setBackgroundResource(R.drawable.bg_white_round_2)
            pop.contentView.tv_cancel.textColor(this,R.color.black)
            pop.contentView.tv_ok.textColor(this,R.color.black)
            pop.contentView.tv_cancel.textColor(this, R.color.black)
            pop.contentView.tv_ok.textColor(this, R.color.black)
        }
        pop.showDown(window.decorView)
        pop.contentView.tv_cancel.setOnClickListener {
@@ -313,10 +346,10 @@
                })
                if (getNowTimeBlack()) {
                    pop.contentView.rl_top_slab.setBackgroundResource(R.drawable.bg_green_4_black)
                    pop.contentView.tv_view_two_base.textColor(this,R.color.white)
                    pop.contentView.tv_view_two_base.textColor(this, R.color.white)
                } else {
                    pop.contentView.rl_top_slab.setBackgroundResource(R.drawable.bg_white_round_2)
                    pop.contentView.tv_view_two_base.textColor(this,R.color.black)
                    pop.contentView.tv_view_two_base.textColor(this, R.color.black)
                }
                pop.showCenter(window.decorView)
            }
@@ -344,8 +377,11 @@
    private fun initMineLocation() {
        AMapKit.initLocation(this, AMapLocationListener {
            it?.let {
                MyApplication.aMapLocation = it
                carMarker!!.position = LatLng(it.latitude, it.longitude)
//                toast("errorCode=="+it.errorCode.toString()+"latitude=="+it.latitude.toString())
                if (it.errorCode == 0) {
                    MyApplication.aMapLocation = it
                    carMarker!!.position = LatLng(it.latitude, it.longitude)
                }
            }
            orderBean.let {
                when (it.data.orderState) {
@@ -395,7 +431,19 @@
                        }
                    }
                })
        }else{
            var view =
                creatCarView()
            carMarker?.setIcon(getIcon(view))
            if (isMove) {
                moveCamera(aMap, carMarker!!.position)
            }
        }
    }
    fun creatNullView(): View {
        val carView = createView(R.layout.view_no, this)
        return carView
    }
@@ -408,6 +456,9 @@
        callNet(this, Api.queryOrderInfo, map) {
            orderBean = gson.fromJson(it, OrderBean::class.java)
            showUi(orderBean)
//            Handler(Looper.getMainLooper()).postDelayed({
//                startActivity<SlabOrderOverActivity>("orderId" to orderBean.data.orderId.toString() , "orderType" to orderBean.data.type.toString())
//            },1000)
        }
        callPersion()
    }
@@ -422,7 +473,11 @@
    private fun showDriverUI(data: UserInfoBean?) {
        data?.let {
            tv_code_num.text = "证号:" + data.taxiAptitudeCard
            if (data.taxiAptitudeCard.length > 7){
                tv_code_num.text  = "资格证号:"+data.taxiAptitudeCard.substring(0,3)+"*******"+data.taxiAptitudeCard.substring(data.taxiAptitudeCard.length-4,data.taxiAptitudeCard.length)
            }else{
                tv_code_num.text = "资格证号:" + data.taxiAptitudeCard
            }
            tv_name_car_man.text = "姓名:" + it.name
            tv_car_num_var.text = "车牌:" + it.licensePlate
            recycler_view_start.layoutManager =
@@ -434,11 +489,11 @@
            recycler_view_start.adapter = SlabStartAdapter(it.score.toDouble())
            tv_company.text = "公司:" + it.company
            tv_time_send_prove.text = "发证日期:" + it.networkCarlssueDate
            GlideUtil.load(this, it.avatar, iv_head, 1)
            GlideUtil.load(this, it.avatar, iv_head, 8)
            tv_current_time.text = DateUtil.getTime(
                DateUtil.TYPE7,
                System.currentTimeMillis()
            ) + "\n" + DateUtil.getWeek(System.currentTimeMillis())
            ) +  DateUtil.getWeek(System.currentTimeMillis())
        }
    }
@@ -449,6 +504,7 @@
            tv_time.text = it.data.travelTime
            tv_start_address.text = it.data.startAddress
            tv_end_address.text = it.data.endAddress
            tv_end_address.visibility = if (it.data.endAddress.isNullOrEmpty()) View.GONE else View.VISIBLE
            tv_red_money.text = it.data.tipMoney.toString() + "元小费"
            tv_phone.text = orderBean.data.phone
            showStatueMapUI(it)
@@ -473,7 +529,7 @@
            view.iv_img.setImageResource(R.mipmap.zhongdian)
            endMarker = addMarker(aMap, it.data.endLat, it.data.endLon, view, "")
        }
        endMarker!!.isVisible = false
        endMarker?.isVisible = false
        if (carMarker == null) {
            val carView = creatCarView("")
            carMarker = addMarker(
@@ -502,12 +558,18 @@
        return carView
    }
    fun creatCarView(): View {
        val carView = createView(R.layout.item_map_market, this)
        carView.iv_img.setImageResource(R.mipmap.icon_car)
        carView.tv_hint.gone()
        return carView
    }
    //    流程操作状态(3=开始出发预约点,4=到达预约点,5=开始服务,6=服务结束)
    private fun showStatueMapUI(it: OrderBean) {
        getAllMark(it)
        when (it.data.orderState) {
            2, 3 -> {
                toast("点亮网约")
                clickBroad()
                iv_to_gd.visible()
                makeMarker?.isVisible = true
@@ -523,7 +585,6 @@
                }
            }
            4 -> {
                toast("点亮网约")
                clickBroad()
                iv_to_gd.gone()
                closeLine()
@@ -553,11 +614,11 @@
        }
    }
    fun clickBroad(){
        var intent =  Intent();
    fun clickBroad() {
        var intent = Intent();
        intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK;
        intent.action = "wisdom.intent.action.topLight";
        intent.putExtra("state",0)
        intent.putExtra("state", 0)
        sendBroadcast(intent);
    }
@@ -612,17 +673,6 @@
        }
    }
    fun getTance(startLatLng: LatLng, endLatLng: LatLng, onclick: (tance: Float) -> Unit) {
        AMapKit.initRouteLine(
            this,
            startLatLng,
            endLatLng,
            object : (MutableList<LatLng>, Float, Long) -> Unit {
                override fun invoke(p1: MutableList<LatLng>, p2: Float, p3: Long) {
                    onclick(p2)
                }
            })
    }
    override fun setOnclick() {
@@ -637,11 +687,25 @@
    override fun onEventMainThread(event: BaseEvent?) {
        super.onEventMainThread(event)
        when (event!!.code) {
            BaseEvent.REAGASSIGN_SUCCESS -> {
                MyApplication.currentOrderId = ""
                MyApplication.currentOrderType = ""
//            BaseEvent.REAGASSIGN_SUCCESS -> {
//                MyApplication.currentOrderId = ""
//                MyApplication.currentOrderType = ""
//                finish()
//            }
            BaseEvent.UP_TRIP -> {
                callOrder()
            }
            BaseEvent.SURE_MONEY -> {
                startActivity<SlabOrderOverActivity>(
                    "orderId" to orderBean.data.orderId.toString(),
                    "orderType" to "2"
                )
                finish()
            }
            BaseEvent.ERROR_INFO -> {
                onBackPressed()
            }
        }
    }
}