Merge branch 'dev_robotaxi-d_251110_8.2.8_i18n' into dev_robotaxi-d_251204_8.3.0_xfk_temp

# Conflicts:
#	OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt
This commit is contained in:
xinfengkun
2025-12-17 11:29:10 +08:00
471 changed files with 10137 additions and 2778 deletions

View File

@@ -40,6 +40,7 @@ import com.mogo.eagle.core.function.call.map.CallerMapRomaListener
import com.mogo.eagle.core.function.call.map.CallerMapRomaListener.invokeRomaViewStatus
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager
import com.mogo.eagle.core.function.map.R
import com.mogo.eagle.core.function.utils.MapRomaTrace
import com.mogo.eagle.core.function.utils.MapRomaTrace.Companion.getCurrentCNode
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
@@ -117,7 +118,8 @@ class RomaManager() : IMoGoPlanningRottingListener,
)
Logger.d(TAG, "H_ERROR_MAP msg=地图漫游模式启动失败,原因:${it.obj}")
if (DebugConfig.isDebug()) {
ToastUtils.showShort("进入漫游模式失败, code:${it.obj}")
// ToastUtils.showShort("进入漫游模式失败, code:${it.obj}")
ToastUtils.showShort(R.string.module_mogo_core_function_map_roam_starting_fail, "${it.obj}")
}
}
true
@@ -127,7 +129,8 @@ class RomaManager() : IMoGoPlanningRottingListener,
if (CallerMapIdentifyManager.roam.first.isNotEmpty()
&& CallerMapIdentifyManager.roam.first!= TAG
&& CallerMapIdentifyManager.roam.second) {
ToastUtils.showLong("正在展示路口漫游,请稍后重试")
// ToastUtils.showLong("正在展示路口漫游,请稍后重试")
ToastUtils.showLong(R.string.module_mogo_core_function_map_crossing_roam)
MapRomaTrace.log(
"",
CHAIN_CODE_ROMA_REJECT,
@@ -240,7 +243,8 @@ class RomaManager() : IMoGoPlanningRottingListener,
CallerMapRomaListener.invokeMapRoma(false)
CallerMapIdentifyManager.updateRoam("", false)
if (DebugConfig.isDebug()) {
ToastUtils.showShort("漫游请求异常msg:$errorMsg")
// ToastUtils.showShort("漫游请求异常msg:$errorMsg")
ToastUtils.showShort(R.string.module_mogo_core_function_roam_fail, errorMsg)
}
return
}

View File

@@ -12,7 +12,9 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener;
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.CallerPlanningRottingListenerManager;
import com.mogo.eagle.core.function.map.R;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.StringUtils;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import java.util.ArrayList;
@@ -78,7 +80,8 @@ public class MogoTrajectoryOverlayManager implements IMoGoPlanningRottingListene
return new Pair(true, "success");
}
trackEvent("drawTrajectoryOverlayOnce", "执行结果(result=false, msg=全局轨迹未就绪或为空)");
return new Pair(false, "全局轨迹未就绪或为空");
// return new Pair(false, "全局轨迹未就绪或为空");
return new Pair(false, StringUtils.getString(R.string.module_core_global_trajectory_not_ready_or_empty));
}
}

View File

@@ -7,6 +7,7 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.map.R
import com.mogo.eagle.core.utilcode.util.StringUtils
class V2XMarkerView @JvmOverloads constructor(
context: Context,
@@ -30,19 +31,23 @@ class V2XMarkerView @JvmOverloads constructor(
when (poiType) {
"10006" -> {
iconView.setBackgroundResource(R.drawable.icon_small_v2x_road_construction)
contentView.text = "道路施工"
// contentView.text = "道路施工"
contentView.text = StringUtils.getString(R.string.module_core_road_construction)
}
"10007" -> {
iconView.setBackgroundResource(R.drawable.icon_v2x_road_congestion)
contentView.text = "道路拥堵"
// contentView.text = "道路拥堵"
contentView.text = StringUtils.getString(R.string.module_core_road_congestion)
}
"10032" -> {
iconView.setBackgroundResource(R.drawable.icon_v2x_road_accidents)
contentView.text = "道路事故"
// contentView.text = "道路事故"
contentView.text = StringUtils.getString(R.string.module_core_road_accident)
}
"10025" -> {
iconView.setBackgroundResource(R.drawable.icon_v2x_obstacle)
contentView.text = "障碍车辆"
// contentView.text = "障碍车辆"
contentView.text = StringUtils.getString(R.string.module_core_obstacle_vehicle)
}
// "10031" -> {
// iconView.setBackgroundResource(R.drawable.icon_small_v2x_road_construction)

View File

@@ -19,6 +19,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListener
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
import com.mogo.eagle.core.function.map.R
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.shuyu.gsyvideoplayer.GSYVideoManager
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
@@ -276,9 +277,12 @@ class DecisionLayout @JvmOverloads constructor(
when (type) {
0 -> {
decContent1.text = "停车等待"
decContent2.text = "变道出站"
decContent3.text = "直行出站"
// decContent1.text = "停车等待"
decContent1.text = StringUtils.getString(R.string.module_core_park_and_wait)
// decContent2.text = "变道出站"
decContent2.text = StringUtils.getString(R.string.module_core_lane_change_and_exit)
// decContent3.text = "直行出站"
decContent3.text = StringUtils.getString(R.string.module_core_straight_ahead_and_exit)
gsyVideoPlay(getRawPath(R.raw.wujuece))
gsyVideoPlay2(getRawPath(R.raw.zuohuandao))
@@ -286,9 +290,12 @@ class DecisionLayout @JvmOverloads constructor(
}
1 -> {
decContent1.text = "车道保持"
decContent2.text = "进站停车"
decContent3.text = "向右变道"
// decContent1.text = "车道保持"
decContent1.text = StringUtils.getString(R.string.module_core_lane_keeping)
// decContent2.text = "进站停车"
decContent2.text = StringUtils.getString(R.string.module_core_enter_station_and_park)
// decContent3.text = "向右变道"
decContent3.text = StringUtils.getString(R.string.module_core_change_lane_to_right)
gsyVideoPlay(getRawPath(R.raw.zhixing))
gsyVideoPlay2(getRawPath(R.raw.youhuandao))
@@ -296,9 +303,12 @@ class DecisionLayout @JvmOverloads constructor(
}
2 -> {
decContent1.text = "向左变道"
decContent2.text = "车道保持"
decContent3.text = "向右变道"
// decContent1.text = "向左变道"
decContent1.text = StringUtils.getString(R.string.module_core_change_lane_to_left)
// decContent2.text = "车道保持"
decContent2.text = StringUtils.getString(R.string.module_core_lane_keeping)
// decContent3.text = "向右变道"
decContent3.text = StringUtils.getString(R.string.module_core_change_lane_to_right)
gsyVideoPlay(getRawPath(R.raw.zuohuandao))
gsyVideoPlay2(getRawPath(R.raw.zhixing))
@@ -306,9 +316,12 @@ class DecisionLayout @JvmOverloads constructor(
}
3 -> {
decContent1.text = "车道保持"
decContent2.text = "向左变道"
decContent3.text = "向右变道"
// decContent1.text = "车道保持"
decContent1.text = StringUtils.getString(R.string.module_core_lane_keeping)
// decContent2.text = "向左变道"
decContent2.text = StringUtils.getString(R.string.module_core_change_lane_to_left)
// decContent3.text = "向右变道"
decContent3.text = StringUtils.getString(R.string.module_core_change_lane_to_right)
gsyVideoPlay(getRawPath(R.raw.zhixing))
gsyVideoPlay2(getRawPath(R.raw.zuohuandao))
@@ -316,9 +329,12 @@ class DecisionLayout @JvmOverloads constructor(
}
4 -> {
decContent1.text = "向左变道"
decContent2.text = "向右变道"
decContent3.text = "车道保持"
// decContent1.text = "向左变道"
decContent1.text = StringUtils.getString(R.string.module_core_change_lane_to_left)
// decContent2.text = "向右变道"
decContent2.text = StringUtils.getString(R.string.module_core_change_lane_to_right)
// decContent3.text = "车道保持"
decContent3.text = StringUtils.getString(R.string.module_core_lane_keeping)
gsyVideoPlay(getRawPath(R.raw.zuohuandao))
gsyVideoPlay2(getRawPath(R.raw.youhuandao))
@@ -326,9 +342,12 @@ class DecisionLayout @JvmOverloads constructor(
}
5 -> {
decContent1.text = "车道保持"
decContent2.text = "向左变道绕障"
decContent3.text = "向右变道绕障"
// decContent1.text = "车道保持"
decContent1.text = StringUtils.getString(R.string.module_core_lane_keeping)
// decContent2.text = "向左变道绕障"
decContent2.text = StringUtils.getString(R.string.module_core_change_lane_to_left_to_avoid_obstacle)
// decContent3.text = "向右变道绕障"
decContent3.text = StringUtils.getString(R.string.module_core_change_lane_to_right_to_avoid_obstacle)
gsyVideoPlay(getRawPath(R.raw.zhixing))
gsyVideoPlay2(getRawPath(R.raw.zuobizhang))
@@ -336,9 +355,12 @@ class DecisionLayout @JvmOverloads constructor(
}
6 -> {
decContent1.text = "向左变道绕障"
decContent2.text = "向右变道绕障"
decContent3.text = "车道保持"
// decContent1.text = "向左变道绕障"
decContent1.text = StringUtils.getString(R.string.module_core_change_lane_to_left_to_avoid_obstacle)
// decContent2.text = "向右变道绕障"
decContent2.text = StringUtils.getString(R.string.module_core_change_lane_to_right_to_avoid_obstacle)
// decContent3.text = "车道保持"
decContent3.text = StringUtils.getString(R.string.module_core_lane_keeping)
gsyVideoPlay(getRawPath(R.raw.zuobizhang))
gsyVideoPlay2(getRawPath(R.raw.youbizhang))
@@ -346,9 +368,12 @@ class DecisionLayout @JvmOverloads constructor(
}
7 -> {
decContent1.text = "直行通过路口"
decContent2.text = "左转通过路口"
decContent3.text = "右转通过路口"
// decContent1.text = "直行通过路口"
decContent1.text = StringUtils.getString(R.string.module_core_go_straight_through_intersection)
// decContent2.text = "左转通过路口"
decContent2.text = StringUtils.getString(R.string.module_core_turn_left_through_intersection)
// decContent3.text = "右转通过路口"
decContent3.text = StringUtils.getString(R.string.module_core_turn_right_through_intersection)
gsyVideoPlay(getRawPath(R.raw.zhixing))
gsyVideoPlay2(getRawPath(R.raw.lukouzuozhuan))
@@ -356,9 +381,12 @@ class DecisionLayout @JvmOverloads constructor(
}
8 -> {
decContent1.text = "左转通过路口"
decContent2.text = "直行通过路口"
decContent3.text = "右转通过路口"
// decContent1.text = "左转通过路口"
decContent1.text = StringUtils.getString(R.string.module_core_turn_left_through_intersection)
// decContent2.text = "直行通过路口"
decContent2.text = StringUtils.getString(R.string.module_core_go_straight_through_intersection)
// decContent3.text = "右转通过路口"
decContent3.text = StringUtils.getString(R.string.module_core_turn_right_through_intersection)
gsyVideoPlay(getRawPath(R.raw.lukouzuozhuan))
gsyVideoPlay2(getRawPath(R.raw.lukouzhixing))
@@ -366,9 +394,12 @@ class DecisionLayout @JvmOverloads constructor(
}
9 -> {
decContent1.text = "左转通过路口"
decContent2.text = "右转通过路口"
decContent3.text = "直行通过路口"
// decContent1.text = "左转通过路口"
decContent1.text = StringUtils.getString(R.string.module_core_turn_left_through_intersection)
// decContent2.text = "右转通过路口"
decContent2.text = StringUtils.getString(R.string.module_core_turn_right_through_intersection)
// decContent3.text = "直行通过路口"
decContent3.text = StringUtils.getString(R.string.module_core_go_straight_through_intersection)
gsyVideoPlay(getRawPath(R.raw.lukouzuozhuan))
gsyVideoPlay2(getRawPath(R.raw.lukouyouzhuan))

View File

@@ -9,6 +9,7 @@ import android.widget.ProgressBar
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.function.map.R
import com.mogo.eagle.core.utilcode.util.StringUtils
import kotlin.random.Random
@@ -17,13 +18,19 @@ class RoadCrossRoamListAdapter(private val mContext: Context, private val lightM
private val items: MutableList<String> = mutableListOf()
init {
items.add("前方路况拥堵分析")
items.add("路口危险车辆分析")
items.add("路口交通事故分析")
items.add("路口行人碰撞分析")
// items.add("前方路况拥堵分析")
items.add(StringUtils.getString(R.string.module_och_analysis_traffic_conditions_ahead))
// items.add("路口危险车辆分析")
items.add(StringUtils.getString(R.string.module_och_analysis_dangerous_vehicles_intersections))
// items.add("路口交通事故分析")
items.add(StringUtils.getString(R.string.module_och_analysis_roadside_traffic_accidents))
// items.add("路口行人碰撞分析")
items.add(StringUtils.getString(R.string.module_och_analysis_pedestrian_collisions_crossroads))
if(lightMode){
items.add("路口非机动车分析")
items.add("路口灯态分析")
// items.add("路口非机动车分析")
items.add(StringUtils.getString(R.string.module_och_analysis_non_motorized_vehicles_intersections))
// items.add("路口灯态分析")
items.add(StringUtils.getString(R.string.module_och_analysis_intersection_signal_status))
}
}

View File

@@ -30,6 +30,7 @@ import com.mogo.eagle.core.function.map.R
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.skin.utils.SkinResources
@@ -160,7 +161,8 @@ class RoadCrossRoamView @JvmOverloads constructor(
lvRoadCrossRoamTip.visibility = View.GONE
ivZhiRoadRoamSet.visibility = View.GONE
ivZhiRoadRoamView.visibility = View.GONE
tvRoadRoamTitle.text = "为您全面扫描潜在风险"
// tvRoadRoamTitle.text = "为您全面扫描潜在风险"
tvRoadRoamTitle.text = StringUtils.getString(R.string.module_core_comprehensively_scan_potential_risks_for_you)
animScale = true
}
}
@@ -208,7 +210,8 @@ class RoadCrossRoamView @JvmOverloads constructor(
// 处于漫游模式下不做处理
if (CallerMapIdentifyManager.roam.second) {
if (CallerMapIdentifyManager.roam.first != TAG) {
ToastUtils.showLong("正在漫游中,不展示路口漫游")
// ToastUtils.showLong("正在漫游中,不展示路口漫游")
ToastUtils.showLong(R.string.module_mogo_core_function_roam_now)
}
CallerLogger.d("$M_MAP$TAG", "正在漫游中,不展示路口漫游")
return
@@ -237,7 +240,8 @@ class RoadCrossRoamView @JvmOverloads constructor(
// SkinResources.getInstance().getString(R.string.operation_platform_name)
// }为您提供路口全息影像,助力出行"
// }
val disStr = "为您提供路口全息影像,助力出行"
// val disStr = "为您提供路口全息影像,助力出行"
val disStr = StringUtils.getString(R.string.module_och_offer_intersection_holographic_image)
AIAssist.getInstance(context).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2)
}
CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG)

View File

@@ -62,6 +62,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
import com.mogo.eagle.core.utilcode.util.LocationUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
import me.jessyan.autosize.utils.AutoSizeUtils
@@ -904,10 +905,12 @@ class TravelRealityView @JvmOverloads constructor(
icon(BitmapDescriptorFactory.fromResource(R.drawable.mogo_shigu_nor))
})
eventBean.resId = R.drawable.mogo_shigu_nor
eventBean.title = "交通事故"
// eventBean.title = "交通事故"
eventBean.title = StringUtils.getString(R.string.module_core_traffic_accident)
roadEvents.add(eventBean)
if (!eventDrawMap.containsKey("800003")) {
eventDrawMap["800003"] = EventDrawBean(R.drawable.mogo_shigu_nor, "交通事故")
// eventDrawMap["800003"] = EventDrawBean(R.drawable.mogo_shigu_nor, "交通事故")
eventDrawMap["800003"] = EventDrawBean(R.drawable.mogo_shigu_nor, StringUtils.getString(R.string.module_core_traffic_accident))
}
}
@@ -919,11 +922,13 @@ class TravelRealityView @JvmOverloads constructor(
icon(BitmapDescriptorFactory.fromResource(R.drawable.mogo_shigong_image))
})
eventBean.resId = R.drawable.mogo_shigong_image
eventBean.title = "道路施工"
// eventBean.title = "道路施工"
eventBean.title = StringUtils.getString(R.string.module_core_road_construction)
roadEvents.add(eventBean)
if (!eventDrawMap.containsKey("800002")) {
eventDrawMap["800002"] =
EventDrawBean(R.drawable.mogo_shigong_image, "道路施工")
// EventDrawBean(R.drawable.mogo_shigong_image, "道路施工")
EventDrawBean(R.drawable.mogo_shigong_image, StringUtils.getString(R.string.module_core_road_construction))
}
}
@@ -944,10 +949,12 @@ class TravelRealityView @JvmOverloads constructor(
icon(BitmapDescriptorFactory.fromResource(R.drawable.mogo_jingzhi_nor))
})
eventBean.resId = R.drawable.mogo_jingzhi_nor
eventBean.title = "静止事件"
// eventBean.title = "静止事件"
eventBean.title = StringUtils.getString(R.string.module_core_stationary_event)
roadEvents.add(eventBean)
if (!eventDrawMap.containsKey("800004")) {
eventDrawMap["800004"] = EventDrawBean(R.drawable.mogo_jingzhi_nor, "静止事件")
// eventDrawMap["800004"] = EventDrawBean(R.drawable.mogo_jingzhi_nor, "静止事件")
eventDrawMap["800004"] = EventDrawBean(R.drawable.mogo_jingzhi_nor, StringUtils.getString(R.string.module_core_stationary_event))
}
}
@@ -997,7 +1004,8 @@ class TravelRealityView @JvmOverloads constructor(
deviceInfoBean.lat,
deviceInfoBean.lon
),
"全息路口",
// "全息路口",
StringUtils.getString(R.string.module_core_holographic_intersection),
deviceInfoBean.orientation
)
)
@@ -1181,7 +1189,8 @@ class TravelRealityView @JvmOverloads constructor(
}
if (deviceInPaths.isNotEmpty()) {
listener?.onDraw(
arrayListOf(EventDrawBean(R.drawable.mogo_quanxi_lukou, "全息路口")),
// arrayListOf(EventDrawBean(R.drawable.mogo_quanxi_lukou, "全息路口")),
arrayListOf(EventDrawBean(R.drawable.mogo_quanxi_lukou, StringUtils.getString(R.string.module_core_holographic_intersection))),
false
)
}

View File

@@ -39,11 +39,12 @@
app:map_index="2"
/>
<!-- android:text="AIP 规划与决策"-->
<TextView
android:id="@+id/tvDecTitle"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_36"
android:text="AIP 规划与决策"
android:text="@string/module_core_aip_planning_decision_making"
android:textColor="#394047"
android:textSize="24dp"
android:textStyle="bold"

View File

@@ -6,10 +6,11 @@
android:layout_height="match_parent"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<!-- android:text="Prediction 预测"-->
<TextView
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_36"
android:text="Prediction 预测"
android:text="@string/module_core_prediction"
android:textColor="#394047"
android:textSize="@dimen/dp_24"
android:textStyle="bold"

View File

@@ -39,11 +39,12 @@
app:map_index="2"
/>
<!-- android:text="AIP 规划与决策"-->
<TextView
android:id="@+id/tvDecTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AIP 规划与决策"
android:text="@string/module_core_aip_planning_decision_making"
android:textColor="#394047"
android:textSize="32dp"
app:layout_constraintStart_toStartOf="parent"

View File

@@ -6,10 +6,11 @@
android:layout_height="match_parent"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<!-- android:text="Prediction 预测"-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Prediction 预测"
android:text="@string/module_core_prediction"
android:textColor="#394047"
android:textSize="@dimen/dp_32"
app:layout_constraintStart_toStartOf="parent"

View File

@@ -18,11 +18,12 @@
android:visibility="visible"
/>
<!-- android:text="道路施工"-->
<TextView
android:id="@+id/tvContent"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="道路施工"
android:text="@string/module_core_road_construction"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -0,0 +1,4 @@
<resources>
<string name="app_name">mogo-core-function-map</string>
<string name="road_cross_roam_tip">You are approaching a holographic intersection.\nScanning for potential risks ahead.</string>
</resources>