[6.6.0] merge
This commit is contained in:
@@ -11,7 +11,6 @@ import kotlinx.android.synthetic.main.charter_p_statusview_blue_tooth.view.mofan
|
||||
/**
|
||||
* 魔戒蓝牙控件
|
||||
* 放置于StatusBar右侧位置
|
||||
* todo arrow
|
||||
*/
|
||||
class M1BlueToothView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
|
||||
@@ -10,6 +10,9 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.commons.utils.MogoAnalyticUtils
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
@@ -19,22 +22,21 @@ import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
|
||||
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.d
|
||||
import com.mogo.eagle.core.utilcode.util.AppUtils
|
||||
import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.eagle.core.utilcode.util.VolumeUtils
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.login.BusinessEnum
|
||||
import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.provider.CommonService
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
|
||||
/**
|
||||
* 网约车小巴业务实现入口
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
private var containerId = 0
|
||||
@@ -79,14 +81,14 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
}
|
||||
|
||||
private fun getFragment(): Fragment {
|
||||
if(FunctionBuildConfig.isOffLine){
|
||||
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
||||
if (FunctionBuildConfig.isOffLine) {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
return getFragmentByServeName(OchCommonConst.OFFLINE_DRIVER)
|
||||
}else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
|
||||
} else if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
return getFragmentByServeName(OchCommonConst.OFFLINE_PASSENGER)
|
||||
}
|
||||
}
|
||||
if(DeviceUtils.isEB5Model()&&!AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)){
|
||||
if(DeviceUtils.isEB5Model() && !AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)){
|
||||
val maxVolume = VolumeUtils.getMaxVolume(AudioManager.STREAM_MUSIC)
|
||||
val volume = VolumeUtils.getVolume(AudioManager.STREAM_MUSIC)
|
||||
val tartgetVolume = (maxVolume * 0.8).toInt()
|
||||
@@ -98,19 +100,19 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
if (AppIdentityModeUtils.isBusDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
return getFragmentByServeName(OchCommonConst.BUS_DRIVER)
|
||||
} else if (AppIdentityModeUtils.isShuttleDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
return if(ProjectUtils.isSaas()){
|
||||
return if (ProjectUtils.isSaas()) {
|
||||
getFragmentByServeName(OchCommonConst.SHUTTLE_DRIVER_WEAKNET)
|
||||
}else{
|
||||
} else {
|
||||
getFragmentByServeName(OchCommonConst.SHUTTLE_DRIVER)
|
||||
}
|
||||
} else if (AppIdentityModeUtils.isCharterDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
return getFragmentByServeName(OchCommonConst.CHARTER_DRIVER)
|
||||
} else if (AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
return if(ProjectUtils.isMogo()){
|
||||
return if (ProjectUtils.isMogo()) {
|
||||
getFragmentByServeName(OchCommonConst.TAXI_DRIVER)
|
||||
}else if(ProjectUtils.isSaas()){
|
||||
} else if (ProjectUtils.isSaas()) {
|
||||
getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_DRIVER)
|
||||
}else{
|
||||
} else {
|
||||
getFragmentByServeName(OchCommonConst.TAXI_DRIVER)
|
||||
}
|
||||
} else if (AppIdentityModeUtils.isSweeper(FunctionBuildConfig.appIdentityMode)) {
|
||||
@@ -118,19 +120,19 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
} else if (AppIdentityModeUtils.isBusPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
return getFragmentByServeName(OchCommonConst.BUS_PASSENGER)
|
||||
} else if (AppIdentityModeUtils.isShuttlePassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
return if(ProjectUtils.isSaas()){
|
||||
return if (ProjectUtils.isSaas()) {
|
||||
getFragmentByServeName(OchCommonConst.SHUTTLE_PASSENGER_WEAKNET)
|
||||
}else{
|
||||
} else {
|
||||
getFragmentByServeName(OchCommonConst.SHUTTLE_PASSENGER)
|
||||
}
|
||||
} else if (AppIdentityModeUtils.isCharterPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
return getFragmentByServeName(OchCommonConst.CHARTER_PASSENGER)
|
||||
} else if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||
return if(ProjectUtils.isMogo()){
|
||||
return if (ProjectUtils.isMogo()) {
|
||||
getFragmentByServeName(OchCommonConst.TAXI_PASSENGER)
|
||||
}else if(ProjectUtils.isSaas()){
|
||||
} else if (ProjectUtils.isSaas()) {
|
||||
getFragmentByServeName(OchCommonConst.TAXI_UNMANNED_PASSENGER)
|
||||
}else{
|
||||
} else {
|
||||
getFragmentByServeName(OchCommonConst.TAXI_PASSENGER)
|
||||
}
|
||||
}
|
||||
@@ -162,7 +164,7 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
}
|
||||
|
||||
override fun onStatusChange(currentStatus: LoginStatusEnum) {
|
||||
d(TAG, "登录状态发生改变 ${currentStatus}")
|
||||
d(TAG, "登录状态发生改变 $currentStatus")
|
||||
UiThreadHandler.post {
|
||||
showFragment()
|
||||
}
|
||||
@@ -170,18 +172,31 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
|
||||
override fun onBusinessChange(businessEnum: BusinessEnum) {
|
||||
super.onBusinessChange(businessEnum)
|
||||
val (_, identity, model) =AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode)
|
||||
val (_, identity, model) = AppIdentityModeUtils.getInfo(FunctionBuildConfig.appIdentityMode)
|
||||
when (businessEnum) {
|
||||
BusinessEnum.None -> {}
|
||||
BusinessEnum.Taxi -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.TAXI}_${identity}_${model}"
|
||||
BusinessEnum.Bus -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.BUS}_${identity}_${model}"
|
||||
BusinessEnum.Shuttle -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.SHUTTLE}_${identity}_${model}"
|
||||
BusinessEnum.Charter -> FunctionBuildConfig.appIdentityMode = "${AppIdentityModeUtils.CHARTER}_${identity}_${model}"
|
||||
BusinessEnum.Taxi -> FunctionBuildConfig.appIdentityMode =
|
||||
"${AppIdentityModeUtils.TAXI}_${identity}_${model}"
|
||||
|
||||
BusinessEnum.Bus -> FunctionBuildConfig.appIdentityMode =
|
||||
"${AppIdentityModeUtils.BUS}_${identity}_${model}"
|
||||
|
||||
BusinessEnum.Shuttle -> FunctionBuildConfig.appIdentityMode =
|
||||
"${AppIdentityModeUtils.SHUTTLE}_${identity}_${model}"
|
||||
|
||||
BusinessEnum.Charter -> FunctionBuildConfig.appIdentityMode =
|
||||
"${AppIdentityModeUtils.CHARTER}_${identity}_${model}"
|
||||
}
|
||||
// 加入启动统计
|
||||
val mStartParams: HashMap<String, Any> = HashMap()
|
||||
mStartParams["start_time"] = TimeUtils.getNowMills()
|
||||
mStartParams["app_version"] = AppUtils.getAppVersionName()
|
||||
mStartParams["app_identity_mode"] = FunctionBuildConfig.appIdentityMode
|
||||
MogoAnalyticUtils.track("app_start_time", mStartParams)
|
||||
}
|
||||
|
||||
override fun onBusinessChangeDebug(businessEnum: BusinessEnum) {
|
||||
if(businessEnum==BusinessEnum.None){
|
||||
if (businessEnum == BusinessEnum.None) {
|
||||
removeStatusBar()
|
||||
CallerHmiManager.hideToolsView()
|
||||
ToggleDebugView.toggleDebugView.dismiss()
|
||||
@@ -194,7 +209,7 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
back.replace(containerId, fragment, fragment.tag)
|
||||
back.commitAllowingStateLoss()
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
onBusinessChange(businessEnum)
|
||||
val supportFragmentManager: FragmentManager? = activity?.supportFragmentManager
|
||||
val fragment = getFragment()
|
||||
@@ -227,22 +242,23 @@ abstract class FacadeProvider : IMoGoFunctionProvider, ILoginCallback {
|
||||
)
|
||||
statusBarLP.topMargin = 0
|
||||
statusBarLP.gravity = Gravity.TOP
|
||||
statusBar?.let {view->
|
||||
if(view.isAttachedToWindow){
|
||||
statusBar?.let { view ->
|
||||
if (view.isAttachedToWindow) {
|
||||
return
|
||||
}
|
||||
}
|
||||
CallerLogger.d(TAG,"添加statusBar---${commonService}")
|
||||
CallerLogger.d(TAG, "添加statusBar---${commonService}")
|
||||
decorView.addView(statusBarView, statusBarLP)
|
||||
}
|
||||
}
|
||||
private fun removeStatusBar(){
|
||||
|
||||
private fun removeStatusBar() {
|
||||
activity?.let {
|
||||
CallerLogger.d(TAG,"移除statusBar")
|
||||
CallerLogger.d(TAG, "移除statusBar")
|
||||
val decorView = it.window.decorView as? FrameLayout ?: return
|
||||
val statusBar = decorView.findViewWithTag<View>("status_bar")
|
||||
statusBar?.let {
|
||||
decorView.removeView(it)
|
||||
val statusBar = decorView.findViewWithTag<View>("status_bar")
|
||||
statusBar?.let { view ->
|
||||
decorView.removeView(view)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ import kotlinx.android.synthetic.main.taxt_u_p_blue_tooth.view.mofangView
|
||||
/**
|
||||
* 魔戒蓝牙控件
|
||||
* 放置于StatusBar右侧位置
|
||||
* todo arrow
|
||||
*/
|
||||
class TaxiPBlueToothView : RelativeLayout, IMoGoMoFangProvider.OnMoFangStatusListener {
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
@@ -48,7 +47,6 @@ class LineUploadManager private constructor(context: Context) : IMoGoAutopilotSt
|
||||
|
||||
override fun onAutopilotRouteLineId(lineId: Long) {
|
||||
super.onAutopilotRouteLineId(lineId)
|
||||
V2XBizTrace.onAck("onAutopilotRouteLineId", "lineId: $lineId")
|
||||
if (lineId > 0) {
|
||||
uploadLine(lineId)
|
||||
}
|
||||
|
||||
@@ -239,10 +239,9 @@ internal object V2NIdentifyDrawer: IEventDismissListener {
|
||||
uuid = e.uuid ?: ""
|
||||
}
|
||||
}
|
||||
Logger.d(TAG, "cameraIp: $cameraIp, heading:$heading, uuid: $uuid")
|
||||
val newEventId = "other_retrograde_vehicle_${event.eventId}"
|
||||
val isUseGps = event.gnssType != 0
|
||||
Logger.i(TAG, "isUseGps --> $isUseGps")
|
||||
V2XBizTrace.onAck(TAG, mapOf("cameraIp" to cameraIp, "heading" to heading, "uuid" to uuid, "isUseGps" to isUseGps, "newEventId" to newEventId), true)
|
||||
val eventLocation = arrayOf(event.longitude, event.latitude)
|
||||
val carLocation = if (isUseGps) CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() else CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()
|
||||
if (DrivingDirectionUtils.getDegreeOfCar2Poi(
|
||||
@@ -531,7 +530,6 @@ internal object V2NIdentifyDrawer: IEventDismissListener {
|
||||
}
|
||||
|
||||
private fun drawShiGong(events: List<TrackedObject>) {
|
||||
// V2XBizTrace.onAck(events,"onV2NShiGong", false)
|
||||
if (V2NCarTypeCheck.verifyCarType() && FunctionBuildConfig.v2nMainSwitch && FunctionBuildConfig.isNewV2NData) {
|
||||
handler.removeMessages(MSG_WHAT_DRAW_SHIGONE)
|
||||
handler.sendMessage(Message.obtain(handler, MSG_WHAT_DRAW_SHIGONE, events))
|
||||
@@ -539,7 +537,6 @@ internal object V2NIdentifyDrawer: IEventDismissListener {
|
||||
}
|
||||
|
||||
private fun drawShiGu(events: List<TrackedObject>) {
|
||||
// V2XBizTrace.onAck(events,"onV2NShiGu", false)
|
||||
if (V2NCarTypeCheck.verifyCarType() && FunctionBuildConfig.v2nMainSwitch && FunctionBuildConfig.isNewV2NData) {
|
||||
handler.removeMessages(MSG_WHAT_DRAW_SHIGU)
|
||||
handler.sendMessage(Message.obtain(handler, MSG_WHAT_DRAW_SHIGU, events))
|
||||
@@ -547,7 +544,6 @@ internal object V2NIdentifyDrawer: IEventDismissListener {
|
||||
}
|
||||
|
||||
private fun drawYongDu(events: List<MogoV2X.RTEData_PB>) {
|
||||
// V2XBizTrace.onAck(events,"onV2NYongDu", false)
|
||||
if (V2NCarTypeCheck.verifyCarType() && FunctionBuildConfig.v2nMainSwitch && FunctionBuildConfig.isNewV2NData) {
|
||||
handler.removeMessages(MSG_WHAT_DRAW_YONGDU)
|
||||
handler.sendMessage(Message.obtain(handler, MSG_WHAT_DRAW_YONGDU, events))
|
||||
|
||||
@@ -5,32 +5,30 @@ import chassis.Chassis
|
||||
import chassis.ChassisStatesOuterClass
|
||||
import chassis.VehicleStateOuterClass
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.config.HdMapBuildConfig
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_ABILITY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_ARRIVE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_GUARDIAN
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_RECORD
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_ROUTE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_VEHICLE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_CAR_CONFIG
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_CAR_LOC
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_FM_MSG
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_GUARDIAN
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_MAP_PARAM
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_PARALLEL
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_P_ACTIONS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_P_OBJECTS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_RECORD
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_ROUTE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_STATUS_QUERY_RESP
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_VEHICLE
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_SOURCE_ADAS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_GNSS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_STATUS
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_SOCKET_AUTOPILOT
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_SOCKET_TRAJECTORY
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_SOCKET_VEHICLE
|
||||
import com.mogo.eagle.core.function.call.autopilot.*
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_TYPE_STATUS
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeArriveAtStation
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeAutopilotGuardian
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeAutopilotSNRequest
|
||||
@@ -38,22 +36,51 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.invokeSystemStatus
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.updateAutoPilotDockerInfo
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.updateAutoPilotStatus
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager.invokeAutopilotAbility
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager.invokeAutopilotCarConfigData
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotGetParamResponseDispatcher
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyPlanningObj
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPointCloudListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager.invokeAutopilotRecordConfig
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager.invokeAutopilotRecordResult
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotStatisticsListenerManager.invokeAutopilotStatistics
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotVehicleStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerBackCameraVideoListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerBatteryManagementSystemListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisAccStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisBrakeStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisDoorStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisGearStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisGnssListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisSteeringStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisThrottleStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerFaultManagementStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerFsm2024ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerLocalizationStateListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager.invokePNCActions
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager.invokeAutopilotRotting
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningTrajectoryListenerManager.invokeAutopilotTrajectory
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerReceiveReceivedAckListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StatesListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StitchedVideoListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerStartAutopilotFailedListenerManager.invokeStartAutopilotFailed
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCloudTaskListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuMapMathListenerManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsiListenerManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuWarningRsmListenerManager
|
||||
import com.mogo.eagle.core.function.call.obu.CallerObuWarningSpatListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_D_C
|
||||
import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
import com.mogo.support.obu.ObuScene
|
||||
import com.zhidao.support.adas.high.OnAdasListener
|
||||
@@ -63,15 +90,15 @@ import com.zhidao.support.adas.high.common.ProtocolStatus
|
||||
import com.zhjt.mogo.adas.common.MessageType
|
||||
import com.zhjt.mogo.adas.data.AiCloudTask
|
||||
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics
|
||||
import com.zhjt.mogo.adas.data.bean.ReceivedAck
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData
|
||||
import com.zhjt.mogo.adas.data.bean.ReceivedAck
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
|
||||
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.s_r.SweeperTaskSuspendResume
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.status.SweeperTaskStatus
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
@@ -116,13 +143,6 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
}
|
||||
}
|
||||
|
||||
//感知物体 注解暂时关闭,通过调试面板查看数量,此注解暂时用于aiCloud显示感知物
|
||||
// @ChainLog(
|
||||
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
|
||||
// linkCode = CHAIN_LINK_ADAS,
|
||||
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
|
||||
// paramIndexes = [0, 1]
|
||||
// )
|
||||
override fun onTrackedObjects(
|
||||
header: MessagePad.Header,
|
||||
trackedObjects: MessagePad.TrackedObjects
|
||||
@@ -142,10 +162,13 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
override fun onGnssInfo(header: MessagePad.Header, gnssInfo: MessagePad.GnssInfo) {
|
||||
CallerChassisGnssListenerManager.invokeChassisGnssListener(gnssInfo)
|
||||
if (gnssInfo != null) {
|
||||
if (1 == FunctionBuildConfig.gpsProvider) {
|
||||
// 同步更新经纬度和系统时间至 AutoPilotStatusListener
|
||||
CallerAutoPilotStatusListenerManager.updateAutoPilotLocAndTime(gnssInfo.satelliteTime, gnssInfo.longitude, gnssInfo.latitude, gnssInfo.heading)
|
||||
}
|
||||
// 同步更新经纬度和系统时间至 AutoPilotStatusListener
|
||||
CallerAutoPilotStatusListenerManager.updateAutoPilotLocAndTime(
|
||||
gnssInfo.satelliteTime,
|
||||
gnssInfo.longitude,
|
||||
gnssInfo.latitude,
|
||||
gnssInfo.heading
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,8 +192,6 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
) {
|
||||
CallerAutopilotActionsListenerManager.setVehicleState(vehicleState)
|
||||
if (vehicleState != null) {
|
||||
//转向灯数据
|
||||
// CallerChassisLamplightListenerManager.invokeAutopilotLightSwitchData(vehicleState.light)
|
||||
//刹车灯数据
|
||||
CallerChassisLamplightListenerManager.invokeAutopilotBrakeLightData(vehicleState.brakeLightStatus)
|
||||
//方向盘转向角数据
|
||||
@@ -233,10 +254,6 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
CallerAutopilotActionsListenerManager.setChassisStates(chassisStates)
|
||||
if (chassisStates != null) {
|
||||
chassisStates.bcmSystemStates?.let { bcmSystemStates ->
|
||||
// bcmSystemStates.turnLightState?.let {
|
||||
// //转向灯数据
|
||||
// CallerChassisLamplightListenerManager.invokeAutopilotLightSwitchData(it)
|
||||
// }
|
||||
//刹车灯数据
|
||||
CallerChassisLamplightListenerManager.invokeAutopilotBrakeLightData(bcmSystemStates.brakeLightState != 0)
|
||||
}
|
||||
@@ -306,9 +323,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
if (autopilotState != null) {
|
||||
//工控机模拟时间
|
||||
CallerAutopilotVehicleStateListenerManager.invokeAutopilotTime(header.timestamp.toLong())
|
||||
if (HdMapBuildConfig.isMapLoaded) {
|
||||
updateAutoPilotStatus(autopilotState.state, autopilotState.autopilotMode)
|
||||
}
|
||||
updateAutoPilotStatus(autopilotState.state, autopilotState.autopilotMode)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,9 +338,7 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
header: MessagePad.Header,
|
||||
mogoReportMessage: MogoReportMsg.MogoReportMessage?
|
||||
) {
|
||||
if (HdMapBuildConfig.isMapLoaded) {
|
||||
invokeAutopilotGuardian(mogoReportMessage)
|
||||
}
|
||||
invokeAutopilotGuardian(mogoReportMessage)
|
||||
}
|
||||
|
||||
//融合感知红绿灯
|
||||
@@ -463,18 +476,20 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
header: MessagePad.Header?,
|
||||
statusInfo: SystemStatusInfo.StatusInfo?
|
||||
) {
|
||||
if(statusInfo!=null && statusInfo.hasAutoPilotReady()){
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady = statusInfo.autoPilotReady
|
||||
}else{
|
||||
if (statusInfo != null && statusInfo.hasAutoPilotReady()) {
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady =
|
||||
statusInfo.autoPilotReady
|
||||
} else {
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady = false
|
||||
}
|
||||
invokeAutopilotStatusRespByQuery(statusInfo)
|
||||
}
|
||||
|
||||
override fun onSystemStatus(header: MessagePad.Header?, statusInf: SsmInfo.SsmStatusInf?) {
|
||||
if(statusInf!=null && statusInf.hasAutoPilotReady()){
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady = statusInf.autoPilotReady
|
||||
}else{
|
||||
if (statusInf != null && statusInf.hasAutoPilotReady()) {
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady =
|
||||
statusInf.autoPilotReady
|
||||
} else {
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().ssmAutoPilotReady = false
|
||||
}
|
||||
invokeSystemStatus(statusInf)
|
||||
@@ -529,12 +544,12 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
/**
|
||||
* planning决策状态, 透传
|
||||
*/
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_SOURCE_ADAS,
|
||||
nodeAliasCode = CHAIN_CODE_ADAS_P_ACTIONS,
|
||||
paramIndexes = [0, 1]
|
||||
)
|
||||
// @ChainLog(
|
||||
// linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
|
||||
// linkCode = CHAIN_SOURCE_ADAS,
|
||||
// nodeAliasCode = CHAIN_CODE_ADAS_P_ACTIONS,
|
||||
// paramIndexes = [0, 1]
|
||||
// )
|
||||
override fun onPlanningActionMsg(
|
||||
header: MessagePad.Header?,
|
||||
planningActionMsg: MessagePad.PlanningActionMsg?
|
||||
@@ -1036,18 +1051,15 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
launchConditionData: LaunchConditionData,
|
||||
unableAutopilotReasons: ArrayList<UnableLaunchReason>?
|
||||
) {
|
||||
var reason = ""
|
||||
if (unableAutopilotReasons != null) {
|
||||
reason = unableAutopilotReasons.toString()
|
||||
}
|
||||
autopilotAbilityCheck(isAutopilotAbility, reason, launchConditionData.json)
|
||||
invokeAutopilotAbility(isAutopilotAbility, launchConditionData, unableAutopilotReasons)
|
||||
}
|
||||
|
||||
override fun onParallelDrivingAbility(
|
||||
isParallelDrivingAbility: Boolean
|
||||
) {
|
||||
CallerParallelDrivingActionsListenerManager.invokeParallelDrivingAbility(isParallelDrivingAbility)
|
||||
CallerParallelDrivingActionsListenerManager.invokeParallelDrivingAbility(
|
||||
isParallelDrivingAbility
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1083,16 +1095,6 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
private fun receiveReceivedAck(receivedAck: ReceivedAck) {
|
||||
}
|
||||
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_TYPE_SOCKET_AUTOPILOT,
|
||||
linkCode = CHAIN_SOURCE_ADAS,
|
||||
nodeAliasCode = CHAIN_CODE_ADAS_ABILITY,
|
||||
paramIndexes = [0, 1, 2]
|
||||
)
|
||||
private fun autopilotAbilityCheck(isAutopilotAbility: Boolean, reason: String, launchConditionDataJson: String) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 启动自动驾驶失败回调
|
||||
* 根据MAP 系统监控状态返回过滤
|
||||
@@ -1122,6 +1124,6 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
* @param bytes 原始数据
|
||||
*/
|
||||
override fun onError(status: ProtocolStatus, bytes: ByteArray) {
|
||||
Logger.e(TAG, "status===$status")
|
||||
CallerLogger.e("$M_D_C$TAG", "status===$status")
|
||||
}
|
||||
}
|
||||
@@ -328,7 +328,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
else -> {}
|
||||
}
|
||||
if (title.isNotEmpty() && content.isNotEmpty()) {
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
CallerMsgBoxManager.saveMsgBoxNoTrace(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.AUTOPILOT,
|
||||
AutopilotMsg(0, title, content, System.currentTimeMillis())
|
||||
|
||||
@@ -34,7 +34,7 @@ object MoGoLocationDispatcher :
|
||||
private var lastGnssLocation: MogoLocation = MogoLocation()
|
||||
|
||||
/**
|
||||
* 最后一次OBU GNSS 返回更新的位置
|
||||
* 最后一次OBU GNSS 返回更新的位置
|
||||
*/
|
||||
private var lastOBULocation: MogoLocation = MogoLocation()
|
||||
|
||||
@@ -69,16 +69,10 @@ object MoGoLocationDispatcher :
|
||||
lastGnssLocation.district = it.district
|
||||
lastGnssLocation.province = it.province
|
||||
lastGnssLocation.adCode = it.adCode
|
||||
lastGnssLocation.locationDetail = it.locationDetail
|
||||
lastGnssLocation.poiName = it.poiName
|
||||
lastGnssLocation.aoiName = it.aoiName
|
||||
lastGnssLocation.street = it.street
|
||||
lastGnssLocation.streetNum = it.streetNum
|
||||
lastGnssLocation.description = it.description
|
||||
lastGnssLocation.buildingId = it.buildingId
|
||||
lastGnssLocation.floor = it.floor
|
||||
lastGnssLocation.errorCode = it.errorCode
|
||||
lastGnssLocation.errorInfo = it.errorInfo
|
||||
}
|
||||
if (1 == FunctionBuildConfig.gpsProvider) {
|
||||
// WGS84坐标系高精度位置信息
|
||||
@@ -158,16 +152,10 @@ object MoGoLocationDispatcher :
|
||||
lastOBULocation.district = it.district
|
||||
lastOBULocation.province = it.province
|
||||
lastOBULocation.adCode = it.adCode
|
||||
lastOBULocation.locationDetail = it.locationDetail
|
||||
lastOBULocation.poiName = it.poiName
|
||||
lastOBULocation.aoiName = it.aoiName
|
||||
lastOBULocation.street = it.street
|
||||
lastOBULocation.streetNum = it.streetNum
|
||||
lastOBULocation.description = it.description
|
||||
lastOBULocation.buildingId = it.buildingId
|
||||
lastOBULocation.floor = it.floor
|
||||
lastOBULocation.errorCode = it.errorCode
|
||||
lastOBULocation.errorInfo = it.errorInfo
|
||||
}
|
||||
|
||||
if (2 == FunctionBuildConfig.gpsProvider) {
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhjt.mogo.adas.data.bean.MogoReport
|
||||
import mogo_msg.MogoReportMsg
|
||||
|
||||
@@ -126,18 +127,19 @@ class IPCReportManager : IMoGoAutopilotStatusListener {
|
||||
it.src,it.level,it.msg,it.code,it.resultList,it.actionsList,false)
|
||||
CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.REPORT, reportEntity))
|
||||
}
|
||||
|
||||
if (reportList.size > 49) {
|
||||
reportList.removeLast()
|
||||
}
|
||||
reportList.add(
|
||||
0,
|
||||
ReportEntity(
|
||||
TimeUtils.millis2String(System.currentTimeMillis()),
|
||||
it.src, it.level, it.msg, it.code, it.resultList, it.actionsList
|
||||
,false)
|
||||
)
|
||||
reportListFloatWindow?.refreshData(reportList)
|
||||
UiThreadHandler.post({
|
||||
if (reportList.size > 49) {
|
||||
reportList.removeLast()
|
||||
}
|
||||
reportList.add(
|
||||
0,
|
||||
ReportEntity(
|
||||
TimeUtils.millis2String(System.currentTimeMillis()),
|
||||
it.src, it.level, it.msg, it.code, it.resultList, it.actionsList
|
||||
,false)
|
||||
)
|
||||
reportListFloatWindow?.refreshData(reportList)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
|
||||
// //Error 弹窗并有提示音
|
||||
// if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE)
|
||||
|
||||
@@ -9,6 +9,7 @@ import androidx.lifecycle.Lifecycle.Event
|
||||
import androidx.lifecycle.Lifecycle.Event.ON_CREATE
|
||||
import androidx.lifecycle.Lifecycle.Event.ON_DESTROY
|
||||
import com.mogo.commons.utils.MogoAnalyticUtils
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager
|
||||
import com.mogo.eagle.core.utilcode.kotlin.*
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.*
|
||||
@@ -38,6 +39,7 @@ import com.zhjt.mogo_core_function_devatools.status.flow.ipc.IpcImpl
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.rtk.RTKImpl
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.trace.TracingImpl
|
||||
import com.zhjt.mogo_core_function_devatools.status.ui.StatusView
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.flow.*
|
||||
import java.lang.ref.*
|
||||
@@ -196,6 +198,7 @@ object StatusManager {
|
||||
l.filter { it.isException() }.also { ll ->
|
||||
val time = System.currentTimeMillis()
|
||||
val launchCondition = CallerAutopilotActionsListenerManager.getLaunchCondition()
|
||||
logLauncherCondition(launchCondition)
|
||||
ThreadUtils.getIoPool().execute {
|
||||
val result = runCatching {
|
||||
MogoAnalyticUtils.track(
|
||||
@@ -253,4 +256,12 @@ object StatusManager {
|
||||
*/
|
||||
fun onStatusChanged(changed: List<Status>, all: List<Status>)
|
||||
}
|
||||
|
||||
@ChainLog(
|
||||
linkChainLog = ChainConstant.CHAIN_TYPE_SOCKET_AUTOPILOT,
|
||||
linkCode = ChainConstant.CHAIN_SOURCE_ADAS,
|
||||
nodeAliasCode = ChainConstant.CHAIN_CODE_ADAS_ABILITY,
|
||||
paramIndexes = [0]
|
||||
)
|
||||
private fun logLauncherCondition(json:String){}
|
||||
}
|
||||
@@ -24,6 +24,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84Lis
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerRoadV2NEventWindowListenerManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.GlideImageLoader
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -64,6 +65,7 @@ class RoadV2NEventWindowView @JvmOverloads constructor(
|
||||
ANALYTICS_KEY,
|
||||
map
|
||||
)
|
||||
HmiActionLog.hmiAction(TAG, msg)
|
||||
}
|
||||
CallerLogger.i(TAG, msg)
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.mogo.cloud.trafficlive.api.MoGoAiCloudTrafficLive
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.widget.RoundConstraintLayout
|
||||
@@ -116,10 +115,6 @@ class DriverMonitorView :
|
||||
currentDriverLiveSN = ""
|
||||
}
|
||||
|
||||
Logger.d(
|
||||
"${SceneConstant.M_HMI}$TAG",
|
||||
"当前车上的司机端SN=${currentDriverSN},直播分体机SN=${currentDriverLiveSN}"
|
||||
)
|
||||
CallerLogger.d(
|
||||
"${SceneConstant.M_HMI}$TAG",
|
||||
"当前车上的司机端SN=${currentDriverSN},直播分体机SN=${currentDriverLiveSN}"
|
||||
@@ -133,10 +128,6 @@ class DriverMonitorView :
|
||||
*/
|
||||
fun startLive() {
|
||||
if (currentDriverLiveSN.isNotEmpty()) {
|
||||
Logger.d(
|
||||
"${SceneConstant.M_HMI}$TAG",
|
||||
"检查司机直播……isLived=$isLived 当前车上的司机端SN=${currentDriverSN},直播分体机SN=${currentDriverLiveSN}"
|
||||
)
|
||||
CallerLogger.d(
|
||||
"${SceneConstant.M_HMI}$TAG",
|
||||
"检查司机直播……isLived=$isLived 当前车上的司机端SN=${currentDriverSN},直播分体机SN=${currentDriverLiveSN}"
|
||||
@@ -153,10 +144,6 @@ class DriverMonitorView :
|
||||
} else {
|
||||
ToastUtils.showShort("当前车内没有直播源")
|
||||
//为空又怎么撸
|
||||
Logger.d(
|
||||
"${SceneConstant.M_HMI}$TAG",
|
||||
"检查司机直播……isLived=$isLived 当前车辆SN=${currentDriverSN} 不支持直播"
|
||||
)
|
||||
CallerLogger.d(
|
||||
"${SceneConstant.M_HMI}$TAG",
|
||||
"检查司机直播……isLived=$isLived 当前车辆SN=${currentDriverSN} 不支持直播"
|
||||
@@ -190,40 +177,34 @@ class DriverMonitorView :
|
||||
|
||||
private val carLiveCallBack = object : ITrafficCarLiveCallBack {
|
||||
override fun onLive(liveSn: String?) {
|
||||
Logger.i("${SceneConstant.M_HMI}$TAG", "onLive:$liveSn")
|
||||
CallerLogger.d("${SceneConstant.M_HMI}$TAG", "onLive:$liveSn")
|
||||
}
|
||||
|
||||
override fun onFirstFrame() {
|
||||
Logger.i("${SceneConstant.M_HMI}$TAG", "onFirstFrame:isFirstPage")
|
||||
CallerLogger.d("${SceneConstant.M_HMI}$TAG", "onFirstFrame:isFirstPage")
|
||||
isLived = true
|
||||
refreshView(isLived)
|
||||
}
|
||||
|
||||
override fun onDisConnect() {
|
||||
Logger.w("${SceneConstant.M_HMI}$TAG", "onDisConnect")
|
||||
CallerLogger.w("${SceneConstant.M_HMI}$TAG", "onDisConnect")
|
||||
isLived = false
|
||||
refreshView(isLived)
|
||||
}
|
||||
|
||||
override fun onError(errorMsg: String?) {
|
||||
Logger.e("${SceneConstant.M_HMI}$TAG", "onError msg is:${errorMsg}")
|
||||
CallerLogger.e("${SceneConstant.M_HMI}$TAG", "onError msg is:${errorMsg}")
|
||||
isLived = false
|
||||
refreshView(isLived)
|
||||
}
|
||||
|
||||
override fun onPlaying() {
|
||||
Logger.i("${SceneConstant.M_HMI}$TAG", "onPlaying……")
|
||||
CallerLogger.i("${SceneConstant.M_HMI}$TAG", "onPlaying……")
|
||||
isLived = true
|
||||
refreshView(isLived)
|
||||
}
|
||||
|
||||
override fun onPlaRequesting() {
|
||||
Logger.w("${SceneConstant.M_HMI}$TAG", "onPlaRequesting……")
|
||||
CallerLogger.w("${SceneConstant.M_HMI}$TAG", "onPlaRequesting……")
|
||||
isLived = false
|
||||
refreshView(isLived)
|
||||
|
||||
@@ -21,13 +21,18 @@ import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.scope
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.*
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.routeDownloadFailMark
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.routeDownloadStatus
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.routeDownloadStatusRoot
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.status_container
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.viewProgressTv
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.viewStatusBarLeft
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.viewStatusBarRight
|
||||
import kotlinx.android.synthetic.main.view_status_bar.view.viewTextClock
|
||||
import kotlinx.coroutines.Runnable
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.CopyOnWriteArrayList
|
||||
import java.util.concurrent.atomic.AtomicLong
|
||||
@@ -36,7 +41,8 @@ class StatusBarView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : LinearLayout(context, attrs, defStyleAttr), IMoGoSkinModeChangeListener, IViewControlListener, IMoGoAutopilotStatusListener {
|
||||
) : LinearLayout(context, attrs, defStyleAttr), IMoGoSkinModeChangeListener, IViewControlListener,
|
||||
IMoGoAutopilotStatusListener {
|
||||
|
||||
companion object {
|
||||
const val TAG = "StatusBarView"
|
||||
@@ -61,35 +67,49 @@ class StatusBarView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
//添加view控制
|
||||
CallerHmiViewControlListenerManager.addListener(TAG,this)
|
||||
CallerHmiViewControlListenerManager.addListener(TAG, this)
|
||||
// 添加换肤监听
|
||||
CallerSkinModeListenerManager.addListener(TAG, this)
|
||||
//将状态窗口中的状态移到状态栏上
|
||||
CallerDevaToolsManager.showStatusBar(context, status_container)
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
updateStatusBarLeftView(true, FUNC_MODE_DEMO, DemoModeView(this.context))
|
||||
updateStatusBarLeftView(true, FUNC_MODE_RAIN, RainModeView(this.context))
|
||||
routeDownloadStatusRoot?.visibility = View.GONE
|
||||
CallerDevaToolsManager.registerRouteDownloadListener(TAG) { state ->
|
||||
when(state) {
|
||||
when (state) {
|
||||
0 -> {
|
||||
routeDownloadStatusRoot?.visibility = View.GONE
|
||||
}
|
||||
|
||||
1 -> {
|
||||
routeDownloadStatusRoot?.visibility = View.VISIBLE
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_start)
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(
|
||||
context,
|
||||
R.drawable.bg_autopilot_route_download_start
|
||||
)
|
||||
routeDownloadFailMark?.visibility = View.GONE
|
||||
}
|
||||
|
||||
2 -> {
|
||||
routeDownloadStatusRoot?.visibility = View.VISIBLE
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_success)
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(
|
||||
context,
|
||||
R.drawable.bg_autopilot_route_download_success
|
||||
)
|
||||
routeDownloadFailMark?.visibility = View.GONE
|
||||
UiThreadHandler.postDelayed(Runnable { routeDownloadStatusRoot?.visibility = View.GONE }, 3000)
|
||||
UiThreadHandler.postDelayed(Runnable {
|
||||
routeDownloadStatusRoot?.visibility = View.GONE
|
||||
}, 3000)
|
||||
}
|
||||
|
||||
3 -> {
|
||||
routeDownloadStatusRoot?.visibility = View.VISIBLE
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(context, R.drawable.bg_autopilot_route_download_failed)
|
||||
routeDownloadStatus?.background = ContextCompat.getDrawable(
|
||||
context,
|
||||
R.drawable.bg_autopilot_route_download_failed
|
||||
)
|
||||
routeDownloadFailMark?.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
@@ -111,10 +131,11 @@ class StatusBarView @JvmOverloads constructor(
|
||||
super.onAutopilotRouteLineId(lineId)
|
||||
if (lineId != this.lineId.get()) {
|
||||
this.lineId.set(lineId)
|
||||
Logger.d(TAG, "--- onAutopilotRouteLineId ---: $lineId")
|
||||
routeDownloadStatusRoot?.scope?.launch {
|
||||
Logger.d(TAG, "--- onAutopilotRouteLineId 1 ---: $lineId")
|
||||
if ((routeDownloadStatusRoot?.visibility == View.VISIBLE) && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
if ((routeDownloadStatusRoot?.visibility == View.VISIBLE) && AppIdentityModeUtils.isDriver(
|
||||
FunctionBuildConfig.appIdentityMode
|
||||
)
|
||||
) {
|
||||
routeDownloadStatusRoot?.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
@@ -143,7 +164,7 @@ class StatusBarView @JvmOverloads constructor(
|
||||
|
||||
override fun updateStatusBarLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup) {
|
||||
if (insert) {
|
||||
if(leftViewList.contains(tag)){
|
||||
if (leftViewList.contains(tag)) {
|
||||
return
|
||||
}
|
||||
leftViewList.add(0, tag)
|
||||
|
||||
@@ -43,7 +43,6 @@ class NDERoadCameraNetWorkModel private constructor() {
|
||||
loc.longitude,
|
||||
loc.latitude,
|
||||
CallerMapUIServiceManager.getCityCode() ?: ""
|
||||
// "0734" //todo emArrow test
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -76,7 +75,6 @@ class NDERoadCameraNetWorkModel private constructor() {
|
||||
loc.longitude,
|
||||
loc.latitude,
|
||||
CallerMapUIServiceManager.getCityCode() ?: ""
|
||||
// "0734" //todo emArrow test
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,14 +256,6 @@ class HttpDnsStartUp : AndroidStartup<Boolean>(), IMoGoCloudListener {
|
||||
ThreadPoolService.execute {
|
||||
// 初始化网络配置
|
||||
NetConfigUtils.init()
|
||||
// 加入启动统计
|
||||
// todo 钟超 登陆后调用 获取 app_flavor
|
||||
// val mStartParams: HashMap<String, Any> = HashMap()
|
||||
// mStartParams["start_time"] = TimeUtils.getNowMills()
|
||||
// mStartParams["app_version"] = AppUtils.getAppVersionName()
|
||||
// mStartParams["app_flavor"] = DebugConfig.getProductFlavor()
|
||||
// mStartParams["app_identity_mode"] = FunctionBuildConfig.appIdentityMode
|
||||
// MogoAnalyticUtils.track("app_start_time", mStartParams)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ class ChainConstant {
|
||||
//业务类型与下方文件名一一对应
|
||||
const val CHAIN_TYPE_STATUS = 0 // 记录所有业务信息(正常调用,异常数据)
|
||||
const val CHAIN_TYPE_GNSS = 1 // 工控定位数据
|
||||
const val CHAIN_TYPE_SOCKET_AUTOPILOT = 2 // 包括自动驾驶状态,reportMsg,planning数据,全局路径数据,FM
|
||||
const val CHAIN_TYPE_SOCKET_AUTOPILOT = 2 // 包括自动驾驶状态,reportMsg,PNC数据,全局路径数据,FM
|
||||
const val CHAIN_TYPE_SOCKET_DATA_TRACKED = 3 // 感知数据,现阶段记录云端漫游
|
||||
const val CHAIN_TYPE_SOCKET_TRAJECTORY = 4 // 前车引导线,用于调试
|
||||
const val CHAIN_TYPE_SOCKET_VEHICLE = 5 // 底盘数据
|
||||
@@ -79,7 +79,6 @@ class ChainConstant {
|
||||
const val CHAIN_CODE_APP_INFO_CONFIG_UPDATE = "CHAIN_CODE_APP_INFO_CONFIG_UPDATE"
|
||||
const val CHAIN_CODE_FUNC_CONFIG_CHANGED = "CHAIN_CODE_FUNC_CONFIG_CHANGED"
|
||||
const val CHAIN_CODE_START_UP = "CHAIN_CODE_START_UP"
|
||||
const val CHAIN_CODE_INIT_ENV_RESTART = "CHAIN_CODE_INIT_ENV_RESTART"
|
||||
const val CHAIN_CODE_INIT_ON_MAP_LOADED = "CHAIN_CODE_INIT_ON_MAP_LOADED"
|
||||
const val CHAIN_CODE_INIT_ON_MAP_INIT = "CHAIN_CODE_INIT_ON_MAP_INIT"
|
||||
const val CHAIN_CODE_BINDING_CAR = "CHAIN_CODE_BINDING_CAR"
|
||||
|
||||
@@ -14,16 +14,10 @@ public class MogoLocation implements Cloneable {
|
||||
private String district = "";
|
||||
private String province = "";
|
||||
private String adCode = "";
|
||||
private String locationDetail = "";
|
||||
private String poiName = "";
|
||||
private String aoiName = "";
|
||||
private String street = "";
|
||||
private String streetNum = "";
|
||||
private String description = "";
|
||||
private String buildingId = "";
|
||||
private String floor = "";
|
||||
private int errorCode = 0;
|
||||
private String errorInfo = "";
|
||||
private int gpsAccuracyStatus = 0;
|
||||
private int satellite = 0;
|
||||
|
||||
@@ -93,14 +87,6 @@ public class MogoLocation implements Cloneable {
|
||||
}
|
||||
}
|
||||
|
||||
public String getLocationDetail() {
|
||||
return locationDetail;
|
||||
}
|
||||
|
||||
public void setLocationDetail(String locationDetail) {
|
||||
this.locationDetail = locationDetail;
|
||||
}
|
||||
|
||||
public String getPoiName() {
|
||||
return poiName;
|
||||
}
|
||||
@@ -117,22 +103,6 @@ public class MogoLocation implements Cloneable {
|
||||
this.aoiName = aoiName;
|
||||
}
|
||||
|
||||
public int getErrorCode() {
|
||||
return errorCode;
|
||||
}
|
||||
|
||||
public void setErrorCode(int errorCode) {
|
||||
this.errorCode = errorCode;
|
||||
}
|
||||
|
||||
public String getErrorInfo() {
|
||||
return errorInfo;
|
||||
}
|
||||
|
||||
public void setErrorInfo(String errorInfo) {
|
||||
this.errorInfo = errorInfo;
|
||||
}
|
||||
|
||||
public String getStreet() {
|
||||
return street;
|
||||
}
|
||||
@@ -149,30 +119,6 @@ public class MogoLocation implements Cloneable {
|
||||
this.streetNum = streetNum;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getBuildingId() {
|
||||
return buildingId;
|
||||
}
|
||||
|
||||
public void setBuildingId(String buildingId) {
|
||||
this.buildingId = buildingId;
|
||||
}
|
||||
|
||||
public String getFloor() {
|
||||
return floor;
|
||||
}
|
||||
|
||||
public void setFloor(String floor) {
|
||||
this.floor = floor;
|
||||
}
|
||||
|
||||
public int getGpsAccuracyStatus() {
|
||||
return gpsAccuracyStatus;
|
||||
}
|
||||
@@ -330,17 +276,11 @@ public class MogoLocation implements Cloneable {
|
||||
mogoLocation.adCode = lastLocation.adCode;
|
||||
mogoLocation.address = lastLocation.address;
|
||||
mogoLocation.aoiName = lastLocation.aoiName;
|
||||
mogoLocation.buildingId = lastLocation.buildingId;
|
||||
mogoLocation.cityCode = lastLocation.cityCode;
|
||||
mogoLocation.cityName = lastLocation.cityName;
|
||||
mogoLocation.description = lastLocation.description;
|
||||
mogoLocation.district = lastLocation.district;
|
||||
mogoLocation.errorCode = lastLocation.errorCode;
|
||||
mogoLocation.errorInfo = lastLocation.errorInfo;
|
||||
mogoLocation.floor = lastLocation.floor;
|
||||
mogoLocation.gpsAccuracyStatus = lastLocation.gpsAccuracyStatus;
|
||||
mogoLocation.lastReceiveTime = lastLocation.lastReceiveTime;
|
||||
mogoLocation.locationDetail = lastLocation.locationDetail;
|
||||
mogoLocation.locType = lastLocation.locType;
|
||||
mogoLocation.poiName = lastLocation.poiName;
|
||||
mogoLocation.provider = lastLocation.provider;
|
||||
@@ -394,16 +334,10 @@ public class MogoLocation implements Cloneable {
|
||||
", district='" + district + '\'' +
|
||||
", province='" + province + '\'' +
|
||||
", adCode='" + adCode + '\'' +
|
||||
", locationDetail='" + locationDetail + '\'' +
|
||||
", poiName='" + poiName + '\'' +
|
||||
", aoiName='" + aoiName + '\'' +
|
||||
", errCode=" + errorCode +
|
||||
", errInfo='" + errorInfo + '\'' +
|
||||
", street='" + street + '\'' +
|
||||
", streetNum='" + streetNum + '\'' +
|
||||
", description='" + description + '\'' +
|
||||
", buildingId='" + buildingId + '\'' +
|
||||
", floor='" + floor + '\'' +
|
||||
", gpsAccuracyStatus=" + gpsAccuracyStatus +
|
||||
", satellite=" + satellite +
|
||||
'}';
|
||||
|
||||
@@ -5,7 +5,8 @@ import chassis.VehicleStateOuterClass
|
||||
import com.google.protobuf.TextFormat
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_D_C
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason
|
||||
import org.json.JSONException
|
||||
@@ -247,8 +248,8 @@ object CallerAutopilotActionsListenerManager : CallerBase<IMoGoAutopilotActionsL
|
||||
}
|
||||
|
||||
private fun notification() {
|
||||
Logger.d(
|
||||
"CallerAutopilotActionsListenerManager",
|
||||
CallerLogger.d(
|
||||
"$M_D_C CallerAutopilotActionsListenerManager",
|
||||
"是否可以启动自动驾驶=" + isAutopilotAbility + " 原因=" + (unableAutopilotReasons?.toString()) + " 原始数据=" + launchConditionData?.json
|
||||
)
|
||||
M_LISTENERS.forEach {
|
||||
|
||||
@@ -9,40 +9,17 @@ import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
*/
|
||||
object CallerChassisLamplightListenerManager : CallerBase<IMoGoChassisLamplightListener>() {
|
||||
|
||||
private var turnLightTimes = 0
|
||||
private var isOnTurnLight = false
|
||||
|
||||
/**
|
||||
* 车辆转向灯数据回调
|
||||
* @param lightSwitch
|
||||
*/
|
||||
fun invokeAutopilotLightSwitchData(lightSwitch: Chassis.LightSwitch) {
|
||||
// val switch = getTurnLightState(lightSwitch)
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onAutopilotLightSwitchData(lightSwitch)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getTurnLightState(turn_light: Chassis.LightSwitch): Chassis.LightSwitch? {
|
||||
if (turn_light.number == Chassis.LightSwitch.LIGHT_NONE.number) {
|
||||
if (isOnTurnLight) {
|
||||
if (turnLightTimes >= 10) {
|
||||
isOnTurnLight = false
|
||||
return turn_light
|
||||
}
|
||||
turnLightTimes++
|
||||
return null
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
} else {
|
||||
turnLightTimes = 0
|
||||
isOnTurnLight = true
|
||||
return turn_light
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆刹车灯数据回调
|
||||
* @param brakeLight
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.call.autopilot
|
||||
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningActionsListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import com.mogo.eagle.core.function.call.trace.CallerTrace
|
||||
import mogo.telematics.pad.MessagePad
|
||||
|
||||
/**
|
||||
@@ -9,12 +10,22 @@ import mogo.telematics.pad.MessagePad
|
||||
*/
|
||||
object CallerPlanningActionsListenerManager : CallerBase<IMoGoAutopilotPlanningActionsListener>() {
|
||||
|
||||
private var state = 0
|
||||
private var action = 0
|
||||
|
||||
/**
|
||||
* pnc actions 决策回调
|
||||
* @param planningActionMsg 具体决策
|
||||
*/
|
||||
@Synchronized
|
||||
fun invokePNCActions(planningActionMsg: MessagePad.PlanningActionMsg) {
|
||||
val s = planningActionMsg.actionMsg.drivingState.number
|
||||
val a = planningActionMsg.actionMsg.drivingAction.number
|
||||
if(s != state || a != action){
|
||||
state = s
|
||||
action = a
|
||||
CallerTrace.write("PncActions", mapOf("state" to state, "action" to action))
|
||||
}
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.pncActions(planningActionMsg)
|
||||
|
||||
@@ -21,6 +21,10 @@ object CallerMsgBoxManager {
|
||||
providerApi?.queryAllMessages(context)
|
||||
}
|
||||
|
||||
fun saveMsgBoxNoTrace(bean: MsgBoxBean){
|
||||
providerApi?.saveMsg(bean)
|
||||
}
|
||||
|
||||
/**
|
||||
* 存储数据到消息盒子
|
||||
*/
|
||||
|
||||
@@ -64,21 +64,21 @@ bytex.ASM_API=ASM7
|
||||
LOGLIB_VERSION=1.10.18
|
||||
######## MogoAiCloudSDK Version ########
|
||||
# 网络请求LOGLIB_VERSION
|
||||
MOGO_NETWORK_VERSION=1.4.7.28
|
||||
MOGO_NETWORK_VERSION=1.4.7.29
|
||||
# 鉴权
|
||||
MOGO_PASSPORT_VERSION=1.4.7.28
|
||||
MOGO_PASSPORT_VERSION=1.4.7.29
|
||||
# 长链接
|
||||
MOGO_SOCKET_VERSION=1.4.7.28
|
||||
MOGO_SOCKET_VERSION=1.4.7.29
|
||||
# 数据采集
|
||||
MOGO_REALTIME_VERSION=1.4.7.28
|
||||
MOGO_REALTIME_VERSION=1.4.7.29
|
||||
# 直播推流
|
||||
MOGO_LIVE_VERSION=1.4.7.28
|
||||
MOGO_LIVE_VERSION=1.4.7.29
|
||||
# 直播拉流
|
||||
MOGO_TRAFFICLIVE_VERSION=1.4.7.28
|
||||
MOGO_TRAFFICLIVE_VERSION=1.4.7.29
|
||||
# 定位服务
|
||||
MOGO_LOCATION_VERSION=1.4.7.28
|
||||
MOGO_LOCATION_VERSION=1.4.7.29
|
||||
# 远程通讯模块
|
||||
MOGO_TELEMATIC_VERSION=1.4.7.28
|
||||
MOGO_TELEMATIC_VERSION=1.4.7.29
|
||||
######## MogoAiCloudSDK Version ########
|
||||
# 自研地图
|
||||
MAP_SDK_VERSION=3.4.0.6
|
||||
|
||||
@@ -6,7 +6,6 @@ import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_CODE_ADAS_SEND_
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_CODE_ADAS_SEND_SYSTEM_CMD;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_CODE_ADAS_SEND_TRAJECTORY_DOWNLOAD;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_CODE_CONNECT_ADDRESS;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_CODE_STATUS_CHANGE_REASON;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_SOURCE_ADAS;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_INIT_STATUS;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_SOCKET_AUTOPILOT;
|
||||
@@ -904,15 +903,6 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
}
|
||||
}
|
||||
|
||||
@ChainLog(linkChainLog = CHAIN_TYPE_INIT_STATUS,
|
||||
linkCode = CHAIN_SOURCE_ADAS,
|
||||
nodeAliasCode = CHAIN_CODE_STATUS_CHANGE_REASON,
|
||||
paramIndexes = {0, 1})
|
||||
private void log(int status, @Nullable String reason) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void stopDispatchHandler() {
|
||||
if (defaultDispatchHandler != null) {
|
||||
|
||||
@@ -8,11 +8,8 @@ public class AdasChain {
|
||||
public static final int CHAIN_TYPE_SOCKET_AUTOPILOT = 2;
|
||||
|
||||
public static final String CHAIN_CODE_ADAS_INIT = "CHAIN_CODE_ADAS_INIT";
|
||||
public static final String CHAIN_CODE_STATUS_CHANGE_REASON = "CHAIN_CODE_STATUS_CHANGE_REASON";
|
||||
public static final String CHAIN_CODE_CONNECT_ADDRESS = "CHAIN_CODE_CONNECT_ADDRESS";
|
||||
public static final String CHAIN_CODE_WEB_SOCKET_OPEN = "CHAIN_CODE_WEB_SOCKET_OPEN";
|
||||
public static final String CHAIN_CODE_WEB_SOCKET_MESSAGE_JSON = "CHAIN_CODE_WEB_SOCKET_MESSAGE_JSON";
|
||||
public static final String CHAIN_CODE_WEB_SOCKET_MESSAGE_BYTE = "CHAIN_CODE_WEB_SOCKET_MESSAGE_BYTE";
|
||||
|
||||
//operation by user
|
||||
public static final String CHAIN_CODE_ADAS_START_AUTOPILOT = "CHAIN_CODE_ADAS_START_AUTOPILOT";
|
||||
|
||||
@@ -100,16 +100,10 @@ class GDLocationClient private constructor() : AMapLocationListener,
|
||||
lastGaoDeLocation.district = it.district
|
||||
lastGaoDeLocation.province = it.province
|
||||
lastGaoDeLocation.adCode = it.adCode
|
||||
lastGaoDeLocation.locationDetail = it.locationDetail
|
||||
lastGaoDeLocation.poiName = it.poiName
|
||||
lastGaoDeLocation.aoiName = it.aoiName
|
||||
lastGaoDeLocation.street = it.street
|
||||
lastGaoDeLocation.streetNum = it.streetNum
|
||||
lastGaoDeLocation.description = it.description
|
||||
lastGaoDeLocation.buildingId = it.buildingId
|
||||
lastGaoDeLocation.floor = it.floor
|
||||
lastGaoDeLocation.errorCode = it.errorCode
|
||||
lastGaoDeLocation.errorInfo = it.errorInfo
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
@@ -3,17 +3,374 @@ package com.mogo.map.utils
|
||||
object HDMapUtils {
|
||||
private val cityCodeMap by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||
val map = HashMap<String, Int>()
|
||||
// TODO:("高精地图自己去做")
|
||||
map["0831"] = 5115// 宜宾市
|
||||
map["0512"] = 3205// 苏州市
|
||||
map["0872"] = 5329// 大理市
|
||||
map["0711"] = 4207// 鄂州市
|
||||
map["028"] = 5101// 成都市
|
||||
map["0931"] = 6201// 兰州市
|
||||
map["0535"] = 3706// 烟台市
|
||||
map["027"] = 4201// 武汉市
|
||||
map["010"] = 1101// 北京市
|
||||
map["0734"] = 4304// 衡阳市
|
||||
|
||||
map["010"] = 1101 //北京市
|
||||
map["022"] = 1201 //天津市
|
||||
map["024"] = 2101 //沈阳市
|
||||
map["021"] = 3101 //上海市
|
||||
map["025"] = 3201 //南京市
|
||||
map["027"] = 4201 //武汉市
|
||||
map["020"] = 4401 //广州市
|
||||
map["023"] = 5001 //重庆市
|
||||
map["028"] = 5101 //成都市
|
||||
map["029"] = 6101 //西安市
|
||||
|
||||
//河北
|
||||
map["0311"] = 1301 //石家庄市
|
||||
// map["0315"] = 1302 //唐山市
|
||||
// map["0335"] = 1303 //秦皇岛市
|
||||
// map["0310"] = 1304 //邯郸市
|
||||
// map["0319"] = 1305 //邢台市
|
||||
// map["0312"] = 1306 //保定市
|
||||
// map["0313"] = 1307 //张家口市
|
||||
// map["0314"] = 1308 //承德市
|
||||
// map["0317"] = 1309 //沧州市
|
||||
map["0316"] = 1310 //廊坊市
|
||||
// map["0318"] = 1311 //衡水市
|
||||
|
||||
//山西
|
||||
// map["0351"] = 1401 //太原市
|
||||
// map["0352"] = 1402 //大同市
|
||||
// map["0353"] = 1403 //阳泉市
|
||||
// map["0355"] = 1404 //长治市
|
||||
// map["0356"] = 1405 //晋城市
|
||||
// map["0349"] = 1406 //朔州市
|
||||
// map["0354"] = 1407 //晋中市
|
||||
// map["0359"] = 1408 //运城市
|
||||
// map["0350"] = 1409 //忻州市
|
||||
// map["0357"] = 1410 //临汾市
|
||||
// map["0358"] = 1411 //吕梁市
|
||||
|
||||
//内蒙古
|
||||
map["0471"] = 1501 //呼和浩特市
|
||||
map["0472"] = 1502 //包头市
|
||||
// map["0473"] = 1503 //乌海市
|
||||
// map["0476"] = 1504 //赤峰市
|
||||
// map["0475"] = 1505 //通辽市
|
||||
map["0477"] = 1506 //鄂尔多斯市
|
||||
map["0470"] = 1507 //呼伦贝尔市
|
||||
// map["0478"] = 1508 //巴彦淖尔市
|
||||
// map["0474"] = 1509 //乌兰察布市
|
||||
// map["0482"] = 1522 //兴安盟
|
||||
map["0479"] = 1525 //锡林郭勒盟
|
||||
// map["0483"] = 1529 //阿拉善盟
|
||||
|
||||
//辽宁
|
||||
// map["0411"] = 2102 //大连市
|
||||
// map["0412"] = 2103 //鞍山市
|
||||
// map["0413"] = 2104 //抚顺市
|
||||
// map["0414"] = 2105 //本溪市
|
||||
// map["0415"] = 2106 //丹东市
|
||||
// map["0416"] = 2107 //锦州市
|
||||
// map["0417"] = 2108 //营口市
|
||||
// map["0418"] = 2109 //阜新市
|
||||
// map["0419"] = 2110 //辽阳市
|
||||
// map["0427"] = 2111 //盘锦市
|
||||
// map["0410"] = 2112 //铁岭市
|
||||
// map["0421"] = 2113 //朝阳市
|
||||
// map["0429"] = 2114 //葫芦岛市
|
||||
|
||||
//吉林
|
||||
map["0431"] = 2201 //长春市
|
||||
map["0432"] = 2202 //吉林市
|
||||
// map["0434"] = 2203 //四平市
|
||||
// map["0437"] = 2204 //辽源市
|
||||
// map["0435"] = 2205 //通化市
|
||||
// map["0439"] = 2206 //白山市
|
||||
// map["0438"] = 2207 //松原市
|
||||
// map["0436"] = 2208 //白城市
|
||||
// map["1433"] = 2224 //延边朝鲜族自治州
|
||||
|
||||
//黑龙江
|
||||
map["0451"] = 2301 //哈尔滨市
|
||||
// map["0452"] = 2302 //齐齐哈尔市
|
||||
// map["0467"] = 2303 //鸡西市
|
||||
// map["0468"] = 2304 //鹤岗市
|
||||
// map["0469"] = 2305 //双鸭山市
|
||||
// map["0459"] = 2306 //大庆市
|
||||
// map["0458"] = 2307 //伊春市
|
||||
// map["0454"] = 2308 //佳木斯市
|
||||
// map["0464"] = 2309 //七台河市
|
||||
// map["0453"] = 2310 //牡丹江市
|
||||
// map["0456"] = 2311 //黑河市
|
||||
// map["0455"] = 2312 //绥化市
|
||||
// map["0457"] = 2327 //大兴安岭地区
|
||||
|
||||
//江苏
|
||||
map["0510"] = 3202 //无锡市
|
||||
// map["0516"] = 3203 //徐州市
|
||||
// map["0519"] = 3204 //常州市
|
||||
map["0512"] = 3205 //苏州市
|
||||
// map["0513"] = 3206 //南通市
|
||||
// map["0518"] = 3207 //连云港市
|
||||
// map["0517"] = 3208 //淮安市
|
||||
// map["0515"] = 3209 //盐城市
|
||||
// map["0514"] = 3210 //扬州市
|
||||
// map["0511"] = 3211 //镇江市
|
||||
// map["0523"] = 3212 //泰州市
|
||||
// map["0527"] = 3213 //宿迁市
|
||||
|
||||
//浙江
|
||||
// map["0571"] = 3301 //杭州市
|
||||
// map["0574"] = 3302 //宁波市
|
||||
// map["0577"] = 3303 //温州市
|
||||
map["0573"] = 3304 //嘉兴市
|
||||
map["0572"] = 3305 //湖州市
|
||||
// map["0575"] = 3306 //绍兴市
|
||||
// map["0579"] = 3307 //金华市
|
||||
// map["0570"] = 3308 //衢州市
|
||||
// map["0580"] = 3309 //舟山市
|
||||
// map["0576"] = 3310 //台州市
|
||||
// map["0578"] = 3311 //丽水市
|
||||
|
||||
//安徽
|
||||
// map["0551"] = 3401 //合肥市
|
||||
// map["0553"] = 3402 //芜湖市
|
||||
// map["0552"] = 3403 //蚌埠市
|
||||
// map["0554"] = 3404 //淮南市
|
||||
// map["0555"] = 3405 //马鞍山市
|
||||
// map["0561"] = 3406 //淮北市
|
||||
// map["0562"] = 3407 //铜陵市
|
||||
// map["0556"] = 3408 //安庆市
|
||||
// map["0559"] = 3410 //黄山市
|
||||
// map["0550"] = 3411 //滁州市
|
||||
// map["1558"] = 3412 //阜阳市
|
||||
// map["0557"] = 3413 //宿州市
|
||||
// map["0564"] = 3415 //六安市
|
||||
// map["0558"] = 3416 //亳州市
|
||||
// map["0566"] = 3417 //池州市
|
||||
// map["0563"] = 3418 //宣城市
|
||||
|
||||
//福建
|
||||
map["0591"] = 3501 //福州市
|
||||
map["0592"] = 3502 //厦门市
|
||||
// map["0594"] = 3503 //莆田市
|
||||
// map["0598"] = 3504 //三明市
|
||||
// map["0595"] = 3505 //泉州市
|
||||
// map["0596"] = 3506 //漳州市
|
||||
// map["0599"] = 3507 //南平市
|
||||
// map["0597"] = 3508 //龙岩市
|
||||
// map["0593"] = 3509 //宁德市
|
||||
|
||||
//江西
|
||||
map["0791"] = 3601 //南昌市
|
||||
// map["0798"] = 3602 //景德镇市
|
||||
// map["0799"] = 3603 //萍乡市
|
||||
// map["0792"] = 3604 //九江市
|
||||
// map["0790"] = 3605 //新余市
|
||||
// map["0701"] = 3606 //鹰潭市
|
||||
// map["0797"] = 3607 //赣州市
|
||||
// map["0796"] = 3608 //吉安市
|
||||
// map["0795"] = 3609 //宜春市
|
||||
// map["0794"] = 3610 //抚州市
|
||||
// map["0793"] = 3611 //上饶市
|
||||
|
||||
//山东
|
||||
// map["0531"] = 3701 //济南市
|
||||
// map["0532"] = 3702 //青岛市
|
||||
// map["0533"] = 3703 //淄博市
|
||||
// map["0632"] = 3704 //枣庄市
|
||||
// map["0546"] = 3705 //东营市
|
||||
map["0535"] = 3706 //烟台市
|
||||
// map["0536"] = 3707 //潍坊市
|
||||
// map["0537"] = 3708 //济宁市
|
||||
// map["0538"] = 3709 //泰安市
|
||||
// map["0631"] = 3710 //威海市
|
||||
// map["0633"] = 3711 //日照市
|
||||
// map["0539"] = 3713 //临沂市
|
||||
// map["0534"] = 3714 //德州市
|
||||
// map["0635"] = 3715 //聊城市
|
||||
// map["0543"] = 3716 //滨州市
|
||||
// map["0530"] = 3717 //菏泽市
|
||||
|
||||
//河南
|
||||
map["0371"] = 4101 //郑州市
|
||||
// map["0378"] = 4102 //开封市
|
||||
// map["0379"] = 4103 //洛阳市
|
||||
// map["0375"] = 4104 //平顶山市
|
||||
// map["0372"] = 4105 //安阳市
|
||||
map["0392"] = 4106 //鹤壁市
|
||||
// map["0373"] = 4107 //新乡市
|
||||
// map["0391"] = 4108 //焦作市
|
||||
// map["0393"] = 4109 //濮阳市
|
||||
// map["0374"] = 4110 //许昌市
|
||||
// map["0395"] = 4111 //漯河市
|
||||
map["0398"] = 4112 //三门峡市
|
||||
// map["0377"] = 4113 //南阳市
|
||||
// map["0370"] = 4114 //商丘市
|
||||
// map["0376"] = 4115 //信阳市
|
||||
// map["0394"] = 4116 //周口市
|
||||
// map["0396"] = 4117 //驻马店市
|
||||
|
||||
//湖北
|
||||
// map["0714"] = 4202 //黄石市
|
||||
// map["0719"] = 4203 //十堰市
|
||||
// map["0717"] = 4205 //宜昌市
|
||||
// map["0710"] = 4206 //襄阳市
|
||||
map["0711"] = 4207 //鄂州市
|
||||
// map["0724"] = 4208 //荆门市
|
||||
// map["0712"] = 4209 //孝感市
|
||||
// map["0716"] = 4210 //荆州市
|
||||
// map["0713"] = 4211 //黄冈市
|
||||
// map["0715"] = 4212 //咸宁市
|
||||
// map["0722"] = 4213 //随州市
|
||||
// map["0718"] = 4228 //恩施土家族苗族自治州
|
||||
|
||||
//湖南
|
||||
// map["0731"] = 4301 //长沙市
|
||||
map["0733"] = 4302 //株洲市
|
||||
// map["0732"] = 4303 //湘潭市
|
||||
map["0734"] = 4304 //衡阳市
|
||||
// map["0739"] = 4305 //邵阳市
|
||||
// map["0730"] = 4306 //岳阳市
|
||||
// map["0736"] = 4307 //常德市
|
||||
// map["0744"] = 4308 //张家界市
|
||||
// map["0737"] = 4309 //益阳市
|
||||
// map["0735"] = 4310 //郴州市
|
||||
// map["0746"] = 4311 //永州市
|
||||
// map["0745"] = 4312 //怀化市
|
||||
// map["0738"] = 4313 //娄底市
|
||||
// map["0743"] = 4331 //湘西土家族苗族自治州
|
||||
|
||||
//广东
|
||||
// map["0751"] = 4402 //韶关市
|
||||
map["0755"] = 4403 //深圳市
|
||||
// map["0756"] = 4404 //珠海市
|
||||
// map["0754"] = 4405 //汕头市
|
||||
// map["0757"] = 4406 //佛山市
|
||||
// map["0750"] = 4407 //江门市
|
||||
// map["0759"] = 4408 //湛江市
|
||||
// map["0668"] = 4409 //茂名市
|
||||
// map["0758"] = 4412 //肇庆市
|
||||
// map["0752"] = 4413 //惠州市
|
||||
// map["0753"] = 4414 //梅州市
|
||||
// map["0660"] = 4415 //汕尾市
|
||||
// map["0762"] = 4416 //河源市
|
||||
// map["0662"] = 4417 //阳江市
|
||||
// map["0763"] = 4418 //清远市
|
||||
// map["0769"] = 4419 //东莞市
|
||||
// map["0760"] = 4420 //中山市
|
||||
// map["0768"] = 4451 //潮州市
|
||||
// map["0663"] = 4452 //揭阳市
|
||||
// map["0766"] = 4453 //云浮市
|
||||
|
||||
//广西
|
||||
map["0771"] = 4501 //南宁市
|
||||
// map["0772"] = 4502 //柳州市
|
||||
// map["0773"] = 4503 //桂林市
|
||||
// map["0774"] = 4504 //梧州市
|
||||
// map["0779"] = 4505 //北海市
|
||||
// map["0770"] = 4506 //防城港市
|
||||
// map["0777"] = 4507 //钦州市
|
||||
// map["1755"] = 4508 //贵港市
|
||||
// map["0775"] = 4509 //玉林市
|
||||
// map["0776"] = 4510 //百色市
|
||||
// map["1774"] = 4511 //贺州市
|
||||
// map["0778"] = 4512 //河池市
|
||||
// map["1772"] = 4513 //来宾市
|
||||
// map["1771"] = 4514 //崇左市
|
||||
|
||||
//海南
|
||||
// map["0898"] = 4601 //海口市
|
||||
// map["0899"] = 4602 //三亚市
|
||||
// map["2898"] = 4603 //三沙市
|
||||
// map["0805"] = 4604 //儋州市
|
||||
|
||||
//四川
|
||||
// map["0813"] = 5103 //自贡市
|
||||
// map["0812"] = 5104 //攀枝花市
|
||||
// map["0830"] = 5105 //泸州市
|
||||
// map["0838"] = 5106 //德阳市
|
||||
// map["0816"] = 5107 //绵阳市
|
||||
// map["0839"] = 5108 //广元市
|
||||
// map["0825"] = 5109 //遂宁市
|
||||
// map["1832"] = 5110 //内江市
|
||||
// map["0833"] = 5111 //乐山市
|
||||
// map["0817"] = 5113 //南充市
|
||||
// map["1833"] = 5114 //眉山市
|
||||
map["0831"] = 5115 //宜宾市
|
||||
// map["0826"] = 5116 //广安市
|
||||
// map["0818"] = 5117 //达州市
|
||||
// map["0835"] = 5118 //雅安市
|
||||
// map["0827"] = 5119 //巴中市
|
||||
// map["0832"] = 5120 //资阳市
|
||||
// map["0837"] = 5132 //阿坝藏族羌族自治州
|
||||
// map["0836"] = 5133 //甘孜藏族自治州
|
||||
// map["0834"] = 5134 //凉山彝族自治州
|
||||
|
||||
//贵州
|
||||
map["0851"] = 5201 //贵阳市
|
||||
// map["0858"] = 5202 //六盘水市
|
||||
// map["0852"] = 5203 //遵义市
|
||||
// map["0853"] = 5204 //安顺市
|
||||
// map["0857"] = 5205 //毕节市
|
||||
// map["0856"] = 5206 //铜仁市
|
||||
// map["0859"] = 5223 //黔西南布依族苗族自治州
|
||||
// map["0855"] = 5226 //黔东南苗族侗族自治州
|
||||
// map["0854"] = 5227 //黔南布依族苗族自治州
|
||||
|
||||
//云南
|
||||
// map["0871"] = 5301 //昆明市
|
||||
// map["0874"] = 5303 //曲靖市
|
||||
// map["0877"] = 5304 //玉溪市
|
||||
// map["0875"] = 5305 //保山市
|
||||
// map["0870"] = 5306 //昭通市
|
||||
// map["0888"] = 5307 //丽江市
|
||||
// map["0879"] = 5308 //普洱市
|
||||
// map["0883"] = 5309 //临沧市
|
||||
// map["0878"] = 5323 //楚雄彝族自治州
|
||||
// map["0873"] = 5325 //红河哈尼族彝族自治州
|
||||
// map["0876"] = 5326 //文山壮族苗族自治州
|
||||
// map["0691"] = 5328 //西双版纳傣族自治州
|
||||
map["0872"] = 5329 //大理白族自治州
|
||||
// map["0692"] = 5331 //德宏傣族景颇族自治州
|
||||
// map["0886"] = 5333 //怒江傈僳族自治州
|
||||
// map["0887"] = 5334 //迪庆藏族自治州
|
||||
|
||||
//陕西
|
||||
// map["0919"] = 6102 //铜川市
|
||||
// map["0917"] = 6103 //宝鸡市
|
||||
// map["0910"] = 6104 //咸阳市
|
||||
// map["0913"] = 6105 //渭南市
|
||||
// map["0911"] = 6106 //延安市
|
||||
// map["0916"] = 6107 //汉中市
|
||||
// map["0912"] = 6108 //榆林市
|
||||
// map["0915"] = 6109 //安康市
|
||||
// map["0914"] = 6110 //商洛市
|
||||
|
||||
//甘肃
|
||||
map["0931"] = 6201 //兰州市
|
||||
// map["1937"] = 6202 //嘉峪关市
|
||||
// map["0935"] = 6203 //金昌市
|
||||
// map["0943"] = 6204 //白银市
|
||||
// map["0938"] = 6205 //天水市
|
||||
// map["1935"] = 6206 //武威市
|
||||
// map["0936"] = 6207 //张掖市
|
||||
// map["0933"] = 6208 //平凉市
|
||||
// map["0937"] = 6209 //酒泉市
|
||||
// map["0934"] = 6210 //庆阳市
|
||||
// map["0932"] = 6211 //定西市
|
||||
// map["2935"] = 6212 //陇南市
|
||||
// map["0930"] = 6229 //临夏回族自治州
|
||||
// map["0941"] = 6230 //甘南藏族自治州
|
||||
|
||||
//青海
|
||||
map["0971"] = 6301 //西宁市
|
||||
// map["0972"] = 6302 //海东市
|
||||
|
||||
//宁夏
|
||||
map["0951"] = 6401 //银川市
|
||||
// map["0952"] = 6402 //石嘴山市
|
||||
// map["0953"] = 6403 //吴忠市
|
||||
// map["0954"] = 6404 //固原市
|
||||
// map["1953"] = 6405 //中卫市
|
||||
|
||||
//新疆
|
||||
// map["0991"] = 6501 //乌鲁木齐市
|
||||
// map["0990"] = 6502 //克拉玛依市
|
||||
// map["0995"] = 6504 //吐鲁番地区
|
||||
// map["0902"] = 6505 //哈密地区
|
||||
|
||||
map
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user