From ad249ec6f0864b39dadde3a82d9e51c987194ac0 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 17 Oct 2024 17:41:16 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.0]=20[fea]=20[=E6=A0=B7=E5=BC=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wigets/dialog/CommonDialogView.kt | 58 +++++++++++++++++++ .../errorpoint/ReportErrorPointDialog.kt | 36 ------------ .../errorpoint/ReportErrorPointView.kt | 36 +++++++----- .../routingrunning/RoutingRunningView.kt | 5 +- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 6 +- .../taxi/ui/task/TaxiNextTaskFragment.kt | 8 ++- .../TaxiOrderCancelDialog.java | 2 +- .../itinerarycurrent/ItineraryCurrentView.kt | 5 +- .../task/itinerarynext/ItineraryNextView.kt | 9 ++- 9 files changed, 101 insertions(+), 64 deletions(-) create mode 100644 OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt delete mode 100644 OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt rename OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/{ => cancleorder}/TaxiOrderCancelDialog.java (99%) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt new file mode 100644 index 0000000000..0f04d30f14 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt @@ -0,0 +1,58 @@ +package com.mogo.och.common.module.wigets.dialog + +import android.content.Context +import android.view.Gravity +import android.view.View +import android.view.WindowManager +import androidx.lifecycle.LifecycleObserver +import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import me.jessyan.autosize.utils.AutoSizeUtils + + +class CommonDialogView(context: Context,val view:View,val width:Float,val height:Float,cancleOnTouchOutside:Boolean=false) : BaseFloatDialog(context), + LifecycleObserver { + + private val TAG = "CommonDialogView" + + init { + setContentView(view) + setCanceledOnTouchOutside(cancleOnTouchOutside) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + // 获取Dialog的Window对象 + val window = getWindow() + // 设置布局参数,确保Dialog居中显示 + if (window != null) { + val layoutParams = WindowManager.LayoutParams() + layoutParams.copyFrom(window.attributes) + // 设置Dialog的宽度和高度 + layoutParams.width = AutoSizeUtils.dp2px(context,width) + layoutParams.height = AutoSizeUtils.dp2px(context,height) + + + // 设置gravity为CENTER,使Dialog居中 + layoutParams.gravity = Gravity.CENTER + // 应用新的布局参数 + window.attributes = layoutParams + } + + } + + fun showDialog() { + if (isShowing) { + return + } + show() + } + + fun hideDialog() { + if (isShowing) { + dismiss() + } + } + + +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt deleted file mode 100644 index 6435cf166d..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.mogo.och.unmanned.taxi.ui.routing.errorpoint - -import android.content.Context -import androidx.lifecycle.LifecycleObserver -import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog -import com.mogo.och.unmanned.taxi.R -import kotlinx.android.synthetic.main.dialog_taxt_report_error.repvErrorPointReason - -class ReportErrorPointDialog(context: Context,grayId: Long?) : BaseFloatDialog(context), LifecycleObserver { - - init { - setContentView(R.layout.dialog_taxt_report_error) - setCanceledOnTouchOutside(true) - repvErrorPointReason.setGrayId(grayId) - repvErrorPointReason.setDismiss(object : ReportErrorPointView.CloseCallback { - override fun close() { - dismiss() - } - }) - } - - fun showDialog() { - if (isShowing) { - return - } - show() - } - - fun hideDialog() { - if (isShowing) { - dismiss() - } - } - - -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt index bdbbb74ab2..31d6cb45e8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.TimeUtils 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.common.module.wigets.dialog.CommonFeedbackDialog import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.PointError @@ -33,6 +34,21 @@ import kotlinx.android.synthetic.main.taxt_report_error_point_panel.view.tv_work class ReportErrorPointView : WindowRelativeLayout, ReportErrorPointViewModel.ReportErrorPointViewCallback { + companion object { + const val TAG = "TaxiPassengerArrivedView" + fun showDialog(context: Context, grayId: Long) { + val view = ReportErrorPointView(context) + val dialog = CommonDialogView(context, view,900f,730f,true) + view.setGrayId(grayId) + view.setDismiss(object : CloseCallback { + override fun close() { + dialog.hideDialog() + } + }) + dialog.showDialog() + } + } + constructor(context: Context) : super(context) constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) @@ -57,19 +73,14 @@ class ReportErrorPointView : WindowRelativeLayout, private var closeCallback: CloseCallback? = null - private var grayId: Long?=-1L + private var grayId: Long? = -1L - private var occurrenceTime:Long = System.currentTimeMillis() + private var occurrenceTime: Long = System.currentTimeMillis() private fun initView() { d(SceneConstant.M_TAXI_P + TAG, "initView") LayoutInflater.from(context).inflate(R.layout.taxt_report_error_point_panel, this, true) - val flexboxLayoutManager = FlexboxLayoutManager(context) - flexboxLayoutManager.flexDirection = FlexDirection.ROW; - flexboxLayoutManager.alignItems = AlignItems.CENTER - flexboxLayoutManager.flexWrap = FlexWrap.WRAP - rvErrorPointReason?.layoutManager = GridLayoutManager(context, 2) rvErrorPointReason?.setHasFixedSize(true) errorPointItemAdapter = ErrorPointItemAdapter( @@ -84,13 +95,13 @@ class ReportErrorPointView : WindowRelativeLayout, } tv_report_error_point_reason.onClick { val checkDataList = errorPointItemAdapter.getCheckDataList() - if(checkDataList.isEmpty()){ + if (checkDataList.isEmpty()) { ToastUtils.showShort("请选择问题类型") return@onClick } tv_report_error_point_reason_cancel.isEnabled = false lvs_loding.visibility = VISIBLE - this.viewModel?.submitErrorPointReasons(checkDataList,occurrenceTime) + this.viewModel?.submitErrorPointReasons(checkDataList, occurrenceTime) } } @@ -99,7 +110,8 @@ class ReportErrorPointView : WindowRelativeLayout, d(SceneConstant.M_TAXI_P + TAG, "展示---:${isVisible}") if (isVisible) { occurrenceTime = System.currentTimeMillis() - tv_work_order_time.text = TimeUtils.millis2String(occurrenceTime, TimeUtils.getHourMinSecondFormat()) + tv_work_order_time.text = + TimeUtils.millis2String(occurrenceTime, TimeUtils.getHourMinSecondFormat()) viewModel?.getPointErrorReasons() } else { @@ -114,10 +126,6 @@ class ReportErrorPointView : WindowRelativeLayout, viewModel?.setGrayId(grayId) } - companion object { - const val TAG = "TaxiPassengerArrivedView" - } - init { try { initView() diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt index 8b2dc893db..15aba2445a 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt @@ -8,7 +8,6 @@ import androidx.constraintlayout.widget.ConstraintLayout import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.amap.api.navi.model.NaviLatLng -import com.mogo.eagle.core.function.main.MainMoGoApplication import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ThreadUtils @@ -21,12 +20,12 @@ import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.EndGrayTaskFeedbackType import com.mogo.och.unmanned.taxi.bean.StartGrayAndQueryContrailRsp import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst -import com.mogo.och.unmanned.taxi.ui.routing.errorpoint.ReportErrorPointDialog import com.mogo.och.unmanned.taxi.ui.routing.RoutingSwitchModel import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingFeedbackDialog import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingModel import com.mogo.och.common.module.map.MapMakerManager import com.mogo.och.common.module.wigets.dialog.CommonDialogStatus +import com.mogo.och.unmanned.taxi.ui.routing.errorpoint.ReportErrorPointView import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_routing_running.view.actv_current_itinerary_end_name import kotlinx.android.synthetic.main.unmanned_routing_running.view.actv_current_itinerary_start_name @@ -77,7 +76,7 @@ class RoutingRunningView: ConstraintLayout, RoutingRunningModel.RoutingRuningCal } actv_submit_task.onClick { viewModel?.data?.taskId?.let { - ReportErrorPointDialog(context,it).showDialog() + ReportErrorPointView.showDialog(context,it) } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt index c38147ef76..0437cb98b8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -42,6 +42,7 @@ 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 @@ -723,7 +724,10 @@ class TaxiCurrentTaskFragment : BaseFragment(), if (currentWithOrder?.order != null) { val order = currentWithOrder.order activity?.also { - TaxiOrderCancelDialog(it, order!!.orderStatus) { type -> + TaxiOrderCancelDialog( + it, + order!!.orderStatus + ) { type -> mViewModel.sendUiIntent(TaskUiIntent.CancelOrder(type)) }.show() } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt index 39d198aacd..7d1a99d75e 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt @@ -14,6 +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.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endStationName @@ -56,8 +57,11 @@ class TaxiNextTaskFragment : BaseFragment() { if (currentWithOrder?.order != null) { val order = currentWithOrder.order activity?.also { - TaxiOrderCancelDialog(it, order!!.orderStatus) { type -> - TaxiTaskModel.cancelOrder(order.orderNo,type) + TaxiOrderCancelDialog( + it, + order!!.orderStatus + ) { type -> + TaxiTaskModel.cancelOrder(order.orderNo, type) }.show() } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiOrderCancelDialog.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java similarity index 99% rename from OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiOrderCancelDialog.java rename to OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java index ddd170a5f3..3c44d5ae7d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiOrderCancelDialog.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java @@ -1,4 +1,4 @@ -package com.mogo.och.unmanned.taxi.ui.task; +package com.mogo.och.unmanned.taxi.ui.task.cancleorder; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI; diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt index c86f05350e..ece18addaa 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt @@ -1,14 +1,12 @@ package com.mogo.och.unmanned.taxi.ui.task.itinerarycurrent import android.content.Context -import android.graphics.Color import android.os.CountDownTimer import android.text.TextUtils import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.content.ContextCompat import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner @@ -17,7 +15,6 @@ import com.amap.api.navi.model.NaviLatLng import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getState import com.mogo.eagle.core.function.hmi.ui.widget.ItinerarySummaryDialog -import com.mogo.eagle.core.function.main.MainMoGoApplication import com.mogo.eagle.core.network.utils.GsonUtil import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d @@ -51,7 +48,7 @@ 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.TaxiOrderCancelDialog +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.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_exercise diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt index 84faaa5f93..a35d6db30d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt @@ -18,7 +18,7 @@ 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.TaxiOrderCancelDialog +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel 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 @@ -61,8 +61,11 @@ class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCall val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() if (currentWithOrder?.order != null) { val order = currentWithOrder.order - TaxiOrderCancelDialog(context, order!!.orderStatus) { type -> - TaxiTaskModel.cancelOrder(order.orderNo,type) + TaxiOrderCancelDialog( + context, + order!!.orderStatus + ) { type -> + TaxiTaskModel.cancelOrder(order.orderNo, type) }.show() } }