From 498b8e225d412afdb3287cd344455ea5ea1668e0 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 10 Jul 2024 10:13:12 +0800 Subject: [PATCH 01/14] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E4=BF=AE=E6=AD=A3=E8=A1=8C=E4=BA=BA=E6=A8=AA?= =?UTF-8?q?=E7=A9=BF=E4=BA=8B=E4=BB=B6=E6=96=87=E6=A1=88=E3=80=81=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E6=9C=AA=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index 8da5cdbe45..2b467c9070 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -804,6 +804,7 @@ enum class EventTypeEnumNew( TYPE_SOCKET_ROAD_CONGESTION.poiType -> TYPE_SOCKET_ROAD_CONGESTION.content TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType -> TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.content TYPE_USECASE_ROAD_BUS_STATION.poiType -> TYPE_USECASE_ROAD_BUS_STATION.content + TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType -> TYPE_SOCKET_ROAD_PEOPLE_CROSS.content else -> "道路事件" } } From 14acd4e883c3ff145535fee9aff9b6baca37d32b Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 10 Jul 2024 11:57:12 +0800 Subject: [PATCH 02/14] =?UTF-8?q?[6.5.0]=20[fea]=20[=E4=B8=8B=E7=BA=BF?= =?UTF-8?q?=E5=B0=8F=E6=99=BA=E3=80=81tts=20=E6=94=B9=E4=B8=BA=E7=A7=91?= =?UTF-8?q?=E5=A4=A7=E8=AE=AF=E9=A3=9E]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b56c984701..1adad2b449 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -216,6 +216,7 @@ dependencies { implementation project(':core:mogo-core-function-call') implementation project(':core:mogo-core-utils') implementation project(':core:mogo-core-res') + implementation project(':tts:tts-iflytek') androidTestImplementation project(':core:mogo-core-function-call') androidTestImplementation project(':core:mogo-core-res') @@ -316,28 +317,28 @@ def variantName() { if(gradle.startParameter.taskNames.size()>0) { for (String taskName : gradle.startParameter.taskNames) { println "对比结果----------${taskName}" - if (taskName.contains("Yantai")) { - project.dependencies.add('implementation', project.project(':tts:tts-iflytek')) - }else if (taskName.contains("Mogo")) { - if(taskName.contains("Passenger")&&taskName.contains("T1T2")) { - println "Mogo环境T1T2车 引入小智----------${taskName}" - project.dependencies.add('implementation', project.project(':tts:tts-zhi')) - }else { - project.dependencies.add('implementation', project.project(':tts:tts-pad')) - } - }else if (taskName.contains("Dali")) { - project.dependencies.add('implementation', project.project(':tts:tts-pad')) - }else if (taskName.contains("Saas")) { - if(taskName.contains("Passenger")&&taskName.contains("T1T2")) { - println "Saas环境T1T2车 引入小智----------${taskName}" - project.dependencies.add('implementation', project.project(':tts:tts-zhi')) - }else { - project.dependencies.add('implementation', project.project(':tts:tts-pad')) - } - }else { - // 不能再else 加任何逻辑 是android dlc的特效 - println("-----------$taskName") - } +// if (taskName.contains("Yantai")) { +// project.dependencies.add('implementation', project.project(':tts:tts-iflytek')) +// }else if (taskName.contains("Mogo")) { +// if(taskName.contains("Passenger")&&taskName.contains("T1T2")) { +// println "Mogo环境T1T2车 引入小智----------${taskName}" +// project.dependencies.add('implementation', project.project(':tts:tts-zhi')) +// }else { +// project.dependencies.add('implementation', project.project(':tts:tts-pad')) +// } +// }else if (taskName.contains("Dali")) { +// project.dependencies.add('implementation', project.project(':tts:tts-pad')) +// }else if (taskName.contains("Saas")) { +// if(taskName.contains("Passenger")&&taskName.contains("T1T2")) { +// println "Saas环境T1T2车 引入小智----------${taskName}" +// project.dependencies.add('implementation', project.project(':tts:tts-zhi')) +// }else { +// project.dependencies.add('implementation', project.project(':tts:tts-pad')) +// } +// }else { +// // 不能再else 加任何逻辑 是android dlc的特效 +// println("-----------$taskName") +// } taskName = taskName.replace("Debug", "") taskName = taskName.replace("Release", "") From 1233236c147dd3d3ce7df77dea751f813acafa64 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 10 Jul 2024 14:32:03 +0800 Subject: [PATCH 03/14] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E4=BC=98=E5=8C=96exts=E5=AD=97=E6=AE=B5=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=EF=BC=8C=E6=B7=BB=E5=8A=A03d=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E6=9C=9D=E5=90=91=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/functions/test/V2NTest.kt | 4 +- .../biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt | 44 ++++++------------- .../function/biz/v2x/v2n/pnc/beans/Extras.kt | 17 +++++++ 3 files changed, 32 insertions(+), 33 deletions(-) create mode 100644 core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/beans/Extras.kt diff --git a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt index 48b547108e..2b1fda75fd 100644 --- a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt +++ b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt @@ -174,9 +174,9 @@ class V2NTest { CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_NEW_LINK_SWITCH, GsonUtils.toJson(map).toByteArray()) } delay(2000) - val eventId = "xxxxxxxxxxxxx" + val eventId = "yyyyyyyyyyyyy" for (i in 0 until 500) { - val data = MessagePad.Event.getDefaultInstance().toBuilder().setLongitude(newPoint.first).setLatitude(newPoint.second).setEventId(eventId).setTimestamp(System.currentTimeMillis()).addAllTargetIds(emptyList()).addTargetIdsBytes(ByteString.EMPTY).addTargetIds("0").setExts("{ \"cameraIp\": \"172.18.7.40\",\"eventExtUnits\":[{\"heading\":266.5414733886719,\"uuid\":\"e440951e-5eb6-4091-8560-72a5d8aaf229\"}] }").build() + val data = MessagePad.Event.getDefaultInstance().toBuilder().setLongitude(newPoint.first).setLatitude(newPoint.second).setEventId(eventId).setTimestamp(System.currentTimeMillis()).addAllTargetIds(emptyList()).addTargetIdsBytes(ByteString.EMPTY).setGnssType(2).addTargetIds("0").setExts("{ \"cameraIp\": \"172.18.7.40\",\"eventExtUnits\":[{\"heading\":266.5414733886719,\"uuid\":\"e440951e-5eb6-4091-8560-72a5d8aaf229\"}] }").build() CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_OTHER_RETROGRADE_VEHICLE, data.toByteArray()) CallerV2nNioEventListenerManager.invokeV2nNioOtherRetrogradeEvent(data) delay(50) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index 00e4cecc36..1422073312 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -46,8 +46,7 @@ import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.function.biz.v2x.V2XBizTrace -import com.mogo.eagle.function.biz.v2x.v2n.consts.V2XConst -import com.mogo.eagle.function.biz.v2x.v2n.remove.MarkerWrapper +import com.mogo.eagle.function.biz.v2x.v2n.pnc.beans.Extras import com.mogo.eagle.function.biz.v2x.v2n.scenario.scene.airoad.AiRoadMarker import com.mogo.eagle.function.biz.v2x.v2n.scenario.scene.airoad.AiRoadMarker.Marker import com.mogo.eagle.function.biz.v2x.v2n.utils.EventDismissBean @@ -57,17 +56,12 @@ import com.mogo.eagle.function.biz.v2x.v2n.utils.V2NUtils import com.mogo.eagle.function.biz.v2x.v2n.utils.V2XEventAnalyticsManager import com.mogo.map.MapDataWrapper import com.mogo.map.entities.Lane -import com.mogo.map.overlay.core.Level.MAP_MARKER -import com.mogo.map.overlay.point.Point import mogo.telematics.pad.MessagePad import mogo.telematics.pad.MessagePad.Header import mogo.telematics.pad.MessagePad.TrackedObject import mogo.telematics.pad.MessagePad.V2nCrossSpeed import mogo.v2x.MogoV2X import mogo.v2x.MogoV2X.RSI_PB -import mogo.v2x.MogoV2X.RTEData_PB -import java.util.concurrent.ConcurrentHashMap -import java.util.concurrent.TimeUnit.SECONDS import kotlin.math.abs /** @@ -323,21 +317,15 @@ internal object V2NIdentifyDrawer: IEventDismissListener { V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "event == null"), true) return@Callback true } - val body = runCatching { GsonUtils.fromJson(event.exts, Map::class.java) }.getOrNull() - val cameraIp = body?.get("cameraIp") as? String ?: "" - val array = (body?.get("eventExtUnits") as? JsonArray) + val body = runCatching { GsonUtils.fromJson(event.exts, Extras::class.java) }.getOrNull() + val cameraIp = body?.cameraIp + val array = body?.eventExtUnits var heading = 0.0 var uuid = "" - if (array != null && array.size() > 0) { + if (!array.isNullOrEmpty()) { for (e in array) { - if (e is JsonObject) { - if (e.has("heading")) { - heading = runCatching { e.asDouble }.getOrNull() ?: 0.0 - } - if (e.has("uuid")) { - uuid = runCatching { e.asString }.getOrNull() ?: "" - } - } + heading = e.heading ?: 0.0 + uuid = e.uuid ?: "" } } Logger.d(TAG, "cameraIp: $cameraIp, heading:$heading, uuid: $uuid") @@ -406,21 +394,15 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } else if (msg.what == MSG_WHAT_DRAW_PEOPLE_CROSS) { Logger.i(TAG, "people cross -- 1 --") val data = msg.obj as? MessagePad.Event ?: return@Callback true - val body = runCatching { GsonUtils.fromJson(data.exts, Map::class.java) }.getOrNull() - val cameraIp = body?.get("cameraIp") as? String ?: "" - val array = (body?.get("eventExtUnits") as? JsonArray) + val body = runCatching { GsonUtils.fromJson(data.exts, Extras::class.java) }.getOrNull() + val cameraIp = body?.cameraIp + val array = body?.eventExtUnits var heading = 0.0 var uuid = "" - if (array != null && array.size() > 0) { + if (!array.isNullOrEmpty()) { for (e in array) { - if (e is JsonObject) { - if (e.has("heading")) { - heading = runCatching { e.asDouble }.getOrNull() ?: 0.0 - } - if (e.has("uuid")) { - uuid = runCatching { e.asString }.getOrNull() ?: "" - } - } + heading = e.heading ?: 0.0 + uuid = e.uuid ?: "" } } Logger.d(TAG, "cameraIp: $cameraIp, heading:$heading, uuid: $uuid") diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/beans/Extras.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/beans/Extras.kt new file mode 100644 index 0000000000..a97cbff741 --- /dev/null +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/beans/Extras.kt @@ -0,0 +1,17 @@ +package com.mogo.eagle.function.biz.v2x.v2n.pnc.beans + +import androidx.annotation.Keep + + +@Keep +data class Extras ( + val cameraIp: String? = null, + val eventExtUnits: List? = null +) + + +@Keep +data class EventExtUnit( + val heading: Double? = null, + val uuid: String? = null +) \ No newline at end of file From 4727b24d4b48b22f8fe89d253272eeb5a6e06d58 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 10 Jul 2024 14:50:37 +0800 Subject: [PATCH 04/14] =?UTF-8?q?[6.5.0]=20=E6=97=A0=E4=BA=BA=E5=8C=96?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A8=E6=81=AF=E8=B7=AF=E5=8F=A3=E5=92=8C?= =?UTF-8?q?=E8=B7=AF=E5=8F=A3=E6=A6=82=E8=A7=88=E7=9A=84=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=88=87=E6=8D=A2tab=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E5=85=83=E7=B4=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/bus_base_fragment.xml | 10 ----- .../layout/unmanned_taxi_base_fragment.xml | 18 ++++++++ .../res/layout/taxt_u_p_base_fragment.xml | 18 ++++++++ .../roadcross/RoadCrossCameraManager.kt | 12 +++++- .../core/function/view/RoadCrossRoamView.kt | 42 +++++++++++++++++-- .../api/hmi/view/IViewControlListener.kt | 4 ++ .../CallerHmiViewControlListenerManager.kt | 7 ++++ .../call/msgbox/CallerMsgBoxManager.kt | 4 +- .../map/overlay/MoGoOverlayManagerImpl.kt | 1 - 9 files changed, 97 insertions(+), 19 deletions(-) diff --git a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml index ba88783b21..ef1063f4fc 100644 --- a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml @@ -117,16 +117,6 @@ app:layout_goneMarginEnd="40dp" app:layout_goneMarginTop="@dimen/dp_236" /> - - - + + + + + + + + + + + + @@ -51,6 +60,15 @@ class RoadCrossRoamView @JvmOverloads constructor( private var rotationAnim: ObjectAnimator? = null private var lightMode = CallerSkinModeListenerManager.getMode() == 1 + private val handler = object : Handler(Looper.getMainLooper()) { + override fun handleMessage(msg: Message) { + super.handleMessage(msg) + if (msg.what == MSG_HIDE_VIEW) { + detachView() + } + } + } + init { val res = if (lightMode) { R.layout.view_road_cross_roam_light @@ -75,9 +93,17 @@ class RoadCrossRoamView @JvmOverloads constructor( } } + override fun mainPageViewVisible(v: Int) { + super.mainPageViewVisible(v) + if (v == View.GONE && this.visibility == View.VISIBLE) { + detachView() + } + } + override fun onAttachedToWindow() { super.onAttachedToWindow() CallerMapRoadListenerManager.addListener(TAG, this) + CallerHmiViewControlListenerManager.addListener(TAG, this) } private fun updateView(state: Boolean) { @@ -93,11 +119,11 @@ class RoadCrossRoamView @JvmOverloads constructor( override fun onStopLineInfo(info: StopLine) { super.onStopLineInfo(info) - if(info.distance == 0.0 || info.distance > 200){ + if (info.distance == 0.0 || info.distance > 200) { CallerLogger.d("$M_MAP$TAG", "showState return , distance is ${info.distance}") return } - showState = info.distance <= 200 && info.distance > 100 + showState = info.distance in 110.0..200.0 } private fun attachView() { @@ -115,7 +141,10 @@ class RoadCrossRoamView @JvmOverloads constructor( mapRoamView.openRoam() //播放语音 val dis = CallerMapRoadListenerManager.getStopLineDistance()?.toInt() ?: 0 - AIAssist.getInstance(context).speakTTSVoice("前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行") + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + AIAssist.getInstance(context) + .speakTTSVoice("前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行") + } lvRoadCrossRoamTip.adapter = RoadCrossRoamListAdapter(context, lightMode) // 创建横向移动的动画 if (animator == null) { @@ -145,12 +174,16 @@ class RoadCrossRoamView @JvmOverloads constructor( } else { tvRoadRoamTitle.setTextColor(context.getColor(R.color.white)) } + handler.sendEmptyMessageDelayed(MSG_HIDE_VIEW, MSG_HIDE_VIEW_TIME) } private fun detachView() { if (this.visibility == View.GONE) { return } + if(handler.hasMessages(MSG_HIDE_VIEW)){ + handler.removeMessages(MSG_HIDE_VIEW) + } mapRoamView.closeRoam() mapRoamView.visibility = View.GONE CallerMapIdentifyManager.roam = Pair("", false) @@ -169,6 +202,7 @@ class RoadCrossRoamView @JvmOverloads constructor( ivZhiRoadRoamView.clearAnimation() } CallerMapRoadListenerManager.removeListener(TAG) + CallerHmiViewControlListenerManager.removeListener(TAG) } } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt index bd06018d0a..0cd7fb81c2 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt @@ -16,6 +16,10 @@ interface IViewControlListener { } + fun mainPageViewVisible(v:Int){ + + } + /** --------- StatusBar --------- **/ /** * 设置状态栏暗夜或明亮模式 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt index e1f0b3a2b2..b7c75a371b 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt @@ -20,6 +20,13 @@ object CallerHmiViewControlListenerManager : CallerBase() M_LISTENERS[tag]?.visible(v) } + fun invokeMainPageViewVisible(v: Int) { + M_LISTENERS.forEach { + val listener = it.value + listener.mainPageViewVisible(v) + } + } + fun setStatusBarDarkOrLight(tag: String, light: Boolean) { M_LISTENERS[tag]?.setStatusBarDarkOrLight(light) } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt index 0ee40a2d7e..2124075422 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/msgbox/CallerMsgBoxManager.kt @@ -26,14 +26,14 @@ object CallerMsgBoxManager { */ fun saveMsgBox(bean: MsgBoxBean) { CallerTrace.write(TAG,bean) - providerApi?.saveMsg(bean) + providerApi?.saveMsg(bean) //todo emArrow test } /** * 存储含有pb的数据到消息盒子(区别与上述方法中的trace write) */ fun saveMsgBoxHasPB(bean: MsgBoxBean){ - providerApi?.saveMsg(bean) + providerApi?.saveMsg(bean) //todo emArrow test } /** diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt index 9ec324879b..0854fd3185 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt @@ -5,7 +5,6 @@ import android.view.View import com.mogo.eagle.core.data.map.* import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.utilcode.util.* -import com.mogo.map.MogoMap import com.mogo.map.overlay.point.Point.Options import com.mogo.map.MogoMap.Companion.mapInstance import com.mogo.map.overlay.core.* From 91e7d1b85711143aa79cebd28ea038a5e08be863 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 10 Jul 2024 14:54:11 +0800 Subject: [PATCH 05/14] =?UTF-8?q?[6.5.0]=20[fea]=20[=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=AB=98=E7=B2=BE=E5=9C=B0=E5=9B=BE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt | 4 ++++ .../och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index b467795782..22042eb93d 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -10,6 +10,7 @@ import com.alibaba.android.arouter.launcher.ARouter import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P @@ -112,6 +113,7 @@ class TaxiPassengerBaseFragment() : override fun onApplyClick(selectItem: BottomBar.SelectView) { when (selectItem) { BottomBar.SelectView.PRECISIONMAP -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) overMapView.visibility = View.GONE mapBizView.visibility = View.VISIBLE presenter?.setItineraryVisibility() @@ -132,6 +134,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.OVERMAPVIEW -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.VISIBLE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() @@ -147,6 +150,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.VIDEO -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.GONE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt index 550269a4b8..2780a758a7 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/TaxiPassengerBaseFragment.kt @@ -11,6 +11,7 @@ import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.map.MogoLatLng import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P @@ -131,6 +132,7 @@ class TaxiPassengerBaseFragment() : override fun onApplyClick(selectItem: BottomBar.SelectView) { when (selectItem) { BottomBar.SelectView.PRECISIONMAP -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) overMapView.visibility = View.GONE mapBizView.visibility = View.VISIBLE presenter?.setItineraryVisibility() @@ -151,6 +153,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.OVERMAPVIEW -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.VISIBLE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() @@ -166,6 +169,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.VIDEO -> { + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.GONE mapBizView.visibility = View.GONE presenter?.setItineraryVisibility() From f33df5004c2a8fbbf64e2021fe4ecc2568c685b7 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 10 Jul 2024 15:17:33 +0800 Subject: [PATCH 06/14] =?UTF-8?q?[6.5.0]=E8=B0=83=E6=95=B4=E7=BA=A2?= =?UTF-8?q?=E7=BB=BF=E7=81=AF=E8=B7=9D=E7=A6=BB=E9=A1=B6=E9=83=A8=E9=AB=98?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml | 2 +- .../src/main/res/layout/taxt_u_p_base_fragment.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml index 10afe272bc..a87c3283bf 100644 --- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -91,7 +91,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" - android:layout_marginTop="@dimen/dp_165" + android:layout_marginTop="@dimen/dp_150" android:visibility="gone" app:fusionLightUser="passenger" /> diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml index feceaa8276..9dadad0417 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml @@ -91,7 +91,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" - android:layout_marginTop="@dimen/dp_165" + android:layout_marginTop="@dimen/dp_150" android:visibility="gone" app:fusionLightUser="passenger" /> From 844a87a13a28751fd85f70881314dc5f24dbc305 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 10 Jul 2024 15:19:54 +0800 Subject: [PATCH 07/14] =?UTF-8?q?[6.5.0]=E8=87=AA=E5=8A=A8=E6=8E=A2?= =?UTF-8?q?=E6=9F=A5=E4=B9=98=E5=AE=A2=E7=AB=AF=E8=B0=83=E6=95=B4=E5=AD=97?= =?UTF-8?q?=E4=BD=93=E5=A4=A7=E5=B0=8F=E5=92=8C=E5=8A=A8=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/notice/exploration/AutomaticExplorationView.kt | 2 ++ .../src/main/res/layout/item_auto_exploration_p.xml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt index 7bb2a7ab46..29b00d4376 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt @@ -125,6 +125,8 @@ class AutomaticExplorationView @JvmOverloads constructor( } } if(allComplete){ + //停止左上角扫描动画 + rotationAnim?.cancel() //语音播放 AIAssist.getInstance(context).speakTTSVoice("道路畅通一切正常蘑菇型车助手将持续守候您的出行") //5秒后关闭弹窗 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_auto_exploration_p.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_auto_exploration_p.xml index f375ec5539..120efa9776 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_auto_exploration_p.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_auto_exploration_p.xml @@ -21,7 +21,7 @@ android:id="@+id/tvExplorationContent" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textSize="@dimen/sp_20" + android:textSize="@dimen/sp_22" android:textColor="@color/auto_exploration_content_p" android:layout_marginStart="@dimen/dp_13" android:layout_gravity="center_vertical" From 2f6d38211fbb89bd99677891a20e251541f718d9 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 10 Jul 2024 15:59:27 +0800 Subject: [PATCH 08/14] =?UTF-8?q?[6.5.0]=20[fea]=20[=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=AB=98=E7=B2=BE=E5=9C=B0=E5=9B=BE=5F?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=8F=B8=E6=9C=BA=E5=B1=8F]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java | 2 ++ .../com/mogo/och/unmanned/taxi/ui/base/BaseTaxiTabFragment.kt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index ca9bd30ef8..a95db728aa 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -42,6 +42,7 @@ import com.mogo.och.common.module.utils.ResourcesUtils; import com.mogo.och.common.module.wigets.map.orderstatus.OrderStatusView; import com.mogo.och.common.module.wigets.map.overmapview.OverMapDialog; import com.mogo.och.common.module.wigets.map.switchvisual.VisualViewDirver; +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager; import com.mogo.och.taxi.R; import me.jessyan.autosize.utils.AutoSizeUtils; @@ -141,6 +142,7 @@ public abstract class BaseTaxiTabFragment> : MvpFragment(R.id.btnOpenDebugView)?.setOnClickListener { val intent = Intent() From d79866b554376b997309e96060a252e84cf97e4a Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 10 Jul 2024 16:52:11 +0800 Subject: [PATCH 09/14] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E7=BB=9F=E4=B8=80=E5=A4=84=E7=90=86=E4=B8=8A?= =?UTF-8?q?=E8=BD=A6=E6=95=B0=E6=8D=AE=E7=9A=84=E5=9D=90=E6=A0=87=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91=EF=BC=9B=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=81=93=E8=B7=AF=E6=96=BD=E5=B7=A5=E5=92=8C=E9=81=93?= =?UTF-8?q?=E8=B7=AF=E4=BA=8B=E6=95=85=E7=9A=84=E5=8D=95=E5=85=83=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 1 + .../java/com/mogo/functions/test/V2NTest.kt | 103 +++++++++++++++++- .../biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt | 43 +++----- .../v2n/scenario/scene/airoad/AiRoadMarker.kt | 7 +- .../scene/road/V2XRoadEventMarker.java | 2 +- .../autopilot/telematic/TeleMsgHandler.kt | 19 ++++ .../data/multidisplay/TelematicConstant.kt | 6 + 7 files changed, 148 insertions(+), 33 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1adad2b449..101a12d2e0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -232,6 +232,7 @@ dependencies { androidTestImplementation rootProject.ext.dependencies.localbroadcastmanager androidTestImplementation rootProject.ext.dependencies.downloader androidTestImplementation project(":libraries:mogo-map") + androidTestImplementation rootProject.ext.dependencies.jts_core } diff --git a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt index 2b1fda75fd..facc8c0bcd 100644 --- a/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt +++ b/app/src/androidTest/java/com/mogo/functions/test/V2NTest.kt @@ -9,6 +9,7 @@ import androidx.test.platform.app.InstrumentationRegistry import com.google.protobuf.ByteString import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.multidisplay.TelematicConstant +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager @@ -20,12 +21,16 @@ import com.mogo.map.MapDataWrapper import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking import mogo.telematics.pad.MessagePad +import mogo.telematics.pad.MessagePad.Location +import mogo.telematics.pad.MessagePad.TrackedObject import mogo.telematics.pad.MessagePad.V2nCrossSpeed import org.junit.Before import org.junit.Test import org.junit.runner.RunWith -import java.util.HashMap +import java.util.Collections import java.util.concurrent.TimeUnit +import kotlin.math.cos +import kotlin.math.sin @RunWith(AndroidJUnit4::class) @@ -43,6 +48,100 @@ class V2NTest { launch = ActivityScenario.launch(MainLauncherActivity::class.java) } + @Test + fun testRoadShiGong(): Unit = runBlocking { + val arguments = InstrumentationRegistry.getArguments() + val millis = arguments.getString("delay", "0").toLong() + if (millis > 0) { + delay(millis) + } + FunctionBuildConfig.isNewV2NData = true + FunctionBuildConfig.v2nMainSwitch = true + runCatching { + val map = HashMap().also { + it["f1"] = FunctionBuildConfig.v2nMainSwitch + it["f2"] = FunctionBuildConfig.isNewV2NData + } + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_NEW_LINK_SWITCH, GsonUtils.toJson(map).toByteArray()) + } + delay(2000) + val targetX = arguments.getString("lon", "0").toDouble() + val targetY = arguments.getString("lat", "0").toDouble() + val targetDistance = arguments.getString("distance", "0").toDouble() + val eventDistance = arguments.getString("event_distance", "50").toDouble() + val r = arguments.getString("r", "1").toDouble() + var car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + var distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY) + Log.d(TAG, "target_distance: $targetDistance, current distance: $distance, event_distance: $eventDistance") + while (distance > targetDistance) { + delay(2000) + car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY) + Log.d(TAG, "target_distance: $targetDistance, current distance: $distance") + } + car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + val point = DrivingDirectionUtils.calculateNewPoint(car.longitude, car.latitude, car.heading , eventDistance) + val polygon = generateTriangle(point.first, point.second, car.heading, r * 1e-5) + val data = TrackedObject.getDefaultInstance().toBuilder().setType(501).setLongitude(point.first).setLatitude(point.second).setAltitude(0.0).setSystemTime(System.currentTimeMillis() * 1.0 / 1000).setSatelliteTime(1.0).setUuid(10).setCarID("1").setColor("#ffffff").setHeading(car.heading).setSpeed(0.0).setDrawLevel(1).setDriverTime(1.0).setCameraIp("172.18.7.40").setVideoUrl("").addAllImageUrl(Collections.singletonList("http://www.baidu.com")).addAllPolygon(polygon.map { Location.getDefaultInstance().toBuilder().setLongitude(it.first).setLatitude(it.second).setAltitude(0.0).setHeading(0.0).setStation(false).build() }).setDetectStartTime(System.currentTimeMillis()).setV2XUuid("xxxxx1").setStrUuid("xxxxx2").build() + val trafficData = Collections.singletonList(data) + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_SHI_GONG, data.toByteArray()) + CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(trafficData) + delay(TimeUnit.MINUTES.toMillis(10)) + } + + @Test + fun testRoadShiGu(): Unit = runBlocking { + val arguments = InstrumentationRegistry.getArguments() + val millis = arguments.getString("delay", "0").toLong() + if (millis > 0) { + delay(millis) + } + FunctionBuildConfig.isNewV2NData = true + FunctionBuildConfig.v2nMainSwitch = true + runCatching { + val map = HashMap().also { + it["f1"] = FunctionBuildConfig.v2nMainSwitch + it["f2"] = FunctionBuildConfig.isNewV2NData + } + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_NEW_LINK_SWITCH, GsonUtils.toJson(map).toByteArray()) + } + delay(2000) + val targetX = arguments.getString("lon", "0").toDouble() + val targetY = arguments.getString("lat", "0").toDouble() + val targetDistance = arguments.getString("distance", "0").toDouble() + val eventDistance = arguments.getString("event_distance", "0").toDouble() + val r = arguments.getString("r", "1").toDouble() + var car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + var distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY) + Log.d(TAG, "target_distance: $targetDistance, current distance: $distance, event_distance: $eventDistance") + while (distance > targetDistance) { + delay(2000) + car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY) + Log.d(TAG, "target_distance: $targetDistance, current distance: $distance") + } + car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + val point = DrivingDirectionUtils.calculateNewPoint(car.longitude, car.latitude, car.heading , eventDistance) + val polygon = generateTriangle(point.first, point.second, car.heading, r * 1e-5) + val data = TrackedObject.getDefaultInstance().toBuilder().setType(13).setLongitude(point.first).setLatitude(point.second).setAltitude(0.0).setSystemTime(System.currentTimeMillis() * 1.0 / 1000).setSatelliteTime(1.0).setUuid(10).setCarID("1").setColor("#ffffff").setHeading(car.heading).setSpeed(0.0).setDrawLevel(1).setDriverTime(1.0).setCameraIp("172.18.7.40").setVideoUrl("").addAllImageUrl(Collections.singletonList("http://www.baidu.com")).addAllPolygon(polygon.map { Location.getDefaultInstance().toBuilder().setLongitude(it.first).setLatitude(it.second).setAltitude(0.0).setHeading(0.0).setStation(false).build() }).setDetectStartTime(System.currentTimeMillis()).setV2XUuid("xxxxx1").setStrUuid("xxxxx2").build() + val trafficData = Collections.singletonList(data) + CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_SHI_GU, data.toByteArray()) + CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(trafficData) + delay(TimeUnit.MINUTES.toMillis(10)) + } + + private fun generateTriangle(x: Double, y: Double, angle: Double, r: Double): List> { + val angles = arrayOf(0, 120, 240) + val coordinates = ArrayList>() + for(i in 0 until 3) { + val radian = Math.toRadians(angles[i] + angle) + val x1 = x + (r * cos(radian)) + val y1 = y + (r * sin(radian)) + coordinates += Pair(x1, y1) + } + coordinates.add(coordinates[0]) + return coordinates + } @Test fun testGreenWave(): Unit = runBlocking { @@ -164,8 +263,6 @@ class V2NTest { Log.d(TAG, "location:[x:${targetX}, y:${targetY}, new_location:[x:${newPoint.first}, y:${newPoint.second}]") FunctionBuildConfig.isNewV2NData = true FunctionBuildConfig.v2nMainSwitch = true - FunctionBuildConfig.isNewV2NData = true - FunctionBuildConfig.v2nMainSwitch = true runCatching { val map = HashMap().also { it["f1"] = FunctionBuildConfig.v2nMainSwitch diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index 1422073312..34101dd922 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -6,36 +6,26 @@ import android.os.Message import android.text.TextUtils import android.util.Log import androidx.core.util.Pair -import com.google.gson.JsonArray -import com.google.gson.JsonObject import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.enums.CommunicationType import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.enums.EventTypeEnumNew -import com.mogo.eagle.core.data.enums.TrafficTypeEnum -import com.mogo.eagle.core.data.enums.WarningDirectionEnum.ALERT_WARNING_TOP import com.mogo.eagle.core.data.map.entity.MarkerExploreWay import com.mogo.eagle.core.data.map.entity.MarkerLocation import com.mogo.eagle.core.data.map.entity.V2XRoadEventEntity import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgBoxType.V2X import com.mogo.eagle.core.data.msgbox.V2XMsg -import com.mogo.eagle.core.function.angle.scenes.Default -import com.mogo.eagle.core.function.angle.scenes.RoadEvent import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener import com.mogo.eagle.core.function.api.autopilot.IMoGoV2nNioEventListener -import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener -import com.mogo.eagle.core.function.api.hmi.xiaozhi.event.V2N -import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager.V2NCarTypeCheck import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.hmi.CallerRoadV2NEventWindowListenerManager -import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager -import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -144,7 +134,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { it.location = e.location it.polygon = polygon } - }), true, isDrawRoadLine(poiType) + }, isUseGps = true), true, isDrawRoadLine(poiType) ) val distance = CoordinateUtils.calculateLineDistance( @@ -168,6 +158,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { ) ) if (polygon.isNotEmpty()) { + val decision = V2NUtils.computeOccupyLanesInfo(Triple(car.longitude, car.latitude, car.heading.toFloat()), Triple(itx.longitude, itx.latitude, itx.heading.toFloat()), polygon.map { kotlin.Pair(it.first, it.second) }) if (decision != null) { val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) @@ -330,12 +321,10 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } Logger.d(TAG, "cameraIp: $cameraIp, heading:$heading, uuid: $uuid") val newEventId = "other_retrograde_vehicle_${event.eventId}" + val isUseGps = event.gnssType != 0 + val eventLocation = if (isUseGps) arrayOf(event.longitude, event.latitude) else CoordinateTransform.GCJ02ToWGS84(event.longitude, event.latitude) + val carLocation = if (isUseGps) CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() else CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() AiRoadMarker.aiMakers.getOrPut(newEventId) { - val eventLocation = when (event.gnssType) { - 0 -> CoordinateTransform.GCJ02ToWGS84(event.longitude, event.latitude) - else -> arrayOf(event.longitude, event.latitude) - } - val carLocation = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() val distance = CoordinateUtils.calculateLineDistance(carLocation.longitude, carLocation.latitude, eventLocation[0], eventLocation[1]) if (distance > 150) { Logger.i(TAG, "other_retrograde_vehicle --> distance > 150") @@ -352,11 +341,11 @@ internal object V2NIdentifyDrawer: IEventDismissListener { isDriver, String.format(EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType), distance.toInt()), cameraIp.toString(), - event.longitude, - event.latitude) + eventLocation[0], + eventLocation[1]) AiRoadMarker() }.also { - it.marker(Marker(newEventId, EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType, event.longitude, event.latitude, 0.0), drawMarker = true, false, isHighFrequency = true) + it.marker(Marker(newEventId, EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType, eventLocation[0], eventLocation[1], heading, isUseGps = isUseGps), drawMarker = true, false, isHighFrequency = true) }.receive() } else if (msg.what == MSG_WHAT_DRAW_GREEN_WAVE) { val data = msg.obj as? V2nCrossSpeed ?: return@Callback true @@ -406,17 +395,19 @@ internal object V2NIdentifyDrawer: IEventDismissListener { } } Logger.d(TAG, "cameraIp: $cameraIp, heading:$heading, uuid: $uuid") + val isUseGps = data.gnssType != 0 + val eventLocation = if (isUseGps) arrayOf(data.longitude, data.latitude) else CoordinateTransform.GCJ02ToWGS84(data.longitude, data.latitude) + val carLocation = if (isUseGps) CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() else CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() + val distance = CoordinateUtils.calculateLineDistance(carLocation.longitude, carLocation.latitude, eventLocation[0], eventLocation[1]) AiRoadMarker.aiMakers.getOrPut(data.eventId) { Logger.i(TAG, "people cross -- 2 --") - val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) - val carLocation = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() - val distance = CoordinateUtils.calculateLineDistance(carLocation.longitude, carLocation.latitude, data.longitude, data.latitude) if (distance > 150) { Logger.i(TAG, "people cross --> distance > 150") V2XBizTrace.onAck(TAG, mapOf("people cross" to "distance > 150"), true) return@Callback true } Logger.i(TAG, "people cross -- 3 --") + val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) // 弹事件框 CallerRoadV2NEventWindowListenerManager.showLiveVideo( data.eventId, @@ -426,12 +417,12 @@ internal object V2NIdentifyDrawer: IEventDismissListener { isDriver, String.format(EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType), distance.toInt()), cameraIp.toString(), - data.longitude, - data.latitude) + eventLocation[0], + eventLocation[1]) AiRoadMarker() }.also { Logger.i(TAG, "people cross -- 4 --") - it.marker(Marker(data.eventId, EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType, data.longitude, data.latitude, heading), drawMarker = true, false, isHighFrequency = true) + it.marker(Marker(data.eventId, EventTypeEnumNew.TYPE_SOCKET_ROAD_PEOPLE_CROSS.poiType, eventLocation[0], eventLocation[1], heading, isUseGps = isUseGps), drawMarker = true, false, isHighFrequency = true) }.receive() } true diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt index c5a8a3a94b..342c9ec359 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/airoad/AiRoadMarker.kt @@ -107,7 +107,7 @@ class AiRoadMarker { val builder = getOrPutPointOptionBuilder(markerId, V2XConst.V2X_MARKER_OWNER, MAP_MARKER) builder .set3DMode(true) - .isUseGps(true) + .isUseGps(marker.isUseGps) .icon3DRes(EventTypeEnumNew.getMarker3DRes(marker.poiType)) .anchorColor("#D65D5AFF") .controlAngle(true) @@ -122,7 +122,7 @@ class AiRoadMarker { if (marker.poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_OTHER_RETROGRADE_VEHICLE.poiType) { distance = 100 } - val wrapper = MarkerWrapper(markerId, marker.poi_lon, marker.poi_lat, 1, elapsedDistance = distance) + val wrapper = MarkerWrapper(markerId, marker.poi_lon, marker.poi_lat, if (marker.isUseGps) 1 else 0, elapsedDistance = distance) wrapper.onRemoved = { builders.remove(markerId) markerIds.remove(p.id) @@ -153,7 +153,7 @@ class AiRoadMarker { if (marker.poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_GREE_WAVE.poiType) { elapsedDuration = TimeUnit.SECONDS.toMillis(3) } - val wrapper = MarkerWrapper(markerId, marker.poi_lon, marker.poi_lat, 1, elapsedDistance = elapsedDistance, elapsedDuration = elapsedDuration) + val wrapper = MarkerWrapper(markerId, marker.poi_lon, marker.poi_lat, if (marker.isUseGps) 1 else 0, elapsedDistance = elapsedDistance, elapsedDuration = elapsedDuration) if (drawMarker) { marker.entity?.apply { roadMarker.drawMarkers(this, wrapper) } } @@ -371,6 +371,7 @@ class AiRoadMarker { val polygon: List>? = null, var farthestPoint: Pair? = null, var entity: V2XRoadEventEntity? = null, + var isUseGps: Boolean = false ) { override fun equals(other: Any?): Boolean { diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventMarker.java b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventMarker.java index 2353f53d63..b6de8c06b4 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventMarker.java +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XRoadEventMarker.java @@ -47,7 +47,7 @@ public class V2XRoadEventMarker implements IV2XMarker { List> polygons = noveltyInfo.getPolygon(); if (gpsLocation != null && polygons != null) { MarkerLocation location = noveltyInfo.getLocation(); - AiRoadMarker.Marker m = new AiRoadMarker.Marker(noveltyInfo.getInfoId(), noveltyInfo.getPoiType(), gpsLocation.second, gpsLocation.first, location.getAngle(), polygons, null, entity); + AiRoadMarker.Marker m = new AiRoadMarker.Marker(noveltyInfo.getInfoId(), noveltyInfo.getPoiType(), gpsLocation.second, gpsLocation.first, location.getAngle(), polygons, null, entity, false); AiRoadMarker aiMarker = new AiRoadMarker(); aiMarker.marker(m, true, isDrawRoadLine(m.getPoiType()), false); AiRoadMarker.aiMakers.put(noveltyInfo.getInfoId(), aiMarker); diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt index 2d58dfb4d9..b277f967e6 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/telematic/TeleMsgHandler.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.data.v2x.V2XEvent.RoadEventX import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setDemoMode import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.setIgnoreConditionDraw +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager @@ -37,7 +38,9 @@ import io.netty.channel.Channel import kotlinx.coroutines.delay import kotlinx.coroutines.launch import mogo.telematics.pad.MessagePad +import mogo.telematics.pad.MessagePad.TrackedObject import java.nio.charset.Charset +import java.util.Collections class TeleMsgHandler : IMsgHandler { @@ -103,6 +106,22 @@ class TeleMsgHandler : IMsgHandler { } return } + if (it.protocolType == TelematicConstant.V2N_AI_ROAD_SHI_GONG) { + runCatching { + Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路施工 --- 1 ---") + CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(Collections.singletonList(TrackedObject.parseFrom(msg.body))) + Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路施工 --- 2 ---") + } + return + } + if (it.protocolType == TelematicConstant.V2N_AI_ROAD_SHI_GU) { + runCatching { + Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路事故 --- 1 ---") + CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(Collections.singletonList(TrackedObject.parseFrom(msg.body))) + Log.d(TAG, "乘客屏收到司机屏转发云端下发的道路事故 --- 2 ---") + } + return + } if (it.protocolType == TelematicConstant.V2N_NEW_LINK_SWITCH) { try { Log.d(TAG, "乘客屏收到司机屏转发的新链路开关 --- 1 ---") diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt index 8d5d056f79..d9491b76a2 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/multidisplay/TelematicConstant.kt @@ -19,10 +19,16 @@ class TelematicConstant { const val V2N_NEW_LINK_SWITCH = 202 // FunctionBuildConfig#v2nMainSwitch & FunctionBuildConfig#isNewV2NData + // -------------------- For Android Unit Test -----BEGIN------------ const val V2N_AI_ROAD_PEOPLE_CROSS = 203 const val V2N_AI_ROAD_GREEN_WAVE = 204 const val V2N_AI_ROAD_OTHER_RETROGRADE_VEHICLE = 205 + + const val V2N_AI_ROAD_SHI_GONG = 206 + + const val V2N_AI_ROAD_SHI_GU = 207 + // -------------------- For Android Unit Test ------ END ------------ } } \ No newline at end of file From 2eeecf2b33bcba5b038841227e2081403e6660dc Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 10 Jul 2024 16:52:41 +0800 Subject: [PATCH 10/14] =?UTF-8?q?[6.5.0]=E8=B0=83=E6=95=B4=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=8E=A2=E6=9F=A5UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/taxi_p_base_fragment.xml | 5 +++-- .../src/main/res/layout/taxt_u_p_base_fragment.xml | 4 ++-- .../main/res/layout/view_automatic_exploration_p.xml | 10 +++++++--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml index a87c3283bf..9f40bafdc9 100644 --- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -205,10 +205,11 @@ diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml index f41aa0c865..10f8ee1752 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxt_u_p_base_fragment.xml @@ -109,9 +109,9 @@ Date: Wed, 10 Jul 2024 17:09:53 +0800 Subject: [PATCH 11/14] =?UTF-8?q?[6.5.0]=E8=87=AA=E5=8A=A8=E6=8E=A2?= =?UTF-8?q?=E6=9F=A5=E4=B9=98=E5=AE=A2=E5=B1=8F=E4=B8=8D=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/notice/exploration/AutomaticExplorationView.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt index 29b00d4376..1e3dec751f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt @@ -14,6 +14,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.autopilot.AutopilotSummaryInfo +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgBoxType import com.mogo.eagle.core.data.msgbox.MsgCategory @@ -21,6 +22,7 @@ import com.mogo.eagle.core.data.notice.AutoExplorationEntity import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxListener import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils @@ -127,8 +129,10 @@ class AutomaticExplorationView @JvmOverloads constructor( if(allComplete){ //停止左上角扫描动画 rotationAnim?.cancel() - //语音播放 - AIAssist.getInstance(context).speakTTSVoice("道路畅通一切正常蘑菇型车助手将持续守候您的出行") + //语音播放,只在司机端播放 + if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + AIAssist.getInstance(context).speakTTSVoice("道路畅通一切正常蘑菇型车助手将持续守候您的出行") + } //5秒后关闭弹窗 val hideViewTimer =object: CountDownTimer(EXPLORATION_HIDE_TIME,EXPLORATION_HIDE_TIME){ override fun onTick(millisUntilFinished: Long) { From 52f0c05cafaa6ce3f0adf05afc47ca92f9338402 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 10 Jul 2024 17:11:19 +0800 Subject: [PATCH 12/14] =?UTF-8?q?[6.5.0]=20[fea]=20[taxi=20=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=8A=B6=E6=80=81=E6=9E=9A=E4=B8=BE=E7=BB=9F=E4=B8=80?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/biz/order}/TaxiOrderStatusEnum.kt | 2 +- .../com/mogo/och/taxi/model/TaxiModel.java | 2 +- .../och/taxi/presenter/TaxiPresenter.java | 2 +- .../ui/TaxiBeingServerdOrdersFragment.java | 2 +- .../com/mogo/och/taxi/ui/TaxiFragment.java | 3 +- .../och/taxi/ui/TaxiOrderCancelDialog.java | 2 +- .../taxi/ui/TaxiPersonalDialogFragment.java | 2 +- .../och/taxi/utils/TaxiTrajectoryManager.java | 2 +- .../taxi/passenger/model/AutopilotManager.kt | 7 ++- .../passenger/model/TaxiPassengerModel.kt | 28 +++++------ .../presenter/BaseTaxiPassengerPresenter.kt | 32 ++++++------- .../ChekAndStartAutopilotViewModel.kt | 6 +-- .../ui/orderinfo/OrderInfoViewModel.kt | 4 +- .../passenger/ui/model/music/MusicModel.kt | 21 ++++----- .../order/TaxiPassengerOrderStatusEnum.kt | 47 ------------------- .../taxi/bean/TaxiDriverTaskWithOrderBean.kt | 2 +- .../taxi/constant/TaxiOrderStatusEnum.kt | 47 ------------------- .../och/unmanned/taxi/ui/base/TaxiFragment.kt | 5 +- .../och/unmanned/taxi/ui/debug/DebugView.kt | 2 +- .../taxi/ui/operational/TaskOrOrderAdapter.kt | 2 +- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 2 +- .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 2 +- .../taxi/ui/task/TaxiOrderCancelDialog.java | 2 +- .../unmanned/taxi/ui/task/TaxiTaskModel.kt | 3 +- .../passenger/model/AutopilotManager.kt | 6 +-- .../passenger/model/TaxiPassengerModel.kt | 36 +++++++------- .../presenter/BaseTaxiPassengerPresenter.kt | 34 +++++++------- .../ChekAndStartAutopilotViewModel.kt | 6 +-- .../ui/orderinfo/OrderInfoViewModel.kt | 4 +- 29 files changed, 108 insertions(+), 207 deletions(-) rename OCH/{taxi/driver/src/main/java/com/mogo/och/taxi/constant => common/common/src/main/java/com/mogo/och/common/module/biz/order}/TaxiOrderStatusEnum.kt (96%) delete mode 100644 OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/order/TaxiPassengerOrderStatusEnum.kt delete mode 100644 OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderStatusEnum.kt diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderStatusEnum.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/TaxiOrderStatusEnum.kt similarity index 96% rename from OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderStatusEnum.kt rename to OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/TaxiOrderStatusEnum.kt index ca487e1b5e..3cc82e47de 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/constant/TaxiOrderStatusEnum.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/order/TaxiOrderStatusEnum.kt @@ -1,4 +1,4 @@ -package com.mogo.och.taxi.constant +package com.mogo.och.common.module.biz.order /** * Created on 2021/12/7 diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 6e217edebe..8294d44822 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -79,7 +79,7 @@ import com.mogo.och.taxi.callback.ITaxiCarOperationalCallback; import com.mogo.och.taxi.callback.ITaxiControllerStatusCallback; import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback; import com.mogo.och.taxi.constant.TaxiConst; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.constant.TaxiOrderTypeEnum; import com.mogo.och.taxi.network.TaxiServiceManager; import com.mogo.och.taxi.utils.OrderUtil; diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index 9d31fb1fa5..3acc53fd06 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -30,7 +30,7 @@ import com.mogo.och.taxi.callback.ITaxiADASStatusCallback; import com.mogo.och.taxi.callback.ITaxiControllerStatusCallback; import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback; import com.mogo.och.taxi.constant.TaxiConst; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.model.TaxiModel; import com.mogo.och.taxi.ui.TaxiFragment; diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java index 5adaa3e343..956bd55af2 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java @@ -41,7 +41,7 @@ import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.common.module.wigets.OCHCommitDialog; import com.mogo.och.taxi.R; import com.mogo.och.taxi.constant.TaxiConst; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean; import com.mogo.och.taxi.model.TaxiModel; diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index dc46c9fc7f..37c46179ab 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -15,7 +15,6 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.fragment.app.FragmentTransaction; -import com.mogo.commons.AbsMogoApplication; import com.mogo.eagle.core.data.temp.EventLogout; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -23,7 +22,7 @@ import com.mogo.map.overlay.IMoGoOverlayManager; import com.mogo.och.common.module.biz.login.LoginStatusManager; import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum; import com.mogo.och.taxi.R; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean; import com.mogo.och.taxi.model.TaxiModel; diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java index 8acfaee0be..43ba8495ed 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java @@ -25,7 +25,7 @@ import androidx.annotation.RequiresApi; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ToastUtils; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.R; import com.mogo.och.taxi.constant.TaxiOrderCancelReasons; diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java index 467b7ffd03..a948351547 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/TaxiPersonalDialogFragment.java @@ -35,7 +35,7 @@ import com.google.android.material.tabs.TabLayout; import com.mogo.commons.mvp.MvpDialogFragment; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.common.module.utils.DateTimeUtil; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.R; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.constant.TaxiOrderTypeEnum; diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java index e48c6c56c3..29057170d9 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/utils/TaxiTrajectoryManager.java @@ -9,7 +9,7 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.constant.TaxiConst; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import com.mogo.och.taxi.model.TaxiModel; import java.util.concurrent.TimeUnit; diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt index 6ba57e5115..48cd54da14 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/AutopilotManager.kt @@ -23,10 +23,9 @@ import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.passenger.bean.TaxiPassengerBaseRespBean import com.mogo.och.taxi.passenger.bean.TaxiPassengerStartReqBean -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager -import java.lang.StringBuilder object AutopilotManager : IOchAutopilotStatusListener { @@ -53,7 +52,7 @@ object AutopilotManager : IOchAutopilotStatusListener { ToastUtils.showShort("当前订单不存在或异常!") return "当前订单不存在或异常!" } - if (TaxiPassengerModel.currentOCHOrder!!.orderStatus == TaxiPassengerOrderStatusEnum.UserArriveAtStart.code) { + if (TaxiPassengerModel.currentOCHOrder!!.orderStatus == TaxiOrderStatusEnum.UserArriveAtStart.code) { startServicePilotDone() } //1、判断轨迹Id是否可用 @@ -205,7 +204,7 @@ object AutopilotManager : IOchAutopilotStatusListener { // 启动自驾成功 when (state) { IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiPassengerOrderStatusEnum.UserArriveAtStart) { + if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiOrderStatusEnum.UserArriveAtStart) { TaxiPassengerAnalyticsManager.triggerStartAutopilotEvent( false, true, diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index a2dc7ddf4f..c423e1f062 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -33,8 +33,8 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum.Companion.valueOf +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum.Companion.valueOf import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager import com.mogo.och.taxi.passenger.ui.model.order.OrderModel import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager @@ -179,7 +179,7 @@ object TaxiPassengerModel { object : OchCommonServiceCallback { override fun onSuccess(data: TaxiPassengerOrderQueryRespBean) { if (data.data != null && currentOCHOrder != null && currentOCHOrder!!.orderNo == data.data.orderNo) { - if (data.data.orderStatus == TaxiPassengerOrderStatusEnum.Cancel.code || data.data.orderStatus == TaxiPassengerOrderStatusEnum.JourneyCompleted.code || data.data.orderStatus == TaxiPassengerOrderStatusEnum.None.code) { + if (data.data.orderStatus == TaxiOrderStatusEnum.Cancel.code || data.data.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.code || data.data.orderStatus == TaxiOrderStatusEnum.None.code) { currentOCHOrder = data.data orderStatusChange() currentOCHOrder = null @@ -196,11 +196,11 @@ object TaxiPassengerModel { } // 获取当前订单状态 - val curOrderStatus: TaxiPassengerOrderStatusEnum + val curOrderStatus: TaxiOrderStatusEnum get() { val order: TaxiPassengerOrderQueryRespBean.Result = currentOCHOrder - ?: return TaxiPassengerOrderStatusEnum.None + ?: return TaxiOrderStatusEnum.None return valueOf(order.orderStatus) } @@ -258,7 +258,7 @@ object TaxiPassengerModel { phoneTail, object : OchCommonServiceCallback { override fun onSuccess(data: TaxiPassengerBaseRespBean) { if (data.code == 0 && currentOCHOrder != null) { - currentOCHOrder!!.orderStatus = TaxiPassengerOrderStatusEnum.UserArriveAtStart.code + currentOCHOrder!!.orderStatus = TaxiOrderStatusEnum.UserArriveAtStart.code //乘客验证成功,更新订单状态为 "乘客已上车", 立马弹出乘客开始行程页面,不再等待轮询 orderStatusChange() VoiceNotice.showNotice("验证成功!关闭车门并佩戴安全带后开启行程吧!", AIAssist.LEVEL2) @@ -283,15 +283,15 @@ object TaxiPassengerModel { private fun orderStatusChangeInner() { when (curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { + TaxiOrderStatusEnum.OnTheWayToStart -> { } - TaxiPassengerOrderStatusEnum.ArriveAtStart -> { + TaxiOrderStatusEnum.ArriveAtStart -> { } - TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { + TaxiOrderStatusEnum.UserArriveAtStart -> { //开启轮询司机是否已准备好开启自动驾驶的环境 setStation() } - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + TaxiOrderStatusEnum.OnTheWayToEnd -> { CallerFuncBizManager.bizProvider.queryV2XEvents() //全览模式的V2X事件轮询开始 //startOrStopQueryOrderRemaining(true) AutopilotManager.updateAutopilotControlParameters() @@ -299,24 +299,24 @@ object TaxiPassengerModel { setStation() CallerOrderListenerManager.invokeOrderStatus(true) } - TaxiPassengerOrderStatusEnum.ArriveAtEnd -> { + TaxiOrderStatusEnum.ArriveAtEnd -> { AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) CallerOrderListenerManager.invokeOrderStatus(false) cleanStation() } - TaxiPassengerOrderStatusEnum.JourneyCompleted -> { + TaxiOrderStatusEnum.JourneyCompleted -> { AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) cleanStation() } - TaxiPassengerOrderStatusEnum.Cancel -> { + TaxiOrderStatusEnum.Cancel -> { AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) startOrStopReadyToAutopilotLoop(false) cleanStation() } - TaxiPassengerOrderStatusEnum.None -> TODO() + TaxiOrderStatusEnum.None -> TODO() } } diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt index 2253f7aeb1..21a45e9958 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt @@ -10,7 +10,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.model.AutopilotManager import com.mogo.och.taxi.passenger.model.TaxiPassengerModel import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment @@ -65,7 +65,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : order?.let { setItineraryVisibility() when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { + TaxiOrderStatusEnum.OnTheWayToStart -> { // 10 接驾中 mView?.showOrHideCheckAndStartAutopilotView(3) @@ -73,19 +73,19 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : overMapViewClear() } - TaxiPassengerOrderStatusEnum.ArriveAtStart -> { + TaxiOrderStatusEnum.ArriveAtStart -> { // 20 司机到达上车点 mView?.showOrHideCheckAndStartAutopilotView(0) overMapViewClear() } - TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { + TaxiOrderStatusEnum.UserArriveAtStart -> { // 30 乘客到达上车点 mView?.showOrHideCheckAndStartAutopilotView(1) overMapViewClear() } - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + TaxiOrderStatusEnum.OnTheWayToEnd -> { // 服务中(去往目的地) mView?.showOrHideArrivedEndLayout(isShow = false) mView?.showOrHideCheckAndStartAutopilotView(2) @@ -93,18 +93,18 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : overMapViewShow() } - TaxiPassengerOrderStatusEnum.ArriveAtEnd -> { + TaxiOrderStatusEnum.ArriveAtEnd -> { // 50 到达终点 乘客可以评价 mView?.showOrHideArrivedEndLayout(true) overMapViewClear() } - TaxiPassengerOrderStatusEnum.JourneyCompleted -> { + TaxiOrderStatusEnum.JourneyCompleted -> { // 60 行程完成 mView?.showOrHideCheckAndStartAutopilotView(3) mView?.showOrHideArrivedEndLayout(false) overMapViewClear() } - TaxiPassengerOrderStatusEnum.Cancel -> { + TaxiOrderStatusEnum.Cancel -> { // 70 取消订单 mView?.showOrHideCheckAndStartAutopilotView(3) mView?.showOrHideArrivedEndLayout(isShow = false) @@ -133,14 +133,14 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : fun setItineraryVisibility() { UiThreadHandler.post { when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.None, - TaxiPassengerOrderStatusEnum.OnTheWayToStart, - TaxiPassengerOrderStatusEnum.ArriveAtStart, - TaxiPassengerOrderStatusEnum.JourneyCompleted, - TaxiPassengerOrderStatusEnum.ArriveAtEnd, - TaxiPassengerOrderStatusEnum.Cancel -> mView?.showOrHideServingOrderFragment(false) - TaxiPassengerOrderStatusEnum.UserArriveAtStart, - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> mView?.showOrHideServingOrderFragment(true) + TaxiOrderStatusEnum.None, + TaxiOrderStatusEnum.OnTheWayToStart, + TaxiOrderStatusEnum.ArriveAtStart, + TaxiOrderStatusEnum.JourneyCompleted, + TaxiOrderStatusEnum.ArriveAtEnd, + TaxiOrderStatusEnum.Cancel -> mView?.showOrHideServingOrderFragment(false) + TaxiOrderStatusEnum.UserArriveAtStart, + TaxiOrderStatusEnum.OnTheWayToEnd -> mView?.showOrHideServingOrderFragment(true) } } } diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt index bd995ffa64..9dea09ad2f 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt @@ -1,7 +1,7 @@ package com.mogo.och.taxi.passenger.ui.checkstartautopilot import androidx.lifecycle.ViewModel -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean import com.mogo.och.taxi.passenger.ui.model.order.OrderListener import com.mogo.och.taxi.passenger.ui.model.order.OrderModel @@ -33,10 +33,10 @@ class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener { override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) { when (order?.orderStatus) { - TaxiPassengerOrderStatusEnum.ArriveAtStart.code -> { + TaxiOrderStatusEnum.ArriveAtStart.code -> { // 显示手机号验证 } - TaxiPassengerOrderStatusEnum.UserArriveAtStart.code -> { + TaxiOrderStatusEnum.UserArriveAtStart.code -> { // 显示启动自驾 } else -> { diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt index b6185f3725..2c3a95e54e 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/orderinfo/OrderInfoViewModel.kt @@ -7,7 +7,7 @@ import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.model.TaxiPassengerModel import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean import com.mogo.och.taxi.passenger.ui.model.order.OrderListener @@ -78,7 +78,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, Ord } } when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + TaxiOrderStatusEnum.OnTheWayToEnd -> { } else ->{ diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt index 8cff801ca8..52d9355649 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt @@ -2,7 +2,6 @@ package com.mogo.och.taxi.passenger.ui.model.music import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.utilcode.util.TAG import com.mogo.och.common.module.manager.audition.AuditionManager import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener @@ -11,7 +10,7 @@ import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean import com.mogo.och.taxi.passenger.ui.model.order.OrderListener import com.mogo.och.taxi.passenger.ui.model.order.OrderModel -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import io.reactivex.disposables.Disposable object MusicModel : OrderListener, IOchAutopilotStatusListener { @@ -29,26 +28,26 @@ object MusicModel : OrderListener, IOchAutopilotStatusListener { override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) { this.orderInfo = order order?.orderStatus?.let { - when (TaxiPassengerOrderStatusEnum.valueOf(it)) { - TaxiPassengerOrderStatusEnum.None -> { + when (TaxiOrderStatusEnum.valueOf(it)) { + TaxiOrderStatusEnum.None -> { cancelStopMusicDisposable() } - TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { + TaxiOrderStatusEnum.OnTheWayToStart -> { cancelStopMusicDisposable() } - TaxiPassengerOrderStatusEnum.ArriveAtStart -> { + TaxiOrderStatusEnum.ArriveAtStart -> { cancelStopMusicDisposable() } - TaxiPassengerOrderStatusEnum.UserArriveAtStart -> {} - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> {} - TaxiPassengerOrderStatusEnum.ArriveAtEnd -> {} - TaxiPassengerOrderStatusEnum.JourneyCompleted -> { + TaxiOrderStatusEnum.UserArriveAtStart -> {} + TaxiOrderStatusEnum.OnTheWayToEnd -> {} + TaxiOrderStatusEnum.ArriveAtEnd -> {} + TaxiOrderStatusEnum.JourneyCompleted -> { cancelStopMusicDisposable() stopMusicDisposable = RxUtils.createSubscribe(60_000) { AuditionManager.stop() } } - TaxiPassengerOrderStatusEnum.Cancel -> { + TaxiOrderStatusEnum.Cancel -> { cancelStopMusicDisposable() stopMusicDisposable = RxUtils.createSubscribe(60_000) { AuditionManager.stop() diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/order/TaxiPassengerOrderStatusEnum.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/order/TaxiPassengerOrderStatusEnum.kt deleted file mode 100644 index 1445172de8..0000000000 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/order/TaxiPassengerOrderStatusEnum.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.och.taxi.passenger.ui.model.order - -/** - * Created on 2021/12/7 - * - * * Old code:START - * 未派单 0 - * 去往上车站点 1 - * 车辆已到达上车站点 2 - * 乘客已到达上车站点 3 - * 去往下车站点 4 - * 到达下车站点 5 - * 已完成 6 - * 已取消 7 - * Old code:END - * - * 0 订单创建(为派单), - * 10 已派上司机(司机去往上车点), - * 20 司机到达上车点, - * 30 乘客到达上车点, - * 40 服务中(去往目的地), - * 50 到达目的地, - * 60 已完成, - * 70 已取消 - */ -enum class TaxiPassengerOrderStatusEnum(val code: Int) { - None( 0 ), - OnTheWayToStart( 10), - ArriveAtStart( 20), - UserArriveAtStart( 30), - OnTheWayToEnd( 40), - ArriveAtEnd( 50), - JourneyCompleted(60),//行程完成 - Cancel( 70); - - companion object { - @JvmStatic - fun valueOf(code: Int): TaxiPassengerOrderStatusEnum { - for (value in values()) { - if (value.code == code) { - return value - } - } - return None - } - } -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt index e6f292801c..a38b882ba0 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt @@ -2,7 +2,7 @@ package com.mogo.och.unmanned.taxi.bean import com.mogo.eagle.core.data.BaseData import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum /** * @author: wangmingjun diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderStatusEnum.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderStatusEnum.kt deleted file mode 100644 index cbe2724f4d..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderStatusEnum.kt +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.och.unmanned.taxi.constant - -/** - * Created on 2021/12/7 - * - * * Old code:START - * 未派单 0 - * 去往上车站点 1 - * 车辆已到达上车站点 2 - * 乘客已到达上车站点 3 - * 去往下车站点 4 - * 到达下车站点 5 - * 已完成 6 - * 已取消 7 - * Old code:END - * - * 0 订单创建(为派单), - * 10 已派上司机(司机去往上车点), - * 20 司机到达上车点, - * 30 乘客到达上车点, - * 40 服务中(去往目的地), - * 50 到达目的地, - * 60 已完成, - * 70 已取消 - */ -enum class TaxiOrderStatusEnum(val code: Int) { - None( 0 ), - OnTheWayToStart( 10), - ArriveAtStart( 20), - UserArriveAtStart( 30), - OnTheWayToEnd( 40), - ArriveAtEnd( 50), - JourneyCompleted(60),//行程完成 - Cancel( 70); - - companion object { - @JvmStatic - fun valueOf(code: Int): TaxiOrderStatusEnum? { - for (value in values()) { - if (value.code == code) { - return value - } - } - return None - } - } -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt index 67cced8ab7..14830d9b93 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/base/TaxiFragment.kt @@ -6,8 +6,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.FragmentTransaction -import com.mogo.commons.AbsMogoApplication - import com.mogo.commons.module.status.IMogoStatusChangedListener +import com.mogo.commons.module.status.IMogoStatusChangedListener import com.mogo.commons.module.status.MogoStatusManager import com.mogo.commons.module.status.StatusDescriptor import com.mogo.eagle.core.data.temp.EventLogout @@ -21,7 +20,7 @@ import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum import com.mogo.och.common.module.utils.FlowBus import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.unmanned.taxi.ui.operational.TaxiOperationalDialogFragment import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingFragment import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt index bcf01580af..d002438123 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt @@ -32,7 +32,7 @@ import com.mogo.och.unmanned.taxi.bean.TrajectoryListRespBean import com.mogo.och.unmanned.taxi.callback.ITaxiTaskWithOrderCallback import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel import kotlinx.android.synthetic.main.unmanned_taxi_debug_order.view.btnContainer import kotlinx.android.synthetic.main.unmanned_taxi_debug_order.view.currentBusinessModeTextView diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt index 7dd0678120..9246cd0ebf 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/operational/TaskOrOrderAdapter.kt @@ -20,7 +20,7 @@ import com.mogo.och.unmanned.taxi.bean.QueryOrdersRespBean import com.mogo.och.unmanned.taxi.bean.QueryTaskRespBean import com.mogo.och.unmanned.taxi.constant.OperationalOrderStatusEnum import com.mogo.och.unmanned.taxi.constant.StationTypeEnum -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum /** * @author: wangmingjun 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 8124cfed5b..7066e489f3 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 @@ -23,6 +23,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.map.ICommonNaviChangedCallback @@ -37,7 +38,6 @@ import com.mogo.och.unmanned.taxi.bean.StartServiceRespBean 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.constant.TaxiOrderStatusEnum import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_END_MAP_MAKER 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 diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskViewModel.kt index a9df3a977d..1039f9e12d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.network.OchCommonServiceCallback @@ -31,7 +32,6 @@ import com.mogo.och.unmanned.taxi.callback.ITaxiCarServiceCallback import com.mogo.och.unmanned.taxi.callback.ITaxiTaskWithOrderCallback import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst import com.mogo.och.unmanned.taxi.network.TaxiTaskWithOrderServiceManager import com.mogo.och.unmanned.taxi.ui.debug.DebugView 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/TaxiOrderCancelDialog.java index 58fdc7d207..ddd170a5f3 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/TaxiOrderCancelDialog.java @@ -24,7 +24,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.och.unmanned.taxi.R; import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons; -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum; +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum; import java.lang.ref.WeakReference; diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt index 0b1c31c105..a3a814d961 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt @@ -30,7 +30,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.CoordinateUtils -import com.mogo.eagle.core.utilcode.util.DateTimeUtils import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.StringUtils @@ -70,7 +69,7 @@ import com.mogo.och.unmanned.taxi.callback.ITaxiOrderStatusCallback import com.mogo.och.unmanned.taxi.callback.ITaxiTaskWithOrderCallback import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum -import com.mogo.och.unmanned.taxi.constant.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.BUSINESSTYPE import com.mogo.och.unmanned.taxi.network.TaxiTaskWithOrderServiceManager diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt index b61efe64ab..7e01039091 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/AutopilotManager.kt @@ -18,7 +18,7 @@ import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotManage import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.voice.VoiceNotice -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.unmanned.passenger.bean.TaxiPassengerBaseRespBean import com.mogo.och.unmanned.passenger.constant.TaxiPassengerConst import com.mogo.och.unmanned.passenger.network.TaxiPassengerServiceManager @@ -52,7 +52,7 @@ object AutopilotManager : IOchAutopilotStatusListener { ToastUtils.showShort("当前订单不存在或异常!") return "当前订单不存在或异常!" } - if (TaxiPassengerModel.currentOCHOrder!!.orderStatus == TaxiPassengerOrderStatusEnum.UserArriveAtStart.code) { + if (TaxiPassengerModel.currentOCHOrder!!.orderStatus == TaxiOrderStatusEnum.UserArriveAtStart.code) { startAutoPilotServiceByPassenger() } TaxiPassengerModel.currentTrajectoryInfo?.let { @@ -198,7 +198,7 @@ object AutopilotManager : IOchAutopilotStatusListener { // 启动自驾成功 when (state) { IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiPassengerOrderStatusEnum.UserArriveAtStart) { + if (TaxiPassengerModel.currentOCHOrder != null && TaxiPassengerModel.curOrderStatus === TaxiOrderStatusEnum.UserArriveAtStart) { TaxiPassengerAnalyticsManager.triggerStartAutopilotEvent( false, true, diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/TaxiPassengerModel.kt index b8280ede11..609aa88782 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/model/TaxiPassengerModel.kt @@ -29,8 +29,8 @@ import com.mogo.och.common.module.manager.loop.LoopInfo import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.voice.VoiceNotice -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum.Companion.valueOf +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum.Companion.valueOf import com.mogo.och.taxi.passenger.ui.model.order.OrderModel import com.mogo.och.unmanned.passenger.bean.TaxiPassengerBaseRespBean import com.mogo.och.unmanned.passenger.bean.TaxiPassengerGetTrajectoryByLineIdRespBean @@ -216,8 +216,8 @@ object TaxiPassengerModel { currentOCHOrder = currentOrder orderStatusChange() } else if (currentOCHOrder?.orderStatus != currentOrder.orderStatus) { - if (currentOCHOrder?.orderStatus == TaxiPassengerOrderStatusEnum.UserArriveAtStart.code - && currentOrder.orderStatus < TaxiPassengerOrderStatusEnum.UserArriveAtStart.code + if (currentOCHOrder?.orderStatus == TaxiOrderStatusEnum.UserArriveAtStart.code + && currentOrder.orderStatus < TaxiOrderStatusEnum.UserArriveAtStart.code ) { // 0830 UserArriveAtStart 状态是乘客屏本地在用户验证后本地设置,而且因为后端查询数据有延迟 // 这里过下过滤,如果当前是UserArriveAtStart 且后端返回是之前状态,不更新数据 @@ -275,9 +275,9 @@ object TaxiPassengerModel { && currentOCHOrder != null && currentOCHOrder!!.orderNo == data.data.orderNo ) { - if (data.data.orderStatus == TaxiPassengerOrderStatusEnum.Cancel.code - || data.data.orderStatus == TaxiPassengerOrderStatusEnum.JourneyCompleted.code - || data.data.orderStatus == TaxiPassengerOrderStatusEnum.None.code + if (data.data.orderStatus == TaxiOrderStatusEnum.Cancel.code + || data.data.orderStatus == TaxiOrderStatusEnum.JourneyCompleted.code + || data.data.orderStatus == TaxiOrderStatusEnum.None.code ) { currentOCHOrder = data.data orderStatusChange() @@ -298,11 +298,11 @@ object TaxiPassengerModel { } // 获取当前订单状态 - val curOrderStatus: TaxiPassengerOrderStatusEnum + val curOrderStatus: TaxiOrderStatusEnum get() { val order: TaxiPassengerOrdersInServiceQueryRespBean.OrderBean = currentOCHOrder - ?: return TaxiPassengerOrderStatusEnum.None + ?: return TaxiOrderStatusEnum.None return valueOf(order.orderStatus) } @@ -376,7 +376,7 @@ object TaxiPassengerModel { override fun onSuccess(data: TaxiPassengerBaseRespBean) { if (data.code == 0 && currentOCHOrder != null) { currentOCHOrder!!.orderStatus = - TaxiPassengerOrderStatusEnum.UserArriveAtStart.code + TaxiOrderStatusEnum.UserArriveAtStart.code //乘客验证成功,更新订单状态为 "乘客已上车", 立马弹出乘客开始行程页面,不再等待轮询 orderStatusChange() VoiceNotice.showNotice( @@ -405,18 +405,18 @@ object TaxiPassengerModel { private fun orderStatusChangeInner() { when (curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { + TaxiOrderStatusEnum.OnTheWayToStart -> { } - TaxiPassengerOrderStatusEnum.ArriveAtStart -> { + TaxiOrderStatusEnum.ArriveAtStart -> { } - TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { + TaxiOrderStatusEnum.UserArriveAtStart -> { //开启轮询司机是否已准备好开启自动驾驶的环境 setStation() } - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + TaxiOrderStatusEnum.OnTheWayToEnd -> { CallerFuncBizManager.bizProvider.queryV2XEvents() //全览模式的V2X事件轮询开始 //startOrStopQueryOrderRemaining(true) AutopilotManager.updateAutopilotControlParameters() @@ -424,26 +424,26 @@ object TaxiPassengerModel { CallerOrderListenerManager.invokeOrderStatus(true) } - TaxiPassengerOrderStatusEnum.ArriveAtEnd -> { + TaxiOrderStatusEnum.ArriveAtEnd -> { AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) CallerOrderListenerManager.invokeOrderStatus(false) clearStation() } - TaxiPassengerOrderStatusEnum.JourneyCompleted -> { + TaxiOrderStatusEnum.JourneyCompleted -> { AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) clearStation() } - TaxiPassengerOrderStatusEnum.Cancel -> { + TaxiOrderStatusEnum.Cancel -> { AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) clearStation() } - TaxiPassengerOrderStatusEnum.None -> { + TaxiOrderStatusEnum.None -> { //AutopilotManager.clearAutopilotControlParameters() //startOrStopQueryOrderRemaining(false) clearStation() diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt index 0753d362b2..69fea381ad 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/presenter/BaseTaxiPassengerPresenter.kt @@ -9,7 +9,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager import com.mogo.och.unmanned.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean import com.mogo.och.taxi.passenger.ui.model.order.OrderListener import com.mogo.och.taxi.passenger.ui.model.order.OrderModel @@ -56,7 +56,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : private fun updateOrderView(order: TaxiPassengerOrdersInServiceQueryRespBean.OrderBean?) { setItineraryVisibility() when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { + TaxiOrderStatusEnum.OnTheWayToStart -> { // 10 接驾中 mView?.showOrHideCheckAndStartAutopilotView(3) @@ -64,19 +64,19 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : overMapViewClear() } - TaxiPassengerOrderStatusEnum.ArriveAtStart -> { + TaxiOrderStatusEnum.ArriveAtStart -> { // 20 司机到达上车点 mView?.showOrHideCheckAndStartAutopilotView(0) overMapViewClear() } - TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { + TaxiOrderStatusEnum.UserArriveAtStart -> { // 30 乘客到达上车点 mView?.showOrHideCheckAndStartAutopilotView(1) overMapViewClear() } - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + TaxiOrderStatusEnum.OnTheWayToEnd -> { // 服务中(去往目的地) mView?.showOrHideArrivedEndLayout(isShow = false) @@ -85,13 +85,13 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : overMapViewShow() } - TaxiPassengerOrderStatusEnum.ArriveAtEnd -> { + TaxiOrderStatusEnum.ArriveAtEnd -> { // 50 到达终点 乘客可以评价 mView?.showOrHideArrivedEndLayout(true) overMapViewClear() } - TaxiPassengerOrderStatusEnum.JourneyCompleted -> { + TaxiOrderStatusEnum.JourneyCompleted -> { // 60 行程完成 mView?.showOrHideCheckAndStartAutopilotView(3) @@ -99,7 +99,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : overMapViewClear() } - TaxiPassengerOrderStatusEnum.Cancel -> { + TaxiOrderStatusEnum.Cancel -> { // 70 取消订单 mView?.showOrHideCheckAndStartAutopilotView(3) @@ -107,7 +107,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : overMapViewClear() } - TaxiPassengerOrderStatusEnum.None -> { + TaxiOrderStatusEnum.None -> { // 00 默认状态,在不同任务之间切换时使用 mView?.showOrHideCheckAndStartAutopilotView(3) @@ -129,14 +129,14 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : fun setItineraryVisibility() { UiThreadHandler.post { when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.None, - TaxiPassengerOrderStatusEnum.OnTheWayToStart, - TaxiPassengerOrderStatusEnum.ArriveAtStart, - TaxiPassengerOrderStatusEnum.JourneyCompleted, - TaxiPassengerOrderStatusEnum.ArriveAtEnd, - TaxiPassengerOrderStatusEnum.Cancel -> mView?.showOrHideServingOrderFragment(false) - TaxiPassengerOrderStatusEnum.UserArriveAtStart, - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> mView?.showOrHideServingOrderFragment(true) + TaxiOrderStatusEnum.None, + TaxiOrderStatusEnum.OnTheWayToStart, + TaxiOrderStatusEnum.ArriveAtStart, + TaxiOrderStatusEnum.JourneyCompleted, + TaxiOrderStatusEnum.ArriveAtEnd, + TaxiOrderStatusEnum.Cancel -> mView?.showOrHideServingOrderFragment(false) + TaxiOrderStatusEnum.UserArriveAtStart, + TaxiOrderStatusEnum.OnTheWayToEnd -> mView?.showOrHideServingOrderFragment(true) } } } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt index ae6f91ec18..4efae6ef1f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/checkstartautopilot/ChekAndStartAutopilotViewModel.kt @@ -1,7 +1,7 @@ package com.mogo.och.unmanned.passenger.ui.checkstartautopilot import androidx.lifecycle.ViewModel -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean import com.mogo.och.taxi.passenger.ui.model.order.OrderListener import com.mogo.och.taxi.passenger.ui.model.order.OrderModel @@ -32,10 +32,10 @@ class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener { override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) { when (order?.orderStatus) { - TaxiPassengerOrderStatusEnum.ArriveAtStart.code -> { + TaxiOrderStatusEnum.ArriveAtStart.code -> { // 显示手机号验证 } - TaxiPassengerOrderStatusEnum.UserArriveAtStart.code -> { + TaxiOrderStatusEnum.UserArriveAtStart.code -> { // 显示启动自驾 } else -> { diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt index 511e20ff62..94adf32f20 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/orderinfo/OrderInfoViewModel.kt @@ -6,7 +6,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.unmanned.taxi.passenger.R -import com.mogo.och.taxi.passenger.ui.model.order.TaxiPassengerOrderStatusEnum +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean import com.mogo.och.taxi.passenger.ui.model.order.OrderListener import com.mogo.och.taxi.passenger.ui.model.order.OrderModel @@ -82,7 +82,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, Ord } } when (TaxiPassengerModel.curOrderStatus) { - TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> { + TaxiOrderStatusEnum.OnTheWayToEnd -> { } else ->{ From b4d8ad8fb36afbdc1c59112032cf4332a3186472 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 10 Jul 2024 17:15:20 +0800 Subject: [PATCH 13/14] =?UTF-8?q?[6.5.0][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E9=98=B2=E6=AD=A2polygon=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=8D=E9=97=AD=E5=90=88=E5=AF=BC=E8=87=B4=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/function/biz/v2x/v2n/utils/V2NUtils.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2NUtils.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2NUtils.kt index 2e52ad28ec..af239a5731 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2NUtils.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/utils/V2NUtils.kt @@ -8,6 +8,8 @@ import com.zhidaoauto.map.data.road.CenterLine import org.locationtech.jts.geom.Coordinate import org.locationtech.jts.geom.GeometryFactory import org.locationtech.jts.geom.LineString +import org.locationtech.jts.geom.LineString.MINIMUM_VALID_SIZE +import org.locationtech.jts.geom.Polygon import org.locationtech.jts.linearref.LengthIndexedLine import java.util.concurrent.CountDownLatch @@ -27,8 +29,20 @@ object V2NUtils { } val occupy = ArrayList() val factory = GeometryFactory() + val polygonList = ArrayList(polygon.map { Coordinate(it.first, it.second) }) + var p1: Polygon? = null + while (p1 == null) { + if (polygonList.size < MINIMUM_VALID_SIZE) { + polygonList.add(polygonList[0]) + continue + } + try { + p1 = factory.createPolygon(polygonList.toTypedArray()) + } catch (ignore: IllegalArgumentException) { + polygonList.add(polygonList[0]) + } + } for (lane in lanes) { - val p1 = factory.createPolygon(polygon.map { Coordinate(it.first, it.second) }.toTypedArray()) val p2 = factory.createLineString(lane.points.map { Coordinate(it.first, it.second) }.toTypedArray()).buffer((lane.width.toDouble() * 0.7 * (1e-5)) / 2.0) if (p1.intersects(p2)) { occupy += lane From ca26b62bbe4c5e9a8e0712bcb7118627d10b3570 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 10 Jul 2024 17:39:16 +0800 Subject: [PATCH 14/14] =?UTF-8?q?[6.5.0]=E8=A1=8C=E7=A8=8B=E6=80=BB?= =?UTF-8?q?=E7=BB=93=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4=E5=AD=97=E4=BD=93?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=94=B9=E5=AD=97=E4=BD=93=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/layout/dialog_itinerary_summary_p.xml | 7 +++++++ .../src/main/res/font/font_din.ttf | Bin 2 files changed, 7 insertions(+) rename core/{function-impl/mogo-core-function-devatools => mogo-core-res}/src/main/res/font/font_din.ttf (100%) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_itinerary_summary_p.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_itinerary_summary_p.xml index 6fbdc75dc0..5b40c87a02 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_itinerary_summary_p.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_itinerary_summary_p.xml @@ -128,6 +128,7 @@ android:textSize="@dimen/sp_94" android:textColor="@color/summary_service_num_p" app:layout_constraintHorizontal_chainStyle="packed" + android:fontFamily="@font/font_din" />