Merge branch 'refs/heads/dev_robotaxi-d_240912_6.7.0' into dev_robotaxi-d_240912_6.7.2_local

This commit is contained in:
donghongyu-pc
2024-10-18 14:26:03 +08:00
16 changed files with 466 additions and 40 deletions

View File

@@ -54,5 +54,9 @@ class CommonDialogView(context: Context,val view:View,val width:Float,val height
}
}
interface CloseCallback {
fun close()
}
}

View File

@@ -21,7 +21,7 @@ package com.mogo.och.unmanned.taxi.constant
* 2003 车电量不足
* 2004 其他
*/
enum class TaxiOrderCancelReasons(val type: Int, val msg: String) {
enum class TaxiOrderCancelReasons(val type: Int, val msg: String,var isCheck:Boolean=false) {
CarBroken(1000, "车况异常"),
DeviceBroken(1001, "设备异常"),
BatteryLow(1002, "电量不足"),

View File

@@ -159,7 +159,7 @@ public class DebugView @JvmOverloads constructor(
initBroadcastReceiver()
LayoutInflater.from(context).inflate(R.layout.unmanned_taxi_debug_order, this, true)
debugLogHistoryTextView.movementMethod = ScrollingMovementMethod.getInstance()
visibility = VISIBLE
visibility = GONE
logHistoryTextView = debugLogHistoryTextView
initView()

View File

@@ -40,7 +40,7 @@ class ReportErrorPointView : WindowRelativeLayout,
val view = ReportErrorPointView(context)
val dialog = CommonDialogView(context, view,900f,730f,true)
view.setGrayId(grayId)
view.setDismiss(object : CloseCallback {
view.setDismiss(object : CommonDialogView.CloseCallback {
override fun close() {
dialog.hideDialog()
}
@@ -71,7 +71,7 @@ class ReportErrorPointView : WindowRelativeLayout,
private lateinit var errorPointItemAdapter: ErrorPointItemAdapter
private var closeCallback: CloseCallback? = null
private var closeCallback: CommonDialogView.CloseCallback? = null
private var grayId: Long? = -1L
@@ -161,16 +161,11 @@ class ReportErrorPointView : WindowRelativeLayout,
.build(context).show()
}
fun setDismiss(listener: CloseCallback) {
fun setDismiss(listener: CommonDialogView.CloseCallback) {
this.closeCallback = listener
}
fun setGrayId(grayId: Long?) {
this.grayId = grayId
}
interface CloseCallback {
fun close()
}
}

View File

@@ -42,7 +42,6 @@ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_END_
import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_START_MAP_MAKER
import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TYPE_MARKER_TAXI_ORDER
import com.mogo.och.common.module.map.MapMakerManager
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog
import com.mogo.och.unmanned.taxi.utils.TaskUtils
import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder
import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endPoint
@@ -724,12 +723,6 @@ class TaxiCurrentTaskFragment : BaseFragment(),
if (currentWithOrder?.order != null) {
val order = currentWithOrder.order
activity?.also {
TaxiOrderCancelDialog(
it,
order!!.orderStatus
) { type ->
mViewModel.sendUiIntent(TaskUiIntent.CancelOrder(type))
}.show()
}
}
}

View File

@@ -14,7 +14,7 @@ import com.mogo.och.unmanned.taxi.bean.OrderDetail
import com.mogo.och.unmanned.taxi.bean.QueryCurrentTaskRespBean
import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum
import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView
import com.mogo.och.unmanned.taxi.utils.TaskUtils
import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder
import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endStationName
@@ -57,12 +57,9 @@ class TaxiNextTaskFragment : BaseFragment() {
if (currentWithOrder?.order != null) {
val order = currentWithOrder.order
activity?.also {
TaxiOrderCancelDialog(
it,
order!!.orderStatus
) { type ->
TaxiTaskModel.cancelOrder(order.orderNo, type)
}.show()
context?.let {
CancleOrderView.showDialog(it)
}
}
}
}

View File

@@ -0,0 +1,78 @@
package com.mogo.och.unmanned.taxi.ui.task.cancleorder
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons
import me.jessyan.autosize.AutoSizeCompat
class CancleOrderItemAdapter (
private val context: Context,
private val dataList: MutableList<TaxiOrderCancelReasons>
) : RecyclerView.Adapter<CancleOrderItemAdapter.TextVH>(){
fun setDataList(dataList: List<TaxiOrderCancelReasons>) {
this.dataList.clear()
this.dataList.addAll(dataList)
notifyDataSetChanged()
}
fun getCheckDataList():MutableList<TaxiOrderCancelReasons>{
val mutableListOf = mutableListOf<TaxiOrderCancelReasons>()
this.dataList.forEach {
if(it.isCheck){
mutableListOf.add(it)
}
}
return mutableListOf
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH {
val view: View
val inflater = LayoutInflater.from(context)
view = inflater.inflate(R.layout.taxt_cancle_order_reson_item, parent, false)
return TextVH(view)
}
override fun onBindViewHolder(holder: TextVH, position: Int) {
val errorInfo = dataList[holder.bindingAdapterPosition]
AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources)
if (errorInfo.isCheck) {
holder.cbErrorInfo.setImageResource(R.drawable.taxi_routing_check)
}else{
holder.cbErrorInfo.setImageResource(R.drawable.taxi_routing_uncheck)
}
holder.cbErrorResong.text = errorInfo.msg
holder.itemView.onClick {
if(errorInfo.isCheck){
errorInfo.isCheck = false
notifyItemChanged(holder.bindingAdapterPosition)
return@onClick
}else{
errorInfo.isCheck = true
notifyItemChanged(holder.bindingAdapterPosition)
}
dataList.forEachIndexed { index, taxiOrderCancelReasons ->
if (taxiOrderCancelReasons.isCheck && taxiOrderCancelReasons.type != errorInfo.type) {
taxiOrderCancelReasons.isCheck = false
notifyItemChanged(index)
}
}
}
}
override fun getItemCount(): Int {
return dataList.size
}
inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) {
var cbErrorInfo: AppCompatImageView = itemView.findViewById(R.id.aciv_show_check_status)
var cbErrorResong: AppCompatTextView = itemView.findViewById(R.id.actv_cancle_reson)
}
}

View File

@@ -0,0 +1,126 @@
package com.mogo.och.unmanned.taxi.ui.task.cancleorder
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.wigets.WindowRelativeLayout
import com.mogo.och.common.module.wigets.dialog.CommonDialogView
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons
import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.lvs_loding_report_cancle_reson
import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.rvCancleReason
import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.tv_report_cancle_reason
import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.tv_report_cancle_reason_cancel
class CancleOrderView : WindowRelativeLayout, CancleOrderViewModel.CancleOrderViewCallback {
companion object {
const val TAG = "TaxiPassengerArrivedView"
fun showDialog(context: Context) {
val view = CancleOrderView(context)
val dialog = CommonDialogView(context, view,900f,730f,true)
view.closeCallback = object :CommonDialogView.CloseCallback{
override fun close() {
dialog.hideDialog()
}
}
dialog.showDialog()
}
}
constructor(context: Context) : super(context)
constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(
context,
attributeSet,
defStyleAttr
)
constructor(
context: Context,
attributeSet: AttributeSet,
defStyleAttr: Int,
defStyleRes: Int
) : super(context, attributeSet, defStyleAttr, defStyleRes)
private var viewModel: CancleOrderViewModel? = null
private lateinit var cancleOrderItemAdapter: CancleOrderItemAdapter
private var closeCallback: CommonDialogView.CloseCallback? = null
private fun initView() {
d(SceneConstant.M_TAXI_P + TAG, "initView")
LayoutInflater.from(context).inflate(R.layout.taxt_cancle_order_reson, this, true)
rvCancleReason?.layoutManager = GridLayoutManager(context, 2)
rvCancleReason?.setHasFixedSize(true)
cancleOrderItemAdapter = CancleOrderItemAdapter(
context, mutableListOf(
)
)
rvCancleReason?.adapter = cancleOrderItemAdapter
tv_report_cancle_reason_cancel.onClick {
this.closeCallback?.close()
}
tv_report_cancle_reason.onClick {
val checkDataList = cancleOrderItemAdapter.getCheckDataList()
if (checkDataList.isEmpty()) {
ToastUtils.showShort("请选择问题类型")
return@onClick
}
tv_report_cancle_reason_cancel.isEnabled = false
lvs_loding_report_cancle_reson.visibility = VISIBLE
this.viewModel?.cancelOrder(checkDataList.first().type)
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
viewModel = ViewModelProvider(this).get(CancleOrderViewModel::class.java)
viewModel?.setViewCallback(this)
}
init {
try {
initView()
} catch (e: Exception) {
e.printStackTrace()
}
}
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(isVisible){
viewModel?.getData()
}
}
override fun setData(reasons: MutableList<TaxiOrderCancelReasons>) {
cancleOrderItemAdapter.setDataList(reasons)
}
override fun cancleSuccess() {
tv_report_cancle_reason_cancel.isEnabled = true
lvs_loding_report_cancle_reson.visibility = GONE
closeCallback?.close()
}
override fun cancleFail(reson: String?) {
tv_report_cancle_reason_cancel.isEnabled = true
lvs_loding_report_cancle_reson.visibility = GONE
ToastUtils.showShort(reson)
}
}

View File

@@ -0,0 +1,121 @@
package com.mogo.och.unmanned.taxi.ui.task.cancleorder
import androidx.lifecycle.ViewModel
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
import com.mogo.och.common.module.network.OchCommonServiceCallback
import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons
import com.mogo.och.unmanned.taxi.network.TaxiTaskWithOrderServiceManager
import com.mogo.och.unmanned.taxi.ui.debug.DebugView
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
class CancleOrderViewModel : ViewModel() {
private val TAG = CancleOrderViewModel::class.java.simpleName
private var viewCallback: CancleOrderViewCallback? = null
private var grayId: Long?=-1L
init {
}
fun setViewCallback(viewCallback: CancleOrderViewCallback) {
this.viewCallback = viewCallback
}
fun getData() {
val reasons = mutableListOf<TaxiOrderCancelReasons>()
when (TaxiTaskModel.getCurrentTaskWithOrder()?.order?.orderStatus) {
TaxiOrderStatusEnum.None.code -> {
reasons.add(TaxiOrderCancelReasons.BookPassengerCancel)
reasons.add(TaxiOrderCancelReasons.CarBroken)
reasons.add(TaxiOrderCancelReasons.BookJourneyConflict)
reasons.add(TaxiOrderCancelReasons.BatteryLow)
reasons.add(TaxiOrderCancelReasons.BookOther)
}
TaxiOrderStatusEnum.OnTheWayToStart.code -> {
reasons.add(TaxiOrderCancelReasons.CarBroken)
reasons.add(TaxiOrderCancelReasons.DeviceBroken)
reasons.add(TaxiOrderCancelReasons.BatteryLow)
reasons.add(TaxiOrderCancelReasons.DriverIsIll)
reasons.add(TaxiOrderCancelReasons.StartStationFaraway)
reasons.add(TaxiOrderCancelReasons.Other)
reasons.add(TaxiOrderCancelReasons.PassengerCancel)
}
TaxiOrderStatusEnum.ArriveAtStart.code -> {
reasons.add(TaxiOrderCancelReasons.CarBroken)
reasons.add(TaxiOrderCancelReasons.DeviceBroken)
reasons.add(TaxiOrderCancelReasons.BatteryLow)
reasons.add(TaxiOrderCancelReasons.DriverIsIll)
reasons.add(TaxiOrderCancelReasons.PassengerNotArrive)
reasons.add(TaxiOrderCancelReasons.UnContractPassenger)
reasons.add(TaxiOrderCancelReasons.PassengerCancel)
reasons.add(TaxiOrderCancelReasons.Other)
}
TaxiOrderStatusEnum.OnTheWayToEnd.code,TaxiOrderStatusEnum.ArriveAtEnd.code -> {
reasons.add(TaxiOrderCancelReasons.CarBroken)
reasons.add(TaxiOrderCancelReasons.DeviceBroken)
reasons.add(TaxiOrderCancelReasons.BatteryLow)
reasons.add(TaxiOrderCancelReasons.DriverIsIll)
reasons.add(TaxiOrderCancelReasons.PassengerStopOver)
reasons.add(TaxiOrderCancelReasons.Other)
}
else -> {
reasons.add(TaxiOrderCancelReasons.CarBroken)
reasons.add(TaxiOrderCancelReasons.DeviceBroken)
reasons.add(TaxiOrderCancelReasons.BatteryLow)
reasons.add(TaxiOrderCancelReasons.DriverIsIll)
reasons.add(TaxiOrderCancelReasons.PassengerNotArrive)
reasons.add(TaxiOrderCancelReasons.PassengerStopOver)
reasons.add(TaxiOrderCancelReasons.Other)
}
}
viewCallback?.setData(reasons)
}
/**
* 取消订单 进行中/待服务
*/
fun cancelOrder( cancelType: Int) {
DebugView.printInfoMsg("[取消订单] 准备发送请求")
val orderNo = TaxiTaskModel.getCurrentTaskWithOrder()?.order?.orderNo
if(orderNo.isNullOrEmpty()){
this.viewCallback?.cancleFail("未查到订单")
}else{
TaxiTaskWithOrderServiceManager.cancelOrder(
AbsMogoApplication.getApp().applicationContext,
orderNo, cancelType,
object : OchCommonServiceCallback<BaseData> {
override fun onSuccess(data: BaseData?) {
DebugView.printInfoMsg("[取消订单] 请求success")
d(TAG, "handleCancelOrder() = onSuccess")
viewCallback?.cancleSuccess()
}
override fun onFail(code: Int, msg: String?) {
DebugView.printErrorMsg("[取消订单] 请求fail, code=$code, msg=$msg")
d(TAG, "handleCancelOrder() $code $msg")
viewCallback?.cancleFail(msg)
}
})
}
}
override fun onCleared() {
super.onCleared()
this.viewCallback = null
}
interface CancleOrderViewCallback {
fun setData(reasons: MutableList<TaxiOrderCancelReasons>)
fun cancleSuccess()
fun cancleFail(reson:String?)
}
}

View File

@@ -48,8 +48,8 @@ import com.mogo.och.unmanned.taxi.ui.debug.DebugView
import com.mogo.och.unmanned.taxi.ui.itinerarycurrent.ItineraryCurrentModel
import com.mogo.och.unmanned.taxi.ui.task.TaskUiIntent
import com.mogo.och.unmanned.taxi.ui.task.TaskWithOrderUIState
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView
import com.mogo.och.unmanned.taxi.utils.TaskUtils
import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_exercise
import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_order
@@ -275,7 +275,8 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi
taskStatus.text = resources.getString(R.string.task_start_to_virtual_site)
startStationName.text = resources.getString(R.string.task_current_loc)
endStationName.text = driveToNearestStationTask.siteName
aciv_task_type_exercise.setImageResource(R.drawable.taxi_task_calibration)
naviToStart.visibility = GONE
setOrRemoveMapMaker(
true,
TAXI_END_MAP_MAKER,
@@ -405,10 +406,9 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi
cancelOrder.id -> {
val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder()
if (currentWithOrder?.order != null) {
val order = currentWithOrder.order
TaxiOrderCancelDialog(context, order!!.orderStatus) { type ->
viewModel?.sendUiIntent(TaskUiIntent.CancelOrder(type))
}.show()
context?.let {
CancleOrderView.showDialog(it)
}
}
}
@@ -639,6 +639,8 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi
taskStatus.text = resources.getString(R.string.task_start_end_site)
aciv_task_type_exercise.setImageResource(R.drawable.taxi_task_exercise)
startStationName.text = startSite.siteName
endStationName.text = endSite.siteName

View File

@@ -18,8 +18,8 @@ import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum
import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum
import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst
import com.mogo.och.unmanned.taxi.ui.itinerarynext.ItineraryNextModel
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.aciv_order_close
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_end_station_name
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_order_count
@@ -60,13 +60,9 @@ class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCall
aciv_order_close.onClick { //取消待服务订单
val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder()
if (currentWithOrder?.order != null) {
val order = currentWithOrder.order
TaxiOrderCancelDialog(
context,
order!!.orderStatus
) { type ->
TaxiTaskModel.cancelOrder(order.orderNo, type)
}.show()
context?.let {
CancleOrderView.showDialog(it)
}
}
}
showNoNextTaskView()

View File

@@ -15,6 +15,7 @@ import com.mogo.och.common.module.utils.FlowBus
import com.mogo.och.unmanned.taxi.R
import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider
import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst
import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView
import com.mogo.och.unmanned.taxi.wigets.TaxiSelectViewGroup
import kotlinx.android.synthetic.main.unmanned_switch_itinerary.view.currentItinerary
import kotlinx.android.synthetic.main.unmanned_switch_itinerary.view.nextItinerary

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="@dimen/dp_900"
android:layout_height="@dimen/dp_730"
android:background="@drawable/common_qr_dialog"
app:roundLayoutRadius="@dimen/dp_50">
<TextView
android:id="@+id/tv_cancle_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_33"
android:text="@string/module_och_taxi_order_cancel_title"
android:textColor="@color/white"
android:textSize="@dimen/sp_45"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="@dimen/dp_51"
/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvCancleReason"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_0"
android:layout_marginStart="@dimen/dp_65"
android:layout_marginTop="@dimen/dp_56"
android:layout_marginEnd="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_10"
app:layout_constraintBottom_toTopOf="@+id/tv_report_error_point_reason"
app:layout_constraintTop_toBottomOf="@+id/tv_cancle_title" />
<TextView
android:id="@+id/tv_report_cancle_reason"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:background="@drawable/common_button_cancle"
android:gravity="center"
android:text="确认"
android:textColor="@color/taxi_color_2eacff"
android:textSize="@dimen/sp_40"
android:textStyle="bold"
android:layout_marginBottom="@dimen/dp_65"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="@dimen/dp_65"
/>
<com.mogo.och.common.module.wigets.loading.LoadingViewSmall
android:id="@+id/lvs_loding_report_cancle_reson"
app:layout_constraintTop_toTopOf="@+id/tv_report_error_point_reason"
app:layout_constraintBottom_toBottomOf="@+id/tv_report_error_point_reason"
app:layout_constraintEnd_toEndOf="@+id/tv_report_error_point_reason"
android:layout_marginEnd="@dimen/dp_30"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv_report_cancle_reason_cancel"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:layout_marginBottom="@dimen/dp_65"
android:background="@drawable/common_button_cancle"
android:layout_marginEnd="@dimen/dp_66"
android:gravity="center"
android:text="取消"
android:textColor="#FFFFFF"
android:textSize="@dimen/sp_40"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
/>
</com.mogo.och.common.module.wigets.OCHRoundConstraintLayout>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:background="@color/result_points"
android:layout_height="@dimen/dp_90">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_show_check_status"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/taxi_routing_uncheck"
android:layout_width="@dimen/dp_53"
android:layout_height="@dimen/dp_53"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_cancle_reson"
app:layout_constraintTop_toTopOf="@+id/aciv_show_check_status"
app:layout_constraintBottom_toBottomOf="@+id/aciv_show_check_status"
app:layout_constraintStart_toEndOf="@+id/aciv_show_check_status"
app:layout_constraintEnd_toEndOf="parent"
android:maxLines="2"
android:ellipsize="end"
android:lineSpacingMultiplier="0.7"
android:layout_marginStart="@dimen/dp_30"
tools:text="绕路绕路绕路绕路绕绕路绕路绕路绕路绕绕路绕路绕路绕路绕绕路绕路绕路绕路绕绕路绕路绕路绕路绕绕路绕路绕路绕路绕"
android:textColor="@color/white"
android:textSize="@dimen/dp_36"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -78,10 +78,12 @@
<com.mogo.och.unmanned.taxi.ui.debug.DebugView
android:id="@+id/orderDebugView"
android:layout_width="@dimen/taxi_debug_view_width"
android:visibility="visible"
android:elevation="@dimen/dp_120"
android:layout_marginTop="@dimen/dp_76"
android:visibility="gone"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@+id/unmannedMapCL"/>
app:layout_constraintEnd_toEndOf="parent"/>
<!--自动启动自驾闪烁上边框-->
<com.mogo.och.common.module.wigets.StartAutopilotAnimationView
@@ -90,6 +92,7 @@
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_76"
android:elevation="100dp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"