[8.2.8][i18n] 接驳乘客屏 中文抽取

This commit is contained in:
xinfengkun
2025-11-13 17:36:00 +08:00
parent 8f6e8de77e
commit 45f9af9e3d
18 changed files with 162 additions and 57 deletions

View File

@@ -5,6 +5,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.RegexUtils import com.mogo.eagle.core.utilcode.util.RegexUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.biz.R
import com.mogo.och.common.module.biz.scanner.QrBean import com.mogo.och.common.module.biz.scanner.QrBean
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.socket.lan.LanSocketManager import com.mogo.och.common.module.manager.socket.lan.LanSocketManager
@@ -221,7 +223,8 @@ object QrParse {
e.printStackTrace() e.printStackTrace()
CallerLogger.d(M_OCHCOMMON + TAG, "") CallerLogger.d(M_OCHCOMMON + TAG, "")
// 通知司机屏二维码错误 // 通知司机屏二维码错误
val writeOffDetail = WriteOffDetialMsg(code = 3001, msg = "出示错误二维码") // val writeOffDetail = WriteOffDetialMsg(code = 3001, msg = "出示错误二维码")
val writeOffDetail = WriteOffDetialMsg(code = 3001, msg = StringUtils.getString(R.string.module_och_qr_code_error))
OchChainLogManager.writeChainLogWriteOff("核销失败", "二维码错误+参数错误") OchChainLogManager.writeChainLogWriteOff("核销失败", "二维码错误+参数错误")
CallerLogger.d( CallerLogger.d(
M_OCHCOMMON + TAG, M_OCHCOMMON + TAG,

View File

@@ -3,6 +3,8 @@ package com.mogo.och.biz.routing.ui.utils
import android.text.Spanned import android.text.Spanned
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import com.mogo.eagle.core.utilcode.util.DateTimeUtils import com.mogo.eagle.core.utilcode.util.DateTimeUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.biz.R
import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.common.module.utils.NumberFormatUtil
import java.util.Calendar import java.util.Calendar
@@ -13,13 +15,16 @@ object TimeDistanceUtils {
fun getCurrentTaskDistance(meters: Long):String{ fun getCurrentTaskDistance(meters: Long):String{
var dis = "0" var dis = "0"
var disUnit = "公里" // var disUnit = "公里"
var disUnit = StringUtils.getString(R.string.module_och_km)
if (meters > 0) { if (meters > 0) {
if (meters / 1000 < 1) { if (meters / 1000 < 1) {
disUnit = "" // disUnit = "米"
disUnit = StringUtils.getString(R.string.module_och_m)
dis = meters.toFloat().roundToInt().toString() dis = meters.toFloat().roundToInt().toString()
} else { } else {
disUnit = "公里" // disUnit = "公里"
disUnit = StringUtils.getString(R.string.module_och_km)
dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
} }
} }
@@ -36,13 +41,16 @@ object TimeDistanceUtils {
*/ */
fun getCurrentTaskTripHtml(meters: Long, timeInSecond: Long): Spanned { fun getCurrentTaskTripHtml(meters: Long, timeInSecond: Long): Spanned {
var dis = "0" var dis = "0"
var disUnit = "公里" // var disUnit = "公里"
var disUnit = StringUtils.getString(R.string.module_och_km)
if (meters > 0) { if (meters > 0) {
if (meters / 1000 < 1) { if (meters / 1000 < 1) {
disUnit = "" // disUnit = "米"
disUnit = StringUtils.getString(R.string.module_och_m)
dis = meters.toFloat().roundToInt().toString() dis = meters.toFloat().roundToInt().toString()
} else { } else {
disUnit = "公里" // disUnit = "公里"
disUnit = StringUtils.getString(R.string.module_och_km)
dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
} }
} }

View File

@@ -22,6 +22,7 @@ import com.mogo.eagle.core.data.map.MogoLocation;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView; import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView;
import com.mogo.eagle.core.utilcode.util.StringUtils;
import com.mogo.map.overlay.IMoGoOverlayManager; import com.mogo.map.overlay.IMoGoOverlayManager;
import com.mogo.och.common.module.utils.ResourcesUtils; import com.mogo.och.common.module.utils.ResourcesUtils;
import com.mogo.och.shuttle.weaknet.passenger.R; import com.mogo.och.shuttle.weaknet.passenger.R;
@@ -315,19 +316,23 @@ public class BusPassengerRouteFragment extends
public void updateRoutePlanningToNextStation(long meters, long timeInSecond){ public void updateRoutePlanningToNextStation(long meters, long timeInSecond){
//更新进度条 //更新进度条
String dis = "0"; String dis = "0";
String disUnit = "公里"; // String disUnit = "公里";
String disUnit = StringUtils.getString(R.string.module_och_km);
if (meters > 0){ if (meters > 0){
if (meters / 1000 < 1){ if (meters / 1000 < 1){
disUnit = ""; // disUnit = "米";
disUnit = StringUtils.getString(R.string.module_och_m);
dis = String.valueOf(Math.round(meters)); dis = String.valueOf(Math.round(meters));
}else { }else {
disUnit = "公里"; // disUnit = "公里";
disUnit = StringUtils.getString(R.string.module_och_km);
dis = NumberFormatUtil.formatLong((double)meters / 1000); dis = NumberFormatUtil.formatLong((double)meters / 1000);
} }
} }
// String strHtml2 = "<font color=\"#2D3E5F\">距离 </font>" + "<b><font color=\"#0043FF\">" + dis + "</font></b>" + "<font color=\"#2D3E5F\"> "+disUnit+"</font>" // String strHtml2 = "<font color=\"#2D3E5F\">距离 </font>" + "<b><font color=\"#0043FF\">" + dis + "</font></b>" + "<font color=\"#2D3E5F\"> "+disUnit+"</font>"
// + "<font color=\"#2D3E5F\"> &nbsp 剩余 </font>" + "<b><font color=\"#0043FF\">" + (int)Math.ceil((double)timeInSecond/ 60f) + "</font></b>" + "<font color=\"#2D3E5F\"> 分钟</font>"; // + "<font color=\"#2D3E5F\"> &nbsp 剩余 </font>" + "<b><font color=\"#0043FF\">" + (int)Math.ceil((double)timeInSecond/ 60f) + "</font></b>" + "<font color=\"#2D3E5F\"> 分钟</font>";
String str = dis+disUnit+" | "+(int)Math.ceil((double)timeInSecond/ 60f)+"分钟"; // String str = dis+disUnit+" | "+(int)Math.ceil((double)timeInSecond/ 60f)+"分钟";
String str = dis + disUnit + " | " + (int) Math.ceil((double) timeInSecond / 60f) + StringUtils.getString(R.string.module_och_minute);
mCurrentArriveTip.setText(Html.fromHtml(str)); mCurrentArriveTip.setText(Html.fromHtml(str));
} }

View File

@@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager
import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.och.shuttle.weaknet.passenger.R
import kotlinx.android.synthetic.main.shuttle_p_weak_jl_view_status_bar.view.tv_shuttle_b1_p_version import kotlinx.android.synthetic.main.shuttle_p_weak_jl_view_status_bar.view.tv_shuttle_b1_p_version
import me.jessyan.autosize.utils.AutoSizeUtils import me.jessyan.autosize.utils.AutoSizeUtils
@@ -34,7 +35,8 @@ class BusPStatusBarView @JvmOverloads constructor(
isClickable = true isClickable = true
isFocusable = true isFocusable = true
tv_shuttle_b1_p_version.text = "版本:${AppUtils.getAppVersionName()}" // tv_shuttle_b1_p_version.text = "版本:${AppUtils.getAppVersionName()}"
tv_shuttle_b1_p_version.text = StringUtils.getString(R.string.module_och_version, AppUtils.getAppVersionName())
} }

View File

@@ -10,6 +10,7 @@ import com.mogo.eagle.core.function.call.hmi.CallerRoadV2NEventWindowListenerMan
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.UriUtils import com.mogo.eagle.core.utilcode.util.UriUtils
import com.mogo.och.common.module.biz.birdge.data.RoadMsg import com.mogo.och.common.module.biz.birdge.data.RoadMsg
import com.mogo.och.common.module.biz.media.MediaManager import com.mogo.och.common.module.biz.media.MediaManager
@@ -77,7 +78,8 @@ class PM2BaseFragment :
} }
override fun initViews() { override fun initViews() {
tv_shuttle_b2_p_version.text = "版本:${AppUtils.getAppVersionName()}" // tv_shuttle_b2_p_version.text = "版本:${AppUtils.getAppVersionName()}"
tv_shuttle_b2_p_version.text = StringUtils.getString(R.string.module_och_version, AppUtils.getAppVersionName())
initFragment() initFragment()
OchTransform.addListener(TAG, ochTransform) OchTransform.addListener(TAG, ochTransform)
} }
@@ -147,7 +149,13 @@ class PM2BaseFragment :
sortedList.add(one) sortedList.add(one)
sortedList.add(two) sortedList.add(two)
sortedList.add(three) sortedList.add(three)
val ndeEvent = AIMessage.NDEData(System.currentTimeMillis().toString(),"路口车龙","前方路口有车龙",sortedList) // val ndeEvent = AIMessage.NDEData(System.currentTimeMillis().toString(),"路口车龙","前方路口有车龙",sortedList)
val ndeEvent = AIMessage.NDEData(
System.currentTimeMillis().toString(),
StringUtils.getString(R.string.module_och_crossing_tailback),
StringUtils.getString(R.string.module_och_crossing_tailback_desc),
sortedList
)
AIMessageManager.post(ndeEvent) AIMessageManager.post(ndeEvent)
// CallerRoadV2NEventWindowListenerManager.showImage( // CallerRoadV2NEventWindowListenerManager.showImage(

View File

@@ -3,10 +3,11 @@ package com.mogo.och.shuttle.weaknet.passenger.ui.line
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.mvp.MvpFragment
import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.shuttle.weaknet.passenger.presenter.PM2DrivingPresenter
import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.common.module.utils.NumberFormatUtil
import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.shuttle.weaknet.passenger.R
import com.mogo.och.shuttle.weaknet.passenger.presenter.PM2DrivingPresenter
import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.arriveView import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.arriveView
import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.emptyView import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.emptyView
import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.lineView import kotlinx.android.synthetic.main.shuttle_p_m2_driving_info_fragment.lineView
@@ -94,15 +95,20 @@ class PM2DrivingInfoFragment :
* 剩余里程和时间 * 剩余里程和时间
*/ */
fun updateRemainMT(meters: Long, timeInSecond: Long) { //米。秒 fun updateRemainMT(meters: Long, timeInSecond: Long) { //米。秒
var disUnit = "公里" // var disUnit = "公里"
var disUnit = StringUtils.getString(R.string.module_och_km)
var remainDis: String? = "0" var remainDis: String? = "0"
if (meters > 0) { if (meters > 0) {
if (meters / 1000 < 1) { if (meters / 1000 < 1) {
disUnit = "" // disUnit = "米"
disUnit = StringUtils.getString(R.string.module_och_m)
remainDis = meters.toFloat().roundToInt().toString() remainDis = meters.toFloat().roundToInt().toString()
} else { } else {
disUnit = "公里" // disUnit = "公里"
// disUnit = "公里";
disUnit = StringUtils.getString(R.string.module_och_km)
remainDis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) remainDis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
} }
} }

View File

@@ -3,9 +3,11 @@ package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.common.module.utils.NumberFormatUtil
import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.shuttle.weaknet.passenger.R
import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback import com.mogo.och.shuttle.weaknet.passenger.callback.ICommonCallback
import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel import com.mogo.och.shuttle.weaknet.passenger.model.CommonModel
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
@@ -44,15 +46,18 @@ class LineViewModel : ViewModel(), ICommonCallback {
override fun updateRemainMT(meters: Long, timeInSecond: Long) { override fun updateRemainMT(meters: Long, timeInSecond: Long) {
super.updateRemainMT(meters, timeInSecond) super.updateRemainMT(meters, timeInSecond)
var disUnit = "公里" // var disUnit = "公里"
var disUnit = StringUtils.getString(R.string.module_och_km)
var remainDis: String? = "0" var remainDis: String? = "0"
if (meters > 0) { if (meters > 0) {
if (meters / 1000 < 1) { if (meters / 1000 < 1) {
disUnit = "" // disUnit = "米"
disUnit = StringUtils.getString(R.string.module_och_m)
remainDis = meters.toFloat().roundToInt().toString() remainDis = meters.toFloat().roundToInt().toString()
} else { } else {
disUnit = "公里" // disUnit = "公里"
disUnit = StringUtils.getString(R.string.module_och_km)
remainDis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) remainDis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
} }
} }
@@ -62,7 +67,8 @@ class LineViewModel : ViewModel(), ICommonCallback {
// "$remainDis$disUnit".also { tv_distance.text = it } // "$remainDis$disUnit".also { tv_distance.text = it }
// "${time}分钟".also { tv_left_time.text = it } // "${time}分钟".also { tv_left_time.text = it }
this.viewCallback?.updateRemainMt("$remainDis$disUnit","${time}分钟") // this.viewCallback?.updateRemainMt("$remainDis$disUnit","${time}分钟")
this.viewCallback?.updateRemainMt("$remainDis$disUnit","${time}${StringUtils.getString(R.string.module_och_minute)}")
} }
interface LineViewCallback{ interface LineViewCallback{

View File

@@ -3,6 +3,7 @@ package com.mogo.och.shuttle.weaknet.passenger.ui.line.lineinfo.item
import android.view.View import android.view.View
import androidx.appcompat.widget.AppCompatTextView import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.utils.ResourcesUtils import com.mogo.och.common.module.utils.ResourcesUtils
import com.mogo.och.common.module.wigets.OCHGradientTextView import com.mogo.och.common.module.wigets.OCHGradientTextView
import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.BusStationBean
@@ -109,7 +110,8 @@ class OmitPassViewHolder(binding: View) : StationViewHolder(binding) {
private var omitCout: AppCompatTextView = binding.findViewById(R.id.actv_pass_omit_cout) private var omitCout: AppCompatTextView = binding.findViewById(R.id.actv_pass_omit_cout)
override fun bind(item: BusStationBean,distanceAndView:String) { override fun bind(item: BusStationBean,distanceAndView:String) {
if(item is StationBeanOmit){ if(item is StationBeanOmit){
omitCout.text = "${item.coutOmit}" // omitCout.text = "${item.coutOmit}站"
omitCout.text = StringUtils.getString(R.string.module_och_station, item.coutOmit)
} }
} }
} }
@@ -117,7 +119,8 @@ class OmitFutureViewHolder(binding: View) : StationViewHolder(binding) {
private var omitCout: AppCompatTextView = binding.findViewById(R.id.actv_future_omit_count) private var omitCout: AppCompatTextView = binding.findViewById(R.id.actv_future_omit_count)
override fun bind(item: BusStationBean,distanceAndView:String) { override fun bind(item: BusStationBean,distanceAndView:String) {
if(item is StationBeanOmit){ if(item is StationBeanOmit){
omitCout.text = "${item.coutOmit}" // omitCout.text = "${item.coutOmit}站"
omitCout.text = StringUtils.getString(R.string.module_och_station, item.coutOmit)
} }
} }
} }

View File

@@ -8,6 +8,7 @@ import android.widget.ImageView
import android.widget.ProgressBar import android.widget.ProgressBar
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.shuttle.weaknet.passenger.R import com.mogo.och.shuttle.weaknet.passenger.R
import kotlin.random.Random import kotlin.random.Random
@@ -17,12 +18,18 @@ class RoadCrossRoamListB2Adapter(private val mContext: Context) : RecyclerView.
private val items: MutableList<String> = mutableListOf() private val items: MutableList<String> = mutableListOf()
init { init {
items.add("前方路况拥堵分析") // items.add("前方路况拥堵分析")
items.add("路口危险车辆分析") items.add(StringUtils.getString(R.string.module_och_analysis_traffic_conditions_ahead))
items.add("路口交通事故分析") // items.add("路口危险车辆分析")
items.add("路口行人碰撞分析") items.add(StringUtils.getString(R.string.module_och_analysis_dangerous_vehicles_intersections))
items.add("路口非机动车分析") // items.add("路口交通事故分析")
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))
// 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))
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

View File

@@ -12,7 +12,9 @@ import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils 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.CallerLogger
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.shuttle.weaknet.passenger.R
import com.mogo.och.shuttle.weaknet.passenger.ui.mind.AIMessageManager import com.mogo.och.shuttle.weaknet.passenger.ui.mind.AIMessageManager
import com.mogo.och.shuttle.weaknet.passenger.ui.mind.bean.AIMessage import com.mogo.och.shuttle.weaknet.passenger.ui.mind.bean.AIMessage
@@ -55,7 +57,8 @@ class RoadCrossRoamViewModel: ViewModel(), IMoGoMapRoadListener {
return return
} }
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
val disStr = "为您提供路口全息影像,助力出行" // val disStr = "为您提供路口全息影像,助力出行"
val disStr = StringUtils.getString(R.string.module_och_offer_intersection_holographic_image)
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2) AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2)
} }
CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD)

View File

@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.biz.scanner.QrBean import com.mogo.och.common.module.biz.scanner.QrBean
import com.mogo.och.common.module.biz.scanner.ScannerManager import com.mogo.och.common.module.biz.scanner.ScannerManager
import com.mogo.och.common.module.manager.bluetooth.BleManager import com.mogo.och.common.module.manager.bluetooth.BleManager
@@ -16,6 +17,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffResultMsg import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffResultMsg
import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.shuttle.weaknet.passenger.R
object TicketModel : StateChangeListener { object TicketModel : StateChangeListener {
@@ -106,7 +108,8 @@ object TicketModel : StateChangeListener {
e.printStackTrace() e.printStackTrace()
CallerLogger.d(M_BUS_P + TAG, "") CallerLogger.d(M_BUS_P + TAG, "")
// 通知司机屏二维码错误 // 通知司机屏二维码错误
val writeOffDetail = WriteOffDetialMsg(code = 3001, msg = "出示错误二维码") // val writeOffDetail = WriteOffDetialMsg(code = 3001, msg = "出示错误二维码")
val writeOffDetail = WriteOffDetialMsg(code = 3001, msg = StringUtils.getString(R.string.module_och_qr_code_error))
OchChainLogManager.writeChainLogWriteOff("核销失败","二维码错误+参数错误") OchChainLogManager.writeChainLogWriteOff("核销失败","二维码错误+参数错误")
CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(writeOffDetail)) CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(writeOffDetail))
LanSocketManager.sendMsgToServer(writeOffDetail) LanSocketManager.sendMsgToServer(writeOffDetail)

View File

@@ -142,14 +142,15 @@
app:layout_constraintBottom_toBottomOf="@+id/bus_p_speed_tv" app:layout_constraintBottom_toBottomOf="@+id/bus_p_speed_tv"
app:layout_constraintLeft_toRightOf="@+id/dividing_line_1" app:layout_constraintLeft_toRightOf="@+id/dividing_line_1"
app:layout_constraintTop_toTopOf="@+id/bus_p_speed_tv" /> app:layout_constraintTop_toTopOf="@+id/bus_p_speed_tv" />
<!-- android:format12Hour="yyyy年MM月dd日"-->
<!-- android:format24Hour="yyyy年MM月dd日"-->
<TextClock <TextClock
android:id="@+id/textClockDate" android:id="@+id/textClockDate"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_18" android:layout_marginTop="@dimen/dp_18"
android:format12Hour="yyyy年MM月dd日" android:format12Hour="@string/module_och_date_format"
android:format24Hour="yyyy年MM月dd日" android:format24Hour="@string/module_och_date_format"
android:gravity="center" android:gravity="center"
android:includeFontPadding="false" android:includeFontPadding="false"
android:textColor="@color/shuttle_p_jl_clock_17417B" android:textColor="@color/shuttle_p_jl_clock_17417B"

View File

@@ -3,8 +3,10 @@ package com.mogo.och.unmanned.taxi.utils
import android.text.Spanned import android.text.Spanned
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import com.mogo.eagle.core.utilcode.util.DateTimeUtils import com.mogo.eagle.core.utilcode.util.DateTimeUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.common.module.utils.NumberFormatUtil
import com.mogo.och.unmanned.taxi.R
import java.util.Calendar import java.util.Calendar
import kotlin.math.ceil import kotlin.math.ceil
import kotlin.math.roundToInt import kotlin.math.roundToInt
@@ -13,13 +15,16 @@ object TaskUtils {
fun getCurrentTaskDistance(meters: Long):String{ fun getCurrentTaskDistance(meters: Long):String{
var dis = "0" var dis = "0"
var disUnit = "公里" // var disUnit = "公里"
var disUnit = StringUtils.getString(R.string.module_och_km)
if (meters > 0) { if (meters > 0) {
if (meters / 1000 < 1) { if (meters / 1000 < 1) {
disUnit = "" // disUnit = "米"
disUnit = StringUtils.getString(R.string.module_och_m)
dis = meters.toFloat().roundToInt().toString() dis = meters.toFloat().roundToInt().toString()
} else { } else {
disUnit = "公里" // disUnit = "公里"
disUnit = StringUtils.getString(R.string.module_och_km)
dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
} }
} }
@@ -36,13 +41,16 @@ object TaskUtils {
*/ */
fun getCurrentTaskTripHtml(meters: Long, timeInSecond: Long): Spanned { fun getCurrentTaskTripHtml(meters: Long, timeInSecond: Long): Spanned {
var dis = "0" var dis = "0"
var disUnit = "公里" // var disUnit = "公里"
var disUnit = StringUtils.getString(R.string.module_och_km)
if (meters > 0) { if (meters > 0) {
if (meters / 1000 < 1) { if (meters / 1000 < 1) {
disUnit = "" // disUnit = "米"
disUnit = StringUtils.getString(R.string.module_och_m)
dis = meters.toFloat().roundToInt().toString() dis = meters.toFloat().roundToInt().toString()
} else { } else {
disUnit = "公里" // disUnit = "公里"
disUnit = StringUtils.getString(R.string.module_och_km)
dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000)
} }
} }

View File

@@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils 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.CallerLogger
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.unmanned.passenger.ui.aiview.AIMessageManager import com.mogo.och.unmanned.passenger.ui.aiview.AIMessageManager
import com.mogo.och.unmanned.passenger.ui.aiview.bean.AIMessage import com.mogo.och.unmanned.passenger.ui.aiview.bean.AIMessage
@@ -65,7 +66,8 @@ class RoadCrossRoamViewModel: ViewModel(), IMoGoMapRoadListener {
return return
} }
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
val disStr = "为您提供路口全息影像,助力出行" // val disStr = "为您提供路口全息影像,助力出行"
val disStr = StringUtils.getString(R.string.module_och_offer_intersection_holographic_image)
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2) AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2)
} }
CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD)

View File

@@ -25,6 +25,7 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager
import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils
@@ -137,13 +138,20 @@ open class AutomaticExplorationView @JvmOverloads constructor(
private fun initData() { private fun initData() {
val dataList = ArrayList<AutoExplorationEntity>(7) val dataList = ArrayList<AutoExplorationEntity>(7)
dataList.add(AutoExplorationEntity("当前道路事件分析",2000L,false)) // dataList.add(AutoExplorationEntity("当前道路事件分析",2000L,false))
dataList.add(AutoExplorationEntity("前方车辆",2000L,false)) dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_crossing_event_analyse),2000L,false))
dataList.add(AutoExplorationEntity("两侧车辆",2600L,false)) // dataList.add(AutoExplorationEntity("前方车辆",2000L,false))
dataList.add(AutoExplorationEntity("后方车辆",3000L,false)) dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_ahead),2000L,false))
dataList.add(AutoExplorationEntity("前方路口车辆流速分析",4000L,false)) // dataList.add(AutoExplorationEntity("两侧车辆",2600L,false))
dataList.add(AutoExplorationEntity("前方路口行人/非机动车分析",4300L,false)) dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_both_sides),2600L,false))
dataList.add(AutoExplorationEntity("路侧视频分析",5000L,false)) // dataList.add(AutoExplorationEntity("后方车辆",3000L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_behind),3000L,false))
// dataList.add(AutoExplorationEntity("前方路口车辆流速分析",4000L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_analysis_vehicle_flow_ahead),4000L,false))
// dataList.add(AutoExplorationEntity("前方路口行人/非机动车分析",4300L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_pedestrians_ahead),4300L,false))
// dataList.add(AutoExplorationEntity("路侧视频分析",5000L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_sidewalk_video_analysis),5000L,false))
automaticExplorationAdapter?.setListener(object: AutomaticExplorationAdapter.CompleteListener{ automaticExplorationAdapter?.setListener(object: AutomaticExplorationAdapter.CompleteListener{
override fun onComplete(entity: AutoExplorationEntity) { override fun onComplete(entity: AutoExplorationEntity) {
var allComplete = true //所有探查项目都探查完毕 var allComplete = true //所有探查项目都探查完毕

View File

@@ -9,6 +9,7 @@ import android.widget.ProgressBar
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.function.map.R import com.mogo.eagle.core.function.map.R
import com.mogo.eagle.core.utilcode.util.StringUtils
import kotlin.random.Random import kotlin.random.Random
@@ -17,13 +18,19 @@ class RoadCrossRoamListAdapter(private val mContext: Context, private val lightM
private val items: MutableList<String> = mutableListOf() private val items: MutableList<String> = mutableListOf()
init { init {
items.add("前方路况拥堵分析") // items.add("前方路况拥堵分析")
items.add("路口危险车辆分析") items.add(StringUtils.getString(R.string.module_och_analysis_traffic_conditions_ahead))
items.add("路口交通事故分析") // items.add("路口危险车辆分析")
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){ 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.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger 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.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.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.skin.utils.SkinResources import com.mogo.skin.utils.SkinResources
@@ -238,7 +239,8 @@ class RoadCrossRoamView @JvmOverloads constructor(
// SkinResources.getInstance().getString(R.string.operation_platform_name) // 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) AIAssist.getInstance(context).speakTTSVoiceWithLevel(disStr, AIAssist.NEW_LEVEL_2)
} }
CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG) CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG)

View File

@@ -260,6 +260,29 @@
<string name="module_och_network_error_retry">网络异常,请重试</string> <string name="module_och_network_error_retry">网络异常,请重试</string>
<string name="module_och_open_location_permission_retry">请开启车机定位后重试</string> <string name="module_och_open_location_permission_retry">请开启车机定位后重试</string>
<string name="module_och_network_error_retry1">网络异常,请稍后重试</string> <string name="module_och_network_error_retry1">网络异常,请稍后重试</string>
<string name="module_och_km">公里</string>
<string name="module_och_m"></string>
<string name="module_och_minute">分钟</string>
<string name="module_och_version">版本:</string>
<string name="module_och_crossing_tailback">路口车龙</string>
<string name="module_och_crossing_tailback_desc">前方路口有车龙</string>
<string name="module_och_station">%d站</string>
<string name="module_och_crossing_event_analyse">当前道路事件分析</string>
<string name="module_och_vehicle_ahead">前方车辆</string>
<string name="module_och_vehicle_both_sides">两侧车辆</string>
<string name="module_och_vehicle_behind">后方车辆</string>
<string name="module_och_analysis_vehicle_flow_ahead">前方路口车辆流速分析</string>
<string name="module_och_pedestrians_ahead">前方路口行人</string>
<string name="module_och_sidewalk_video_analysis">路侧视频分析</string>
<string name="module_och_analysis_traffic_conditions_ahead">前方路况拥堵分析</string>
<string name="module_och_analysis_dangerous_vehicles_intersections">路口危险车辆分析</string>
<string name="module_och_analysis_roadside_traffic_accidents">路口交通事故分析</string>
<string name="module_och_analysis_pedestrian_collisions_crossroads">路口行人碰撞分析</string>
<string name="module_och_analysis_non_motorized_vehicles_intersections">路口非机动车分析</string>
<string name="module_och_analysis_intersection_signal_status">路口灯态分析</string>
<string name="module_och_offer_intersection_holographic_image">为您提供路口全息影像,助力出行</string>
<string name="module_och_qr_code_error">出示错误二维码</string>
<string name="module_och_date_format">yyyy年MM月dd日</string>
<string name="module_tts_init_fail">PadTTS 模块初始化异常</string> <string name="module_tts_init_fail">PadTTS 模块初始化异常</string>