[8.2.8][i18n] och tts中文抽取

This commit is contained in:
xinfengkun
2025-12-10 15:53:54 +08:00
parent e8bd8d921f
commit d3974b74d4
34 changed files with 196 additions and 75 deletions

View File

@@ -6,6 +6,8 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManage
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
@@ -27,7 +29,8 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase<IOchLanPasseng
// 司机屏发生变化
val msg = BaseDPMsg(type = DPMsgType.TYPE_CLIENT_REGISTER.type)
LanSocketManager.sendMsgToServer(msg)
LoginStatusManager.changeStatus("sn 变化 连接成功 司机SN:${oldV}---->${newV}")
// LoginStatusManager.changeStatus("sn 变化 连接成功 司机SN:${oldV}---->${newV}")
LoginStatusManager.changeStatus("${StringUtils.getString(R.string.module_core_driver_sn_change)}${oldV}---->${newV}")
if(newV.isNotEmpty()){
OchChainLogManager.writeChainLogNetLanSocketConnect("局域网socket链接状态","sn 变化 已连接 sn${newV}")
}
@@ -49,18 +52,22 @@ object LoginLanPassengerSocket : IReceivedMsgListener, CallerBase<IOchLanPasseng
val msg = BaseDPMsg(type = DPMsgType.TYPE_CLIENT_REGISTER.type)
LanSocketManager.sendMsgToServer(msg)
if(driverSn.isEmpty()){
LoginStatusManager.changeStatus("连接成功 未收到司机屏sn")
// LoginStatusManager.changeStatus("连接成功 未收到司机屏sn")
LoginStatusManager.changeStatus(StringUtils.getString(R.string.module_core_connected_driver_not_sn))
OchChainLogManager.writeChainLogNetLanSocketConnect("局域网socket链接状态","已连接 sn 未收到司机屏sn")
}else{
LoginStatusManager.changeStatus("连接成功 司机SN:${driverSn}")
// LoginStatusManager.changeStatus("连接成功 司机SN:${driverSn}")
LoginStatusManager.changeStatus(StringUtils.getString(R.string.module_core_connected_driver_sn, driverSn))
OchChainLogManager.writeChainLogNetLanSocketConnect("局域网socket链接状态","已连接 sn${driverSn}")
}
}else{// 未连接
if(driverSn.isEmpty()){
LoginStatusManager.changeStatus("当前状态:连接司机屏中")
// LoginStatusManager.changeStatus("当前状态:连接司机屏中")
LoginStatusManager.changeStatus(StringUtils.getString(R.string.module_core_connecting_driver))
OchChainLogManager.writeChainLogNetLanSocketConnect("局域网socket链接状态","连接断开 司机SN:${driverSn}")
}else{
LoginStatusManager.changeStatus("连接断开 司机SN:${driverSn}")
// LoginStatusManager.changeStatus("连接断开 司机SN:${driverSn}")
LoginStatusManager.changeStatus(StringUtils.getString(R.string.module_core_disconnected_driver, driverSn))
OchChainLogManager.writeChainLogNetLanSocketConnect("局域网socket链接状态","连接断开 司机SN:${driverSn}")
}
}

View File

@@ -6,6 +6,8 @@ import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.data.enums.Carmodel
import com.mogo.eagle.core.utilcode.mogo.Product
import com.mogo.eagle.core.utilcode.mogo.Vehicle
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.biz.login.bean.OchBizInfo
import com.mogo.och.common.module.biz.login.bean.OchCarInfo
import com.mogo.och.common.module.biz.login.bean.OchLoginInfo
@@ -26,7 +28,8 @@ object LoginStatusManager : CallerBase<ILoginCallback>() {
loginService?.let {
return it.getFragment()
}
throw ClassNotFoundException("没有找到登录Fragment");
// throw ClassNotFoundException("没有找到登录Fragment");
throw ClassNotFoundException(StringUtils.getString(R.string.module_core_not_find_login_fragment));
}
@JvmStatic

View File

@@ -1,6 +1,8 @@
package com.mogo.och.common.module.constant
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
/**
* Created on 2021/12/6
@@ -97,6 +99,6 @@ class OchCommonConst {
//T1T2的平均里程38km/h
const val TAXI_AVERAGE_SPEED = 38
const val PNC_ACTION_ENTERSTATION = "正在进站"
// const val PNC_ACTION_ENTERSTATION = "正在进站"
}
}

View File

@@ -5,6 +5,8 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import mogo.telematics.pad.MessagePad
import java.util.concurrent.ConcurrentHashMap
@@ -131,7 +133,9 @@ object StopSideManager : IMoGoAutopilotPlanningActionsListener {
}else{
stopSiteStatus = StopSideStatus.NOSTART
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因距离前方站点100m")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"距离前方站点100m,请稍后再试")
// listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"距离前方站点100m,请稍后再试")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,StringUtils.getString(
R.string.module_core_distance_ahead_station_100m))
}
}
}
@@ -146,7 +150,8 @@ object StopSideManager : IMoGoAutopilotPlanningActionsListener {
}else{
stopSiteStatus = StopSideStatus.NOSTART
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因距离路口100m,请稍后再试")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"距离路口100m,请稍后再试")
// listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"距离路口100m,请稍后再试")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,StringUtils.getString(R.string.module_core_distance_intersection_100m))
}
}
}
@@ -160,7 +165,8 @@ object StopSideManager : IMoGoAutopilotPlanningActionsListener {
}else{
stopSiteStatus = StopSideStatus.NOSTART
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因正在变道")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"因车辆正在变道无法靠边停车,请稍后再试")
// listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"因车辆正在变道无法靠边停车,请稍后再试")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,StringUtils.getString(R.string.module_core_due_vehicle_changing_lane_cannot_pull_over_park))
}
}
}
@@ -175,7 +181,8 @@ object StopSideManager : IMoGoAutopilotPlanningActionsListener {
}else{
stopSiteStatus = StopSideStatus.NOSTART
CallerLogger.d(SceneConstant.M_BUS+ TAG,"靠边停车失败_原因未知问题")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"靠边停车失败,请稍后再试")
// listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,"靠边停车失败,请稍后再试")
listener.onStartAutopilotFailure(StopSideStatus.NOSTART,false,StringUtils.getString(R.string.module_core_pull_over_parking_failed))
}
}
}
@@ -190,7 +197,8 @@ object StopSideManager : IMoGoAutopilotPlanningActionsListener {
val tag = it.key
val listener = it.value
CallerLogger.d(SceneConstant.M_BUS+ TAG,"进入正常驾驶")
listener.onStartAutopilotFailure(StopSideStatus.NOTHING,false,"进入正常行驶中")
// listener.onStartAutopilotFailure(StopSideStatus.NOTHING,false,"进入正常行驶中")
listener.onStartAutopilotFailure(StopSideStatus.NOTHING,false,StringUtils.getString(R.string.module_core_enter_normal_driving_state))
}
}
}

View File

@@ -13,6 +13,7 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.permissions.PermissionsDialogUtils
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.utils.PermissionUtil
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
@@ -186,7 +187,8 @@ object ZhiStateManager : ZhiRecordWinUi {
), MainPresenter.MOGO_PERMISSION_REQUEST_CODE
)
}else{// 不会弹系统弹窗
PermissionsDialogUtils.openAppDetails(ActivityUtils.getTopActivity(), "录音", 100)
// PermissionsDialogUtils.openAppDetails(ActivityUtils.getTopActivity(), "录音", 100)
PermissionsDialogUtils.openAppDetails(ActivityUtils.getTopActivity(), StringUtils.getString(R.string.module_core_record_audio1), 100)
}
}

View File

@@ -25,7 +25,7 @@ public class DateTimeUtil {
public static final String yyyy_MM_dd_HH_mm = "yyyy-MM-dd HH:mm";
public static final String yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";
public static final String HH_mm_ss = "HH:mm:ss";
public static final String MM_dd_HH_mm_china = "yyyy年MM月dd日";
// public static final String MM_dd_HH_mm_china = "yyyy年MM月dd日";
public static String formatCalendarToString(Calendar calendar, String format){
if (calendar == null) return "";

View File

@@ -10,6 +10,8 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.Product
import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.manager.cache.OchSPManager
import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
import com.mogo.och.common.module.manager.socket.lan.bean.EnvType
@@ -177,13 +179,15 @@ object FlavorUtils {
val isProjectSupply = ProjectUtils.getProjectType()==projectType
if (!isProjectSupply) {
reason.append("项目异常<当前:${ProjectUtils.getProjectType().value}, 后台配置:${projectType.value}> ")
// reason.append("项目异常<当前:${ProjectUtils.getProjectType().value}, 后台配置:${projectType.value}> ")
reason.append(StringUtils.getString(R.string.module_core_project_abnormal, ProjectUtils.getProjectType().value, projectType.value))
}
val envTypeSupply = EnvUtils.getEnvType()==envType
if (!envTypeSupply) {
reason.append("环境异常<当前:${EnvUtils.getEnvType().value} 后台配置:${envType.value}> ")
// reason.append("环境异常<当前:${EnvUtils.getEnvType().value} 后台配置:${envType.value}> ")
reason.append(StringUtils.getString(R.string.module_core_environment_abnormal, EnvUtils.getEnvType().value, envType.value))
}
return reason.toString()

View File

@@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.utilcode.util.ConvertUtils;
import com.mogo.eagle.core.utilcode.util.StringUtils;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.common.module.R;
@@ -83,7 +84,7 @@ public class SlidePanelView extends View {
private float lastX;
private boolean isToEnd = false;
private static final String STRING_SLIDE_TO_RIGHT = "向右滑动";
// private static final String STRING_SLIDE_TO_RIGHT = "向右滑动";
private RectF bgRectF;
private Bitmap bmBlock;
@@ -94,7 +95,8 @@ public class SlidePanelView extends View {
private ObjectAnimator matrixAnim;
private String blockText = STRING_SLIDE_TO_RIGHT;
// private String blockText = STRING_SLIDE_TO_RIGHT;
private String blockText = StringUtils.getString(R.string.module_och_swipe_right);
private final Paint.FontMetrics blockTextMetrics = new Paint.FontMetrics();
private static final int GRADIENT_OFFSET = 200;

View File

@@ -10,6 +10,7 @@ import android.view.animation.LinearInterpolator
import android.widget.RelativeLayout
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.R
import com.mogo.och.common.module.utils.SoundPoolHelper
@@ -189,7 +190,8 @@ class StartAutopilotAnimationView @JvmOverloads constructor(
override fun onTimerTick(value: Long) {
// 倒计时
UiThreadHandler.post {
startAutopilotTip.text = "${Math.ceil(value.toDouble()/1000).toInt()} 车辆即将自动开启自动驾驶"
// startAutopilotTip.text = "${Math.ceil(value.toDouble()/1000).toInt()} 车辆即将自动开启自动驾驶"
startAutopilotTip.text = "${Math.ceil(value.toDouble()/1000).toInt()} ${StringUtils.getString(R.string.module_core_vehicle_will_auto_enable_autopilot)}"
}
playDI()
}
@@ -199,7 +201,8 @@ class StartAutopilotAnimationView @JvmOverloads constructor(
//倒计时结束了...
UiThreadHandler.post {
SoundPoolHelper.getSoundPoolHelper().releaseSoundPool()
startAutopilotTip.text = "车辆正在自动开启自动驾驶"
// startAutopilotTip.text = "车辆正在自动开启自动驾驶"
startAutopilotTip.text = StringUtils.getString(R.string.module_core_vehicle_is_auto_enabling_autopilot)
}
}

View File

@@ -12,6 +12,7 @@ import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.mogo.eagle.core.function.business.travelreality.EventDrawBean
import com.mogo.eagle.core.function.view.TravelRealityView
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import kotlinx.android.synthetic.main.common_overmap_view.view.ovbv_bottom_icons
import kotlinx.android.synthetic.main.common_overmap_view.view.ovbv_bottom_icons_cl
@@ -66,10 +67,14 @@ class OverMapView @JvmOverloads constructor(
//ovbv_bottom_icons?.setHasFixedSize(true)
iconListItemAdapter = IconListItemAdapter(
context, mutableListOf(
EventDrawBean(R.drawable.mogo_quanxi_lukou, "全息路口"),
EventDrawBean(R.drawable.mogo_jingzhi_nor, "静止事件"),
EventDrawBean(R.drawable.mogo_shigong_image, "道路施工"),
EventDrawBean(R.drawable.mogo_shigu_nor, "交通事故")
// EventDrawBean(R.drawable.mogo_quanxi_lukou, "全息路口"),
EventDrawBean(R.drawable.mogo_quanxi_lukou, StringUtils.getString(R.string.module_core_holographic_intersection)),
// EventDrawBean(R.drawable.mogo_jingzhi_nor, "静止事件"),
EventDrawBean(R.drawable.mogo_jingzhi_nor, StringUtils.getString(R.string.module_core_stationary_event)),
// EventDrawBean(R.drawable.mogo_shigong_image, "道路施工"),
EventDrawBean(R.drawable.mogo_shigong_image, StringUtils.getString(R.string.module_core_road_construction)),
// EventDrawBean(R.drawable.mogo_shigu_nor, "交通事故")
EventDrawBean(R.drawable.mogo_shigu_nor, StringUtils.getString(R.string.module_core_traffic_accident))
)
)
@@ -79,14 +84,17 @@ class OverMapView @JvmOverloads constructor(
tv_add_true.setOnClickListener {
listener.onDraw(mutableListOf(
EventDrawBean(R.drawable.mogo_jingzhi_nor,"全息路口"),
EventDrawBean(R.drawable.mogo_shigong_image,"静止事件"),
// EventDrawBean(R.drawable.mogo_jingzhi_nor,"全息路口"),
EventDrawBean(R.drawable.mogo_jingzhi_nor,StringUtils.getString(R.string.module_core_holographic_intersection)),
// EventDrawBean(R.drawable.mogo_shigong_image,"静止事件"),
EventDrawBean(R.drawable.mogo_shigong_image,StringUtils.getString(R.string.module_core_stationary_event)),
),true)
}
tv_add_false.setOnClickListener {
listener.onDraw(mutableListOf(
EventDrawBean(R.drawable.mogo_quanxi_lukou,"全息路口"),
// EventDrawBean(R.drawable.mogo_quanxi_lukou,"全息路口"),
EventDrawBean(R.drawable.mogo_quanxi_lukou,StringUtils.getString(R.string.module_core_holographic_intersection)),
),false)
}

View File

@@ -14,6 +14,7 @@ import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import androidx.lifecycle.lifecycleScope
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.RxUtils
@@ -72,9 +73,11 @@ class EnterExitRemoteDriverView @JvmOverloads constructor(
override fun setCountDownText(isRemote: Boolean) {
val title = if (isRemote) {
"平行驾驶已介入,请持续关注自车及周边交通状况,如有异常可随时接管"
// "平行驾驶已介入,请持续关注自车及周边交通状况,如有异常可随时接管"
StringUtils.getString(R.string.module_core_parallel_driving_has_intervened_hint)
} else {
"平行驾驶已退出"
// "平行驾驶已退出"
StringUtils.getString(R.string.module_core_parallel_driving_has_exited)
}
startAutopilotTip.text = title

View File

@@ -14,6 +14,7 @@ import androidx.lifecycle.findViewTreeLifecycleOwner
import androidx.lifecycle.findViewTreeViewModelStoreOwner
import androidx.lifecycle.lifecycleScope
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import kotlinx.android.synthetic.main.common_enter_remote_passenger_view.view.actv_remote_mode_title
import kotlinx.coroutines.launch
@@ -57,9 +58,11 @@ class EnterExitRemotePassengerView @JvmOverloads constructor(
override fun setCountDownText(isRemote: Boolean) {
val title = if(isRemote){
"平行驾驶已介入"
// "平行驾驶已介入"
StringUtils.getString(R.string.module_core_parallel_driving_has_intervened)
}else{
"平行驾驶已退出"
// "平行驾驶已退出"
StringUtils.getString(R.string.module_core_parallel_driving_has_exited)
}
// 倒计时

View File

@@ -8,6 +8,8 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.R
import com.mogo.och.common.module.biz.birdge.BridgeListener
import com.mogo.och.common.module.biz.birdge.BridgeManager
import com.mogo.och.common.module.biz.media.VoiceNotice
@@ -56,13 +58,15 @@ class EnterExitRemoteViewModel : ViewModel(), BridgeListener, IMogoStatusChanged
// 离开平行驾驶
if(oldStatus == IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING
&&newStatus != IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING){
VoiceNotice.showNotice("平行驾驶已退出")
// VoiceNotice.showNotice("平行驾驶已退出")
VoiceNotice.showNotice(StringUtils.getString(R.string.module_core_parallel_driving_has_exited))
enterOrExitRemoteMode(false)
}
// 进入平行驾驶
if(oldStatus != IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING
&&newStatus == IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING){
VoiceNotice.showNotice("平行驾驶已介入,请持续关注自车及周边交通状况,如有异常可随时接管")
// VoiceNotice.showNotice("平行驾驶已介入,请持续关注自车及周边交通状况,如有异常可随时接管")
VoiceNotice.showNotice(StringUtils.getString(R.string.module_core_parallel_driving_has_intervened_hint))
enterOrExitRemoteMode(true)
}
}

View File

@@ -18,6 +18,7 @@
android:layout_width="@dimen/dp_36"
android:layout_height="@dimen/dp_36"/>
<!-- android:text="平行驾驶已介入"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_remote_mode_title"
app:layout_constraintTop_toTopOf="parent"
@@ -28,7 +29,7 @@
android:layout_marginEnd="@dimen/dp_74"
android:textSize="@dimen/dp_30"
android:textColor="@color/common_ffffffff"
android:text="平行驾驶已介入"
android:text="@string/module_core_parallel_driving_has_intervened"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

View File

@@ -12,11 +12,12 @@
android:layout_height="@dimen/dp_140"
android:src="@drawable/common_feedback_success" />
<!-- android:text="打点成功"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_feedback_status_describe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打点成功"
android:text="@string/module_och_report_point_success"
android:textSize="@dimen/dp_38"
android:textColor="@color/white"
android:layout_marginTop="@dimen/dp_28"/>

View File

@@ -21,6 +21,7 @@
android:layout_width="@dimen/dp_81"
android:layout_height="@dimen/dp_81"/>
<!-- android:text="搜索"-->
<androidx.appcompat.widget.AppCompatTextView
app:layout_constraintTop_toTopOf="@+id/aciv_close_key"
app:layout_constraintBottom_toBottomOf="@+id/aciv_close_key"
@@ -28,7 +29,7 @@
android:layout_marginEnd="@dimen/dp_126"
android:textSize="@dimen/dp_40"
android:textColor="@color/common_ffffffff"
android:text="搜索"
android:text="@string/module_core_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

View File

@@ -12,11 +12,12 @@
android:layout_height="@dimen/dp_80"
android:src="@drawable/common_loading_nor" />
<!-- android:text="请求中,请稍后..."-->
<TextView
android:id="@+id/dialog_loading_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请求中,请稍后..."
android:text="@string/module_core_in_progress"
android:textColor="#CCFFFFFF"
android:layout_marginTop="@dimen/dp_10"/>
</LinearLayout>

View File

@@ -18,13 +18,14 @@
app:layout_constraintStart_toStartOf="parent"
/>
<!-- android:text="全息路口"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/aciv_quanxiluk_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
android:layout_marginEnd="@dimen/dp_40"
android:text="全息路口"
android:text="@string/module_core_holographic_intersection"
android:textColor="#0D0D0D"
app:layout_constraintTop_toTopOf="@+id/aciv_quanxiluk"
app:layout_constraintBottom_toBottomOf="@+id/aciv_quanxiluk"
@@ -44,12 +45,13 @@
app:layout_constraintEnd_toStartOf="@+id/aciv_jingzhi_value"
/>
<!-- android:text="全息路口"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/aciv_jingzhi_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
android:text="全息路口"
android:text="@string/module_core_holographic_intersection"
android:textColor="#0D0D0D"
android:layout_marginEnd="@dimen/dp_40"
app:layout_constraintTop_toTopOf="@+id/aciv_quanxiluk"
@@ -70,12 +72,13 @@
app:layout_constraintEnd_toStartOf="@+id/aciv_shigong_value"
/>
<!-- android:text="全息路口"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/aciv_shigong_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
android:text="全息路口"
android:text="@string/module_core_holographic_intersection"
android:textColor="#0D0D0D"
android:layout_marginEnd="@dimen/dp_40"
app:layout_constraintTop_toTopOf="@+id/aciv_shigong"
@@ -96,12 +99,13 @@
app:layout_constraintEnd_toStartOf="@+id/aciv_shigu_value"
/>
<!-- android:text="全息路口"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/aciv_shigu_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
android:text="全息路口"
android:text="@string/module_core_holographic_intersection"
android:textColor="#0D0D0D"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/aciv_shigu"

View File

@@ -47,18 +47,20 @@
</androidx.recyclerview.widget.RecyclerView>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- android:text="添加true"-->
<TextView
android:id="@+id/tv_add_true"
android:layout_marginTop="@dimen/dp_198"
android:text="添加true"
android:text="@string/module_core_add_true"
android:visibility="gone"
android:background="@color/light_prompt_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<!-- android:text="添加false"-->
<TextView
android:id="@+id/tv_add_false"
android:text="添加false"
android:text="@string/module_core_add_false"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_198"
android:layout_alignParentEnd="true"

View File

@@ -14,6 +14,7 @@
android:src="@drawable/mogo_quanxi_lukou"
/>
<!-- android:text="全息路口"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/aciv_quanxiluk_value"
android:layout_width="wrap_content"
@@ -25,7 +26,7 @@
android:layout_marginEnd="@dimen/dp_35"
app:layout_constraintStart_toEndOf="@+id/aciv_quanxiluk"
android:textSize="@dimen/dp_24"
android:text="全息路口"
android:text="@string/module_core_holographic_intersection"
android:textColor="@color/white"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -2,10 +2,12 @@ package com.mogo.och.offline.repository.db.repository
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OFFLINE
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.data.db.exception.DbException
import com.mogo.och.offline.R
import com.mogo.och.offline.repository.db.IDbRepository
import com.mogo.och.offline.repository.db.MyDataBase
import com.mogo.och.offline.repository.db.bean.TaskDataBean
@@ -144,7 +146,8 @@ object TaskDb : IDbRepository {
return@flatMap Observable.error(
DataException(
DataException.startTaskErrorCode,
"未插入数据"
// "未插入数据"
StringUtils.getString(R.string.module_core_not_insert_data)
)
)
} else {

View File

@@ -27,7 +27,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<!-- android:text="当前网络良好(5s)"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/actv_code_download"
app:layout_constraintTop_toTopOf="@+id/gl_horizontal_top"
@@ -36,7 +36,7 @@
android:layout_marginTop="@dimen/dp_46"
android:textSize="@dimen/dp_32"
android:textColor="@color/white"
android:text="当前网络良好(5s)"
android:text="@string/module_core_network_good"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

View File

@@ -2,6 +2,7 @@ package com.mogo.och.weaknet.model
import android.annotation.SuppressLint
import android.content.Context
import android.text.TextUtils
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.module.status.MogoStatusManager
import com.mogo.eagle.core.data.config.FunctionBuildConfig
@@ -13,6 +14,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
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.eagle.core.utilcode.util.UiThreadHandler
@@ -111,12 +113,15 @@ object OrderModel {
private val bridgeListener = object : BridgeListener{
override fun onPncInfoListener(pncAction: String) {
when (pncAction) {
OchCommonConst.PNC_ACTION_ENTERSTATION -> {
ShuttleVoiceManager.arrivedStationOut(ResourcesUtils.getString(R.string.m2_voice_out_arriving_station))
}
else -> {}
if (TextUtils.equals(pncAction, StringUtils.getString(R.string.module_core_entering_the_station))) {
ShuttleVoiceManager.arrivedStationOut(ResourcesUtils.getString(R.string.m2_voice_out_arriving_station))
}
// when (pncAction) {
// OchCommonConst.PNC_ACTION_ENTERSTATION -> {
// ShuttleVoiceManager.arrivedStationOut(ResourcesUtils.getString(R.string.m2_voice_out_arriving_station))
// }
// else -> {}
// }
}
}

View File

@@ -7,6 +7,7 @@ import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.mogo.eagle.core.utilcode.kotlin.onClick
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.utils.DateTimeUtil
import com.mogo.och.common.module.utils.ResourcesUtils
import com.mogo.och.common.module.wigets.WindowRelativeLayout
@@ -105,7 +106,8 @@ class RunningTaskManagerView : WindowRelativeLayout, RunningTastViewModel.Runnin
actvCurrentDate.setText(
DateTimeUtil.formatLongToString(
System.currentTimeMillis(),
DateTimeUtil.MM_dd_HH_mm_china
// DateTimeUtil.MM_dd_HH_mm_china
StringUtils.getString(R.string.module_och_date_format)
)
)
}

View File

@@ -25,6 +25,7 @@ import com.mogo.eagle.core.function.view.RoadCrossRoamListAdapter
import com.mogo.eagle.core.utilcode.mogo.glide.GlideImageLoader
import com.mogo.eagle.core.utilcode.mogo.imageloader.MogoImageView
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.shuttle.weaknet.passenger.R
import com.mogo.och.shuttle.weaknet.passenger.ui.mind.bean.AIMessage
import java.text.SimpleDateFormat
@@ -168,13 +169,20 @@ class AutomaticExplorationViewHolder(binding: View) : MessageViewHolder(binding)
private fun initData() {
val dataList = ArrayList<AutoExplorationEntity>(7)
dataList.add(AutoExplorationEntity("当前道路事件分析",2000L,false))
dataList.add(AutoExplorationEntity("前方车辆",2000L,false))
dataList.add(AutoExplorationEntity("两侧车辆",2600L,false))
dataList.add(AutoExplorationEntity("后方车辆",3000L,false))
dataList.add(AutoExplorationEntity("前方路口车辆流速分析",4000L,false))
dataList.add(AutoExplorationEntity("前方路口行人/非机动车分析",4300L,false))
dataList.add(AutoExplorationEntity("路侧视频分析",5000L,false))
// dataList.add(AutoExplorationEntity("当前道路事件分析",2000L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_crossing_event_analyse),2000L,false))
// dataList.add(AutoExplorationEntity("前方车辆",2000L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_ahead),2000L,false))
// dataList.add(AutoExplorationEntity("两侧车辆",2600L,false))
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_both_sides),2600L,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: AutomaticExplorationB2Adapter.CompleteListener{
override fun onComplete(entity: AutoExplorationEntity) {
dataList.forEach {

View File

@@ -224,6 +224,7 @@ class M2StatusBarView @JvmOverloads constructor(
private fun isZhuhai(cityCode: String? = SharedPrefsMgr.getInstance().getString(SharedPrefsConstants.CMDB_CITY_CODE, "")): Boolean {
if (cityCode.isNullOrEmpty()) return false
return cityCode.contains("珠海")
// return cityCode.contains("珠海")
return cityCode.contains("珠海") || cityCode.lowercase().contains("zhuhai")
}
}

View File

@@ -21,6 +21,7 @@ import android.view.animation.DecelerateInterpolator;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.StringUtils;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.sweeper.R;
@@ -78,7 +79,7 @@ public class SlidePanelView extends View {
private float lastX;
private boolean isToEnd = false;
private static final String STRING_SLIDE_TO_RIGHT = "向右滑动";
// private static final String STRING_SLIDE_TO_RIGHT = "向右滑动";
private RectF bgRectF;
private Bitmap bmBlock;
@@ -89,7 +90,8 @@ public class SlidePanelView extends View {
private ObjectAnimator matrixAnim;
private String blockText = STRING_SLIDE_TO_RIGHT;
// private String blockText = STRING_SLIDE_TO_RIGHT;
private String blockText = StringUtils.getString(R.string.module_och_swipe_right);
private final Paint.FontMetrics blockTextMetrics = new Paint.FontMetrics();
private static final int GRADIENT_OFFSET = 200;

View File

@@ -12,11 +12,12 @@
android:layout_height="@dimen/dp_80"
android:src="@drawable/routing_loading_nor" />
<!-- android:text="请求中,请稍后..."-->
<TextView
android:id="@+id/dialog_loading_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请求中,请稍后..."
android:text="@string/module_core_in_progress"
android:textColor="#CCFFFFFF"
android:layout_marginTop="@dimen/dp_10"/>
</LinearLayout>

View File

@@ -34,18 +34,20 @@
android:layout_marginEnd="@dimen/dp_46"
android:layout_marginBottom="@dimen/dp_198"/>
<!-- android:text="添加true"-->
<TextView
android:id="@+id/tv_add_true"
android:layout_marginTop="@dimen/dp_198"
android:text="添加true"
android:text="@string/module_core_add_true"
android:visibility="gone"
android:background="@color/light_prompt_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<!-- android:text="添加false"-->
<TextView
android:id="@+id/tv_add_false"
android:text="添加false"
android:text="@string/module_core_add_false"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_198"
android:layout_alignParentEnd="true"

View File

@@ -16,6 +16,7 @@
android:src="@drawable/mogo_quanxi_lukou"
/>
<!-- android:text="全息路口"-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/aciv_quanxiluk_value"
android:layout_width="wrap_content"
@@ -27,7 +28,7 @@
android:layout_marginEnd="@dimen/dp_40"
app:layout_constraintStart_toEndOf="@+id/aciv_quanxiluk"
android:textSize="@dimen/dp_24"
android:text="全息路口"
android:text="@string/module_core_holographic_intersection"
android:textColor="#0D0D0D"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -273,7 +273,7 @@
<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_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>
@@ -811,6 +811,7 @@
<string name="module_core_show_pop_window">显示悬浮窗</string>
<string name="module_core_comma"></string>
<string name="module_core_record_audio">录音机</string>
<string name="module_core_record_audio1">录音</string>
<string name="module_core_read_external_storage">读取外部文件</string>
<string name="module_core_write_external_storage">写入外部文件</string>
<string name="module_core_location">定位</string>
@@ -1295,6 +1296,31 @@
<string name="common_bridge_distance_trajectory_line_distance_over_15m">距离轨迹线超过15米</string>
<string name="common_bridge_distance_please_confirm_route_id">请确认线路ID</string>
<string name="common_bridge_distance_autonomous_driving_status">自动驾驶状态:%sline信息%s定位信息:%s%s%s当前速度:%s</string>
<string name="module_core_driver_sn_change">SN 变化 连接成功 司机SN</string>
<string name="module_core_connected_driver_not_sn">连接成功 未收到司机屏SN</string>
<string name="module_core_connected_driver_sn">连接成功 司机SN%s</string>
<string name="module_core_connecting_driver">当前状态:连接司机屏中</string>
<string name="module_core_disconnected_driver">连接断开 司机SN%s</string>
<string name="module_core_not_find_login_fragment">没有找到登录Fragment</string>
<string name="module_core_distance_ahead_station_100m">距离前方站点100m,请稍后再试</string>
<string name="module_core_distance_intersection_100m">距离路口100m,请稍后再试</string>
<string name="module_core_due_vehicle_changing_lane_cannot_pull_over_park">因车辆正在变道无法靠边停车,请稍后再试</string>
<string name="module_core_pull_over_parking_failed">靠边停车失败,请稍后再试</string>
<string name="module_core_enter_normal_driving_state">进入正常行驶中</string>
<string name="module_core_project_abnormal">项目异常&lt;当前:%s后台配置%s&gt;</string>
<string name="module_core_environment_abnormal">环境异常&lt;当前:%s后台配置%s&gt;</string>
<string name="module_core_vehicle_will_auto_enable_autopilot">车辆即将自动开启自动驾驶</string>
<string name="module_core_vehicle_is_auto_enabling_autopilot">车辆正在自动开启自动驾驶</string>
<string name="module_core_parallel_driving_has_intervened_hint">平行驾驶已介入,请持续关注自车及周边交通状况,如有异常可随时接管</string>
<string name="module_core_parallel_driving_has_intervened">平行驾驶已介入</string>
<string name="module_core_parallel_driving_has_exited">平行驾驶已退出</string>
<string name="module_core_search">搜索</string>
<string name="module_core_in_progress">请求中,请稍后…</string>
<string name="module_core_add_true">添加true</string>
<string name="module_core_add_false">添加false</string>
<string name="module_core_not_insert_data">未插入数据</string>
<string name="module_core_network_good">当前网络良好(5s)</string>
<!-- <string name="_content"></string>-->
<!-- <string name="_tts"></string>-->

View File

@@ -19,6 +19,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
import com.mogo.eagle.core.utilcode.util.FileUtils
import com.mogo.eagle.core.utilcode.util.ResourceUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.tts.base.IGlobalTtsCallback
@@ -339,7 +340,8 @@ class IFlyTekOfflineTts : IMogoTTS {
builder.param("speed", 50)
aiHandle = AiHelper.getInst().start(ABILITYID, builder.build(), null)
if (!aiHandle!!.isSuccess) {
handleErrorEvent("开启会话报错:${aiHandle!!.code}")
// handleErrorEvent("开启会话报错:${aiHandle!!.code}")
handleErrorEvent("${StringUtils.getString(R.string.module_tts_start_ai_handle_error)}${aiHandle!!.code}")
aiHandle = null
return
}
@@ -349,7 +351,8 @@ class IFlyTekOfflineTts : IMogoTTS {
dataBuilder.payload(input)
val ret = AiHelper.getInst().write(dataBuilder.build(), aiHandle)
if (ret != 0) {
handleErrorEvent("写能力输入数据失败")
// handleErrorEvent("写能力输入数据失败")
handleErrorEvent(StringUtils.getString(R.string.module_tts_write_ai_handle_error))
aiHandle = null
}
}
@@ -428,7 +431,8 @@ class IFlyTekOfflineTts : IMogoTTS {
when (event) {
0 -> {
d(TAG, "未知错误")
handleErrorEvent("未知错误")
// handleErrorEvent("未知错误")
handleErrorEvent(StringUtils.getString(R.string.module_tts_unknown_error))
}
AeeEvent.AEE_EVENT_END.value -> {
@@ -444,7 +448,8 @@ class IFlyTekOfflineTts : IMogoTTS {
override fun onError(handleID: Int, err: Int, msg: String?, usrCxt: Any?) {
d(TAG, "错误码:$err,错误信息:$msg")
handleErrorEvent("错误码:$err,错误信息:$msg")
// handleErrorEvent("错误码:$err,错误信息:$msg")
handleErrorEvent(StringUtils.getString(R.string.module_tts_ai_handle_error_code, err, msg))
}
}

View File

@@ -11,7 +11,8 @@ class XTTSParams {
val vcnList: MutableList<ParamInfo> = ArrayList<ParamInfo>()
vcnList.add(ParamInfo("xiaoyan", "xiaoyan(中文)"))
vcnList.add(ParamInfo("xiaofeng", "xiaofeng(中文)"))
vcnList.add(ParamInfo("catherine", "catherine(英文)"));
// vcnList.add(ParamInfo("catherine", "catherine(英文)"));
vcnList.add(ParamInfo("catherine", "catherine(English)"));
// vcnList.add(new ParamInfo("zhongcun", "zhongcun日语"));
// vcnList.add(new ParamInfo("kim", "kim韩语"));
// vcnList.add(new ParamInfo("mariane", "mariane法语"));
@@ -25,7 +26,8 @@ class XTTSParams {
val languageList: MutableList<ParamInfo> = ArrayList<ParamInfo>()
languageList.add(ParamInfo("1", "中文"))
languageList.add(ParamInfo("1", "中文"))
languageList.add(ParamInfo("2", "英文"));
// languageList.add(ParamInfo("2", "英文"));
languageList.add(ParamInfo("2", "English"));
// languageList.add(new ParamInfo("5", "日语"));
// languageList.add(new ParamInfo("16", "韩语"));
// languageList.add(new ParamInfo("3", "法语"));

View File

@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="module_tts_start_ai_handle_error">开启会话报错:</string>
<string name="module_tts_write_ai_handle_error">写能力输入数据失败</string>
<string name="module_tts_ai_handle_error_code">错误码:%d错误信息%s</string>
<string name="module_tts_unknown_error">未知错误</string>
</resources>