From 59a89da95e7627c87dd01f00226d49104d1a93f3 Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期二, 10 十一月 2020 16:03:03 +0800 Subject: [PATCH] 11.10 添加线上线下标记 , 修改结束流程 --- app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt | 212 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 132 insertions(+), 80 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt index 34b600a..0334f5e 100644 --- a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt @@ -28,7 +28,7 @@ intent.getStringExtra("orderId") } - var time:CountDownTimer? = null + var time: CountDownTimer? = null lateinit var orderBean: OrderBean @@ -43,56 +43,55 @@ override fun onPause() { super.onPause() - if (time != null){ + if (time != null) { time!!.cancel() } } override fun setBlackMode(b: Boolean?) { super.setBlackMode(b) - if(b!!){ //晚上 + if (b!!) { //晚上 rl_main_bg.setBackgroundResource(R.color.black) ll_content_web.setBackgroundResource(R.drawable.bg_slab_main_8_black) ll_order_top.setBackgroundResource(R.drawable.bg_slab_main_8_black_bottom) // ll_pay_result.setBackgroundResource(R.drawable.bg_slab_main_8_shen_black) 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_time.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_time.textColor(this, R.color.write) tv_time.setDrawableLeft(R.mipmap.icon_time_gray) - 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_pay_result_title.textColor(this,R.color.write) - tv_order_type.textColor(this,R.color.write) - tv_hive_small_money.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_pay_result_title.textColor(this, R.color.write) + tv_order_type.textColor(this, R.color.write) + tv_hive_small_money.textColor(this, R.color.write) tv_phone.setDrawableLeft(R.mipmap.icon_dial_slab) - }else{ + } else { rl_main_bg.setBackgroundResource(R.color.write) ll_content_web.setBackgroundResource(R.drawable.write_top_10) ll_order_top.setBackgroundResource(R.drawable.write_bottom_10) // ll_pay_result.setBackgroundResource(R.drawable.bg_white_round5) 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_time.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_time.textColor(this, R.color.black) tv_time.setDrawableLeft(R.mipmap.icon_time_xiao) - 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_pay_result_title.textColor(this,R.color.black) - tv_order_type.textColor(this,R.color.black) - tv_hive_small_money.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_pay_result_title.textColor(this, R.color.black) + tv_order_type.textColor(this, R.color.black) + tv_hive_small_money.textColor(this, R.color.black) tv_phone.setDrawableLeft(R.mipmap.icon_dial) } } override fun initView() { - var map = getMapByAny() map["orderId"] = orderId map["orderType"] = orderType @@ -104,11 +103,28 @@ } } + + private fun showUi(orderBean: OrderBean?) { orderBean?.let { + MyApplication.getTTsManager() + .setVideoText("请确认乘客车内付款后,再点击返回首页") + time = timeOver(60000 * 6) { + tv_title_slab.text = "已完成($it)" + if (it == 0) { + if (time != null) { + time!!.cancel() + } + try { + finish() + } catch (e: Exception) { + } + } + } tv_title_slab.text = "待支付" tv_name.text = it.data.nickName tv_car_num.text = it.data.historyNum.toString() + "次乘车" + tv_phone.text = it.data.phone tv_phone.clickDelay { MyUtils.getInstans().CallPhone(this, it.data.phone.toString()) } @@ -144,51 +160,14 @@ } } - private fun addSocketLisener(orderBean: OrderBean?) { - MyApplication.addOrderView(object : MyApplication.OrderStatueView { - override fun orderInfo(data: OrderSimpleData?) { - data?.let { - 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) -// } - } - } + fun overOrder(){ + callComplete() { + Handler(Looper.getMainLooper()).post { + time?.cancel() + time?.onFinish() + finish() } - }) - -// if (handler == null) { -// handler = android.os.Handler(mainLooper) -// handler!!.postDelayed({ -// checkOrderStatue() -// }, 3000) -// } + } } var handler: Handler? = null @@ -204,20 +183,20 @@ var map = getMapByAny() // map["orderId"] = orderId // map["orderType"] = orderType - callNet(false,Api.orderStateSocket, map) { + callNet(false, Api.orderStateSocket, map) { val orderSimpleData = Gson().fromJson( it, OrderStatueBean::class.java ) orderSimpleData?.data?.let { - var currentBean:OrderStatueBean.DataBean? = null - for (item in it){ - if (item.orderId ==orderBean.data?.orderId ){ + var currentBean: OrderStatueBean.DataBean? = null + for (item in it) { + if (item.orderId == orderBean.data?.orderId) { currentBean = item } } - if (it.size == 0 || currentBean == null){ + if (it.size == 0 || currentBean == null) { return@callNet } if (currentBean.state == 8) { @@ -226,12 +205,15 @@ R.color.slab_green_over ) Handler(Looper.getMainLooper()).post { - if (isPlay) - { + if (isPlay) { return@post } isPlay = true - MyApplication.getTTsManager().setVideoText("乘客已支付"+ orderBean.data?.orderMoney.toString()+"元") + tv_complete.gone() + tv_to_main.visible() + MyApplication.getTTsManager() + .setVideoText("乘客已支付" + orderBean.data?.orderMoney.toString() + "元") + time?.cancel() time = timeOver(20000) { tv_title_slab.text = "已完成($it)" if (it == 0) { @@ -239,7 +221,7 @@ time!!.cancel() } try { - onBackPressed() + finish() } catch (e: Exception) { } } @@ -282,5 +264,75 @@ tv_to_main.clickDelay { onBackPressed() } + + tv_complete.clickDelay { + overOrder() + } } + + override fun onBackPressed() { + overOrder() + } + + private fun callComplete(function: () -> Unit) { + var map = getMapByAny() + map["orderId"] = orderId + map["orderType"] = orderType + callNet(Api.completeOrder,map,{ + function() + }){ + + } + } + + + + private fun addSocketLisener(orderBean: OrderBean?) { + MyApplication.addOrderView(object : MyApplication.OrderStatueView { + override fun orderInfo(data: OrderSimpleData?) { + data?.let { + 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 { + finish() + } catch (e: Exception) { + } + } + } + } + +// android.os.Handler(Looper.getMainLooper()).post { +// orderBean.data.orderState = 8 +// showUi(orderBean) +// } + } + } + } + }) + + +// if (handler == null) { +// handler = android.os.Handler(mainLooper) +// handler!!.postDelayed({ +// checkOrderStatue() +// }, 3000) +// } + } + } \ No newline at end of file -- Gitblit v1.7.1