From bd6a8872438a35d47821c5d5da7fe149e5fed3ab Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期三, 21 六月 2023 09:53:36 +0800 Subject: [PATCH] 处理收不到广播 --- app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt | 166 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 92 insertions(+), 74 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt index c7b5512..488b11f 100644 --- a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt @@ -3,6 +3,7 @@ import android.os.CountDownTimer import android.os.Handler import android.os.Looper +import android.view.View import cn.sinata.xldutils.utils.* import com.okgoincar.netUtls.callNet import com.okgoincar.netUtls.getMapByAny @@ -14,8 +15,10 @@ import com.okgoincar.bean.OrderStatueBean import com.okgoincar.netUtls.Api import com.okgoincar.netUtls.timeOver +import com.okgoincar.slab.util.DialogUtil import com.okgoincar.utils.MyUtils import kotlinx.android.synthetic.main.activity_order_over.* +import kotlinx.android.synthetic.main.dialog_sure_and_del_slab.view.* import java.lang.Exception class SlabOrderOverActivity : MySlabBaseActivity() { @@ -92,7 +95,6 @@ } override fun initView() { - var map = getMapByAny() map["orderId"] = orderId map["orderType"] = orderType @@ -104,12 +106,29 @@ } } + + 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()) } @@ -118,6 +137,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() + "元小费" // when (orderBean.data.orderState) { // 10, 11 -> { @@ -145,51 +165,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 @@ -235,6 +218,7 @@ tv_to_main.visible() MyApplication.getTTsManager() .setVideoText("乘客已支付" + orderBean.data?.orderMoney.toString() + "元") + time?.cancel() time = timeOver(20000) { tv_title_slab.text = "已完成($it)" if (it == 0) { @@ -242,7 +226,7 @@ time!!.cancel() } try { - onBackPressed() + finish() } catch (e: Exception) { } } @@ -287,35 +271,18 @@ } tv_complete.clickDelay { - callComplete() { - tv_complete.gone() - tv_to_main.visible() - 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) { - } - } - } - } + var pop = DialogUtil.getSlabDelAndSurePopWindow(this,"请确认是否收到乘客线下付款",{}){ + overOrder() } + pop.contentView.tv_close_base.text = "未收款" + pop.contentView.tv_sure_base.text = "已收款" + pop.showCenter(window.decorView) + } + } + + override fun onBackPressed() { + overOrder() } private fun callComplete(function: () -> Unit) { @@ -325,7 +292,58 @@ callNet(Api.completeOrder,map,{ function() }){ - + 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