diff --git a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
index ece99da0cc..fbba636209 100644
--- a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
+++ b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
@@ -80,23 +80,6 @@
tools:ignore="SpeakableTextPresentCheck"
tools:visibility="visible" />
-
-
-
+ android:layout_marginTop="@dimen/dp_status_bar_height">
-
-
-
+ android:layout_marginTop="@dimen/dp_status_bar_height">
-
-
-
-
-
-
diff --git a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml
index 24cede1948..0092351e4a 100644
--- a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml
+++ b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml
@@ -70,23 +70,6 @@
tools:ignore="SpeakableTextPresentCheck"
tools:visibility="visible" />
-
-
-
+ android:layout_marginTop="@dimen/dp_status_bar_height">
-
-
-
+ android:layout_marginTop="@dimen/dp_status_bar_height">
-
-
-
{
-
- override fun target(msgType: Int): Class = V2XRoadXData::class.java
-
- override fun onMsgReceived(msgType: Int, data: V2XRoadXData?) {
- if (msgType != 70001) {
- return
- }
- if (data == null) {
- return
- }
- CallerCloudListenerManager.invokeSocketAck(V2XEvent.RoadEventX(data = data))
- }
-}
-
-internal class V2XMessageListener401012: IMogoCloudSocketOnMessageListener {
-
- override fun target(msgType: Int): Class = V2XMarkerCardResult::class.java
-
- override fun onMsgReceived(msgType: Int, data: V2XMarkerCardResult?) {
- if (msgType != 401012) {
- return
- }
- if (data == null) {
- return
- }
- CallerCloudListenerManager.invokeSocketAck(V2XEvent.Road(data = data))
- }
-}
-
-internal class V2XMessageListener401018: IMogoCloudSocketOnMessageListener {
-
- override fun target(msgType: Int): Class = V2XWarningTarget::class.java
-
- override fun onMsgReceived(msgType: Int, data: V2XWarningTarget?) {
- if (msgType != 401018) {
- return
- }
- if (data == null) {
- return
- }
- CallerCloudListenerManager.invokeSocketAck(V2XEvent.Warning(data = data))
- }
-}
-
-internal class V2XMessageListener402000: IMogoCloudSocketOnMessageListener {
-
- override fun target(msgType: Int): Class = V2XOptimalRoute::class.java
-
- override fun onMsgReceived(msgType: Int, data: V2XOptimalRoute?) {
- if (msgType != 402000) {
- return
- }
- if (data == null) {
- return
- }
- CallerCloudListenerManager.invokeSocketAck(V2XEvent.OptimalRoute(data = data))
- }
-}
-
-internal class V2XMessageListener404000: IMogoCloudSocketOnMessageListener {
-
- override fun target(msgType: Int): Class = V2XAdvanceWarning::class.java
-
- override fun onMsgReceived(msgType: Int, data: V2XAdvanceWarning?) {
- if (msgType != 404000) {
- return
- }
- if (data == null) {
- return
- }
- CallerCloudListenerManager.invokeSocketAck(V2XEvent.ForwardsWarning(data = data))
- }
-}
-
-internal class V2XMessageListener503000: IMogoCloudSocketOnMessageListener {
-
- override fun target(msgType: Int): Class = Road.RW_PB::class.java
-
- override fun onMsgReceived(msgType: Int, data: Road.RW_PB?) {
- if (msgType != 503000) {
- return
- }
- if (data == null) {
- return
- }
- CallerCloudListenerManager.invokeSocketAck(V2XEvent.RoadAI(data = data))
- }
-}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/biz/DataCenterBizProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/biz/DataCenterBizProvider.kt
new file mode 100644
index 0000000000..c9c0e14f5e
--- /dev/null
+++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/biz/DataCenterBizProvider.kt
@@ -0,0 +1,37 @@
+package com.mogo.eagle.core.function.datacenter.biz
+
+import android.content.Context
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.mogo.eagle.core.data.constants.MogoServicePaths
+import com.mogo.eagle.core.data.enums.Carmodel
+import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizProvider
+import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener
+
+@Route(path = MogoServicePaths.PATH_DATA_CENTER_BIZ_FUNCTION)
+class DataCenterBizProvider:IDataCenterBizProvider {
+
+ override val functionName: String
+ get() = "DataCenterBizProvider"
+
+
+ override fun init(context: Context?) {}
+ override fun init(){}
+
+ override fun notifyLoginInfo(loginNo: String?) {
+ CallerDataCenterBizListener.invokeLoginNo(loginNo)
+ }
+
+ override fun notifyCarMode(carModel: Carmodel) {
+ CallerDataCenterBizListener.invokeCarRes(carModel.resId)
+ }
+
+ override fun notifyPlateNumber(plateNumber: String?) {
+ CallerDataCenterBizListener.invokeCarNo(plateNumber)
+ }
+
+ override fun onDestroy() {
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/SpeedLimitDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/SpeedLimitDispatcher.kt
index 639072fbfa..9aebaa4298 100644
--- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/SpeedLimitDispatcher.kt
+++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/SpeedLimitDispatcher.kt
@@ -31,7 +31,6 @@ class SpeedLimitDispatcher : ILimitingVelocityListener {
/**
* 地图限速数据
*/
-// @BizConfig(FuncBizConfig.V2I, "", FuncBizConfig.BIZ_SLW) //todo emArrow 重新考虑放的位置
override fun onUnion(limitingVelocity: Int, sourceType: DataSourceType) {
super.onUnion(limitingVelocity, sourceType)
when (sourceType) { // obu 优先级高于 map,体现链路能力
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneContainerView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneContainerView.kt
index b67f897836..89b678a193 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneContainerView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneContainerView.kt
@@ -5,8 +5,6 @@ import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
-import com.mogo.eagle.core.data.enums.Carmodel
-import com.mogo.eagle.core.function.api.och.IOchFunctionCallNotify
import com.mogo.eagle.core.function.call.och.CallerOchBizFunctionCall4EagleManager
import com.mogo.eagle.core.function.hmi.R
import kotlinx.android.synthetic.main.view_bone_container.view.clBoneBiz
@@ -16,9 +14,9 @@ class BoneContainerView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
-) : ConstraintLayout(context, attrs, defStyleAttr), IOchFunctionCallNotify {
+) : ConstraintLayout(context, attrs, defStyleAttr) {
- companion object{
+ companion object {
private const val TAG = "BoneContainerView"
}
@@ -29,14 +27,6 @@ class BoneContainerView @JvmOverloads constructor(
private var logOut: (() -> Unit)? = null
- override fun onAttachedToWindow() {
- super.onAttachedToWindow()
- }
-
- override fun onDetachedFromWindow() {
- super.onDetachedFromWindow()
- }
-
private fun initView() {
clBoneTab.loginOut {
CallerOchBizFunctionCall4EagleManager.logout()
@@ -47,17 +37,8 @@ class BoneContainerView @JvmOverloads constructor(
clBoneBiz.addView(view)
}
- fun loginOut(logOut:(() -> Unit)){
+ fun loginOut(logOut: (() -> Unit)) {
this.logOut = logOut
}
- override fun notifyCarMode(carModel: Carmodel?) {
- super.notifyCarMode(carModel)
- clBoneTab.setCarMode(carModel)
- }
-
- override fun notifyPlateNumber(plateNumber: String?) {
- super.notifyPlateNumber(plateNumber)
- clBoneTab.setCarNo(plateNumber)
- }
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt
index 177d0e00e9..b0ddf476d8 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/BoneTabLayout.kt
@@ -4,7 +4,6 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
-import com.mogo.eagle.core.data.enums.Carmodel
import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxEventListener
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager
import com.mogo.eagle.core.function.hmi.R
@@ -115,18 +114,6 @@ class BoneTabLayout @JvmOverloads constructor(
})
}
- fun setCarNo(carNo: String?) {
- carInfoTabView.setCarNo(carNo)
- }
-
- fun setLoginInfo(loginNo: String) {
- carInfoTabView.setLoginInfo(loginNo)
- }
-
- fun setCarMode(carModel: Carmodel?) {
- carInfoTabView.setCarMode(carModel)
- }
-
fun loginOut(logOut: (() -> Unit)) {
UiThreadHandler.post {
this.logOut = logOut
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt
index 6c28c3b19d..26a6853158 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt
@@ -4,16 +4,16 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
+import com.mogo.commons.debug.DebugConfig
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.app.AppConfigInfo
-import com.mogo.eagle.core.data.enums.Carmodel
-import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
+import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizListener
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.api.hmi.autopilot.IMoGoCheckAutoPilotBtnListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
-import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
+import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager
@@ -25,26 +25,28 @@ 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.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.AppUtils
+import com.mogo.eagle.core.utilcode.util.NetworkUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.map.MogoData
import kotlinx.android.synthetic.main.view_car_info_tab.view.ivCarType
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvADMapVersion
-import kotlinx.android.synthetic.main.view_car_info_tab.view.tvADVersion
+import kotlinx.android.synthetic.main.view_car_info_tab.view.tvADVersionName
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvCarExit
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvCarLoginInfo
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvCarNo
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvHDMapUpdate
+import kotlinx.android.synthetic.main.view_car_info_tab.view.tvHDMapVersion
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvPADUpdate
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvPadVersion
import kotlinx.android.synthetic.main.view_car_info_tab.view.tvSnInfo
-import mogo.telematics.pad.MessagePad
import system_master.SsmInfo
import system_master.SystemStatusInfo
private fun String.parsePlateNo(): String {
return " " + substring(0, 2) + " " + substring(2) + " "
}
+
private fun String.parsePhoneNo(): String {
return take(3) + "****" + takeLast(4)
}
@@ -54,7 +56,7 @@ class CarInfoTabView @JvmOverloads constructor(
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoCheckAutoPilotBtnListener,
- IMoGoAutopilotStatusListener, IMoGoDevaToolsListener {
+ IMoGoAutopilotStatusListener, IMoGoDevaToolsListener, IDataCenterBizListener {
companion object {
private const val TAG = "CarInfoTabView"
@@ -76,6 +78,7 @@ class CarInfoTabView @JvmOverloads constructor(
CallerHmiListenerManager.addListener(TAG, this)
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
CallerDevaToolsListenerManager.addListener(TAG, this)
+ CallerDataCenterBizListener.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
@@ -83,6 +86,7 @@ class CarInfoTabView @JvmOverloads constructor(
CallerHmiListenerManager.removeListener(TAG)
CallerAutoPilotStatusListenerManager.removeListener(TAG)
CallerDevaToolsListenerManager.removeListener(TAG)
+ CallerDataCenterBizListener.removeListener(TAG)
}
private fun initView() {
@@ -109,6 +113,7 @@ class CarInfoTabView @JvmOverloads constructor(
CallerDevaToolsManager.queryAppUpgrade()
}
+ tvHDMapVersion.text = tvHDMapVersion.text.toString() + DebugConfig.getMapVersion()
//高精地图 检查更新
tvHDMapUpdate.setOnClickListener {
HmiActionLog.hmiAction(
@@ -118,14 +123,15 @@ class CarInfoTabView @JvmOverloads constructor(
if (isHDCached) { // 已缓存
ToastUtils.showShort(resources.getString(R.string.offline_had_downloaded))
} else {// 未缓存
+ if (!NetworkUtils.isConnected(context)) {
+ ToastUtils.showShort(resources.getString(R.string.offline_update_tip))
+ return@setOnClickListener
+ }
if (CallerMapUIServiceManager.getCityCode().isNullOrEmpty()) {// 未拿到高德的cityCode
if ((CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude <= 0.0 && CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude <= 0.0)) {// 未拿到高精的经纬度
ToastUtils.showShort(resources.getString(R.string.location_try_again))
} else { // 拿到了高精的经纬度
- val dialog = OfflineMapDialog(context)
- dialog.location =
- CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
- dialog.show()
+ OfflineMapDialog(context).show()
}
} else {// 拿到高德的cityCode
OfflineMapDialog(context).show()
@@ -142,26 +148,33 @@ class CarInfoTabView @JvmOverloads constructor(
tvPadVersion.text = tvPadVersion.text.toString() + AppUtils.getAppVersionName()
}
- fun setLoginInfo(loginNo: String) {
+ override fun invokeLoginNo(loginNo: String?) {
+ super.invokeLoginNo(loginNo)
UiThreadHandler.post {
- if (loginNo.isNotEmpty()) {
- tvCarLoginInfo.text = loginNo.parsePhoneNo()
- } else {
- tvCarLoginInfo.text = ""
+ loginNo?.let {
+ tvCarLoginInfo.text = it
}
}
}
- fun setCarNo(carNo: String?) {
+ override fun invokeCarRes(res: Int) {
+ super.invokeCarRes(res)
+ UiThreadHandler.post {
+ ivCarType.setImageResource(res)
+ }
+ }
+
+ override fun invokeCarNo(no: String?) {
+ super.invokeCarNo(no)
UiThreadHandler.post {
// 监听工控的车牌信息,防止调试跳过无车牌内容(链接先后顺序不一致也会导致数据显示异常)
- if (!carNo.isNullOrEmpty()) {
- if (tvCarNo.text.isNotEmpty() && tvCarNo.text == carNo) {
+ if (!no.isNullOrEmpty()) {
+ if (tvCarNo.text.isNotEmpty() && tvCarNo.text == no) {
CallerLogger.i("$M_HMI$TAG", "已存在车牌号")
return@post
}
tvCarNo.visibility = VISIBLE
- tvCarNo.text = carNo.parsePlateNo()
+ tvCarNo.text = no.parsePlateNo()
} else {
tvCarNo.visibility = GONE
tvCarNo.text = ""
@@ -169,13 +182,12 @@ class CarInfoTabView @JvmOverloads constructor(
}
}
- fun setCarMode(carModel: Carmodel?){
+ fun setLoginInfo(loginNo: String) {
UiThreadHandler.post {
- if(carModel == null){
- ivCarType.visibility = GONE
- }else{
- ivCarType.visibility = VISIBLE
- ivCarType.setImageResource(carModel.resId)
+ if (loginNo.isNotEmpty()) {
+ tvCarLoginInfo.text = loginNo.parsePhoneNo()
+ } else {
+ tvCarLoginInfo.text = ""
}
}
}
@@ -191,7 +203,7 @@ class CarInfoTabView @JvmOverloads constructor(
private fun showCurrentAdVersion() {
UiThreadHandler.post {
CallerAutoPilotStatusListenerManager.getDockerVersion()?.let {
- tvADVersion.text = tvADVersion.text.toString() + it
+ tvADVersionName.text = it
}
}
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/MsgBoxTabView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/MsgBoxTabView.kt
index daa3e140fb..20569f5b53 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/MsgBoxTabView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/MsgBoxTabView.kt
@@ -7,6 +7,7 @@ import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
@@ -21,6 +22,7 @@ import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.bone.tab.adapter.MsgBoxTabAdapter
import com.mogo.eagle.core.function.msgbox.MsgBoxConfig
+import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.layout_driver_msg_box_list.view.*
import org.greenrobot.eventbus.EventBus
@@ -57,7 +59,11 @@ class MsgBoxTabView @JvmOverloads constructor(
msgBoxTabAdapter= MsgBoxTabAdapter(context as Activity)
rvMsgBoxList.adapter = msgBoxTabAdapter
linearLayoutManager = LinearLayoutManager(context)
+ linearLayoutManager?.orientation = LinearLayoutManager.VERTICAL
rvMsgBoxList.layoutManager = linearLayoutManager
+ val divider = DividerItemDecoration(context, linearLayoutManager!!.orientation)
+ getDrawable(R.drawable.rv_divider_line_tab)?.let { divider.setDrawable(it) }
+ rvMsgBoxList.addItemDecoration(divider)
//获取通知消息列表
noticeList= CallerMsgBoxManager.getCachedNotifyData() as ArrayList?
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/adapter/MsgBoxTabAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/adapter/MsgBoxTabAdapter.kt
index 16dddfc9b9..abfa103b25 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/adapter/MsgBoxTabAdapter.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/adapter/MsgBoxTabAdapter.kt
@@ -457,12 +457,14 @@ class MsgBoxTabAdapter(private val activity: Activity) :
holder.tvNoticeTime.text =
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
holder.tvNoticeContent.text = noticeNormalData?.content
- GlideApp.with(activity).load(noticeNormalData?.imageUrl).optionalTransform(
- GlideRoundedCornersTransform(
- 20f,
- GlideRoundedCornersTransform.CornerType.ALL
- )
- ).into(holder.ivNoticeImage)
+ if(noticeNormalData?.imageUrl?.isNotEmpty() == true){
+ GlideApp.with(activity).load(noticeNormalData.imageUrl).optionalTransform(
+ GlideRoundedCornersTransform(
+ 20f,
+ GlideRoundedCornersTransform.CornerType.ALL
+ )
+ ).into(holder.ivNoticeImage)
+ }
holder.tvNoticeCheck.setOnClickListener {
//云公告
noticeNormalData?.let { it1 -> CallerHmiManager.showNoticeNormalData(it1) }
@@ -472,13 +474,15 @@ class MsgBoxTabAdapter(private val activity: Activity) :
holder.tvNoticeTime.text =
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
holder.tvNoticeContent.text = noticeTrafficStylePushData?.content
- GlideApp.with(activity).load(noticeTrafficStylePushData?.poiImgUrl)
- .optionalTransform(
- GlideRoundedCornersTransform(
- 20f,
- GlideRoundedCornersTransform.CornerType.ALL
- )
- ).into(holder.ivNoticeImage)
+ if(noticeTrafficStylePushData?.poiImgUrl?.isNotEmpty() == true){
+ GlideApp.with(activity).load(noticeTrafficStylePushData.poiImgUrl)
+ .optionalTransform(
+ GlideRoundedCornersTransform(
+ 20f,
+ GlideRoundedCornersTransform.CornerType.ALL
+ )
+ ).into(holder.ivNoticeImage)
+ }
holder.tvNoticeCheck.setOnClickListener {
//云公告
noticeTrafficStylePushData?.let { it1 ->
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt
index 3bed3e83df..759be8cbd3 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/toolkit/ToolKitDataManager.kt
@@ -178,7 +178,6 @@ object ToolKitDataManager : IToolKitItemClickListener, IOrderListener {
ToolTypeEnum.OPERATION_PANEL.name -> {
ctx?.also {
-// SopView.sopView.toggle(it)
CallerHmiManager.toggleOperatePanel(true)
}
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt
index a72bdad6c9..7b2fa8f6f7 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt
@@ -68,6 +68,7 @@ import com.zhjt.service_biz.BizConfig
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
+import java.lang.ref.WeakReference
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicReference
@@ -95,6 +96,8 @@ class MoGoHmiProvider : IMoGoHmiProvider {
private val xiaozhi by lazy { XiaoZhiStateManager() }
+ private val operatePanel by lazy { AtomicReference>() }
+
override fun init(context: Context?) {
this.context = context
}
@@ -448,22 +451,26 @@ class MoGoHmiProvider : IMoGoHmiProvider {
Log.d(TAG, "toggleOperatePanel --- activity is null, show: $show")
return
}
+ var target = operatePanel.get()?.get()
if (show) {
- var target = activity.findViewById(R.id.id_operate_panel)
if (target == null) {
- val vs = activity.findViewById(R.id.vs_operate_panel) ?: throw AssertionError()
- target = vs.inflate()
+ target = activity.findViewById(R.id.id_operate_panel)
+ if (target == null) {
+ val vs = activity.findViewById(R.id.vs_operate_panel) ?: throw AssertionError()
+ target = vs.inflate()
+ }
+ }
+ if (target != null) {
+ operatePanel.set(WeakReference(target))
}
if (target != null && target.visibility != View.VISIBLE) {
TransitionManager.beginDelayedTransition(target.parent as ViewGroup, Slide(Gravity.START).also { it.duration = 150; it.addTarget(target) })
target.visibility = View.VISIBLE
- target.post { target.bringToFront() }
}
} else {
- val operatePanelView = activity.findViewById(R.id.id_operate_panel)
- if (operatePanelView != null && operatePanelView.visibility == View.VISIBLE) {
- TransitionManager.beginDelayedTransition(operatePanelView.parent as ViewGroup, Slide(Gravity.START).also { it.duration = 150; it.addTarget(operatePanelView) })
- operatePanelView.visibility = View.GONE
+ if (target != null && target.visibility == View.VISIBLE) {
+ TransitionManager.beginDelayedTransition(target.parent as ViewGroup, Slide(Gravity.START).also { it.duration = 150; it.addTarget(target) })
+ target.visibility = View.GONE
}
}
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt
index 506fff2706..24a9ce8433 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxBubbleView.kt
@@ -51,7 +51,7 @@ class MsgBoxBubbleView @JvmOverloads constructor(
var msgBoxBubbleAdapter: MsgBoxBubbleAdapter ?= null
- private val TAG = "DriverMsgBoxBubbleView"
+ private val TAG = "MsgBoxBubbleView"
private val dataList :ArrayList = ArrayList()
private var isShowData = true
private var isShowSummary = false //是否展示汇总消息
@@ -197,7 +197,7 @@ class MsgBoxBubbleView @JvmOverloads constructor(
}
private fun showData(msgBoxBean: MsgBoxBean){
- clMsgBubbleLayout.visibility = View.VISIBLE
+ llMsgBubbleLayout.visibility = View.VISIBLE
val msgBoxCountDownBean = MsgBoxCountDownBean(msgBoxBean)
dataList.add(msgBoxCountDownBean)
msgBoxBubbleAdapter?.setData(dataList)
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt
index fb89246bb1..c2981cf00d 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt
@@ -181,12 +181,14 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
val noticeNormalData = noticeFrCloudMsg.noticeNormalData
holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
holder.tvNoticeContent.text = noticeNormalData?.content
- GlideApp.with(activity).load(noticeNormalData?.imageUrl).optionalTransform(
- GlideRoundedCornersTransform(
- 20f,
- GlideRoundedCornersTransform.CornerType.ALL
- )
- ).into(holder.ivNoticeImage)
+ if(noticeNormalData?.imageUrl?.isNotEmpty() == true){
+ GlideApp.with(activity).load(noticeNormalData.imageUrl).optionalTransform(
+ GlideRoundedCornersTransform(
+ 20f,
+ GlideRoundedCornersTransform.CornerType.ALL
+ )
+ ).into(holder.ivNoticeImage)
+ }
holder.tvNoticeCheck.setOnClickListener {
//云公告
if (noticeNormalData != null) {
@@ -197,12 +199,14 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
val noticeTrafficStylePushData = noticeFrCloudMsg.trafficPushData
holder.tvNoticeTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
holder.tvNoticeContent.text = noticeTrafficStylePushData?.content
- GlideApp.with(activity).load(noticeTrafficStylePushData?.poiImgUrl).optionalTransform(
- GlideRoundedCornersTransform(
- 20f,
- GlideRoundedCornersTransform.CornerType.ALL
- )
- ).into(holder.ivNoticeImage)
+ if(noticeTrafficStylePushData?.poiImgUrl?.isNotEmpty() == true){
+ GlideApp.with(activity).load(noticeTrafficStylePushData.poiImgUrl).optionalTransform(
+ GlideRoundedCornersTransform(
+ 20f,
+ GlideRoundedCornersTransform.CornerType.ALL
+ )
+ ).into(holder.ivNoticeImage)
+ }
holder.tvNoticeCheck.setOnClickListener {
//云公告
if (noticeTrafficStylePushData != null) {
@@ -417,7 +421,6 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
//Notice
class BubbleNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage)
-// var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle)
var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime)
var tvNoticeCheck: TextView = itemView.findViewById(R.id.tvNoticeCheck)
var tvNoticeContent: TextView = itemView.findViewById(R.id.tvNoticeContent)
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
index 339afef14f..ef5876569c 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
@@ -269,6 +269,7 @@ import kotlinx.android.synthetic.main.view_debug_setting.view.tvCurEnv
import kotlinx.android.synthetic.main.view_debug_setting.view.tvDriverServerStartupStatus
import kotlinx.android.synthetic.main.view_debug_setting.view.tvGearInfo
import kotlinx.android.synthetic.main.view_debug_setting.view.tvGitBranchInfo
+import kotlinx.android.synthetic.main.view_debug_setting.view.tvHDCityCode
import kotlinx.android.synthetic.main.view_debug_setting.view.tvIPCMac
import kotlinx.android.synthetic.main.view_debug_setting.view.tvIdentifyInfo
import kotlinx.android.synthetic.main.view_debug_setting.view.tvIdentifyInfoCopy
@@ -2254,6 +2255,11 @@ internal class DebugSettingView @JvmOverloads constructor(
}"
)
+ val cityCode = mogoMapData.get()?.getCityCode()
+ cityCode?.let {
+ tvHDCityCode.text = "$it"
+ }
+
tvObuConnectStatus.text = Html.fromHtml(
"OBU连接状态:${
if (AppConfigInfo.isConnectObu) {
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OfflineMapDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OfflineMapDialog.kt
index fdcde8b018..3cbedff0f8 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OfflineMapDialog.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/OfflineMapDialog.kt
@@ -2,24 +2,19 @@ package com.mogo.eagle.core.function.hmi.ui.tools
import android.annotation.SuppressLint
import android.content.Context
-import android.graphics.Color
-import android.graphics.RectF
-import android.graphics.drawable.ClipDrawable
-import android.graphics.drawable.GradientDrawable
-import android.graphics.drawable.LayerDrawable
-import android.view.Gravity
import android.view.View
import android.widget.ImageView
import android.widget.ProgressBar
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
-import com.mogo.eagle.core.data.map.MogoLocation
+import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
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.UiThreadHandler
import com.mogo.map.MogoData.Companion.mogoMapData
import me.jessyan.autosize.utils.AutoSizeUtils
@@ -29,7 +24,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils
*/
class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
- companion object{
+ companion object {
private const val TAG = "OfflineMapDialog"
}
@@ -44,11 +39,14 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
private var downloadPercentView: TextView? = null
private var downloadResultImg: ImageView? = null
+ @Volatile
private var isLoading = false
- private var isConfirm = true
- private var isRetry = false
- var location: MogoLocation? = null
+ @Volatile
+ private var isConfirm = true
+
+ @Volatile
+ private var isRetry = false
init {
setContentView(R.layout.dialog_offline_map)
@@ -73,6 +71,7 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
showNewContent(isLoading = true, false)
cacheHDOfflineData()
}
+
else -> {
dismiss()
}
@@ -85,6 +84,7 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
showNewContent(isLoading = true, false)
cacheHDOfflineData()
}
+
else -> {
dismiss()
}
@@ -100,21 +100,31 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
}
private fun cacheHDDataByCityByLonLat() {
- mogoMapData.get()?.cacheHDDataByCityByLonLat(location!!, { _, progress ->
+ val loc = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
+ hmiAction(
+ "$M_HMI$TAG",
+ mapOf("click" to "cacheHDOfflineData", "hasLoc" to loc)
+ )
+ if (loc.longitude > 0 && loc.latitude > 0) {
+ mogoMapData.get()?.cacheHDDataByCityByLonLat(loc, { _, progress ->
updateProgress(progress.toInt())
- }, { _, state ->
- if (state == 0) {// 失败
- showNewContent(isLoading = false, false)
- }
- })
+ }, { _, state ->
+ if (state == 0) {// 失败
+ showNewContent(isLoading = false, false)
+ }
+ })
+ } else {
+ showNewContent(isLoading = false, false)
+ }
}
private fun cacheHDOfflineData() {
- hmiAction(
- "$M_HMI$TAG",
- mapOf("click" to "cacheHDOfflineData","hasLoc" to (location != null))
- )
- if (location == null) {// 拿到了高德地图的cityCode
+ val cityCode = mogoMapData.get()?.getCityCode()
+ if (cityCode != null) {// 拿到了高德地图的cityCode
+ hmiAction(
+ "$M_HMI$TAG",
+ mapOf("click" to "cacheHDOfflineData", "hasCityCode" to cityCode)
+ )
mogoMapData.get()?.cacheHDDataByCity({ _, progress ->
updateProgress(progress.toInt())
}, { _, state ->
@@ -125,6 +135,7 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
} else {// 只拿到了高精的经纬度
cacheHDDataByCityByLonLat()
}
+
}
@@ -133,8 +144,11 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
if (this@OfflineMapDialog.isShowing) {
progressBar?.let {
if (it.visibility == View.VISIBLE) {
- it.progress = if (progress in 1..5) 5 else progress
- val p = AutoSizeUtils.dp2px(context, 770f) * (it.progress / 100.0) - AutoSizeUtils.dp2px(context, 30f)
+ it.progress = if (progress <= 5) 5 else progress
+ val p = AutoSizeUtils.dp2px(
+ context,
+ 770f
+ ) * (it.progress / 100.0) - AutoSizeUtils.dp2px(context, 30f)
CallerLogger.i("$M_HMI$TAG", "updateProgress: $p , pro:${it.progress}")
downloadPercentView?.translationX = p.toFloat()
downloadPercentView?.text = "${it.progress}%"
@@ -160,50 +174,54 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
@SuppressLint("UseCompatLoadingForDrawables")
private fun showNewContent(isLoading: Boolean, isSuccess: Boolean) {
- this.isLoading = isLoading
- change2NewStyle()
- when {
- isLoading -> {
- downloadResultImg?.visibility = View.GONE
- offlineTitleView?.visibility = View.GONE
- downloadingTip?.visibility = View.VISIBLE
- okView?.text = context.resources.getString(R.string.cancel)
- }
- else -> {
- when {
- isSuccess -> {
- okView?.visibility = View.VISIBLE
- okView?.text = context.resources.getString(R.string.ok_tip)
- offlineTitleView?.visibility = View.VISIBLE
- offlineTitleView?.text =
- context.resources.getString(R.string.offline_download_success)
- progressBar?.visibility = View.GONE
- downloadPercentView?.visibility = View.GONE
- downloadingTip?.visibility = View.GONE
- downloadResultImg?.visibility = View.VISIBLE
- downloadResultImg?.setImageDrawable(context.resources.getDrawable(R.drawable.icon_map_cache_success))
- hmiAction("$M_HMI$TAG", mapOf("cacheMap" to true))
- }
- else -> {
- isRetry = true
- isConfirm = false
- offlineTitleView?.visibility = View.VISIBLE
- offlineTitleView?.text =
- context.resources.getString(R.string.offline_download_failure)
- okView?.visibility = View.GONE
- progressBar?.visibility = View.GONE
- downloadPercentView?.visibility = View.GONE
- downloadingTip?.visibility = View.GONE
- leftView?.visibility = View.VISIBLE
- leftView?.text = context.resources.getString(R.string.ok_tip)
- rightView?.visibility = View.VISIBLE
- rightView?.text = context.resources.getString(R.string.retry)
- downloadResultImg?.visibility = View.VISIBLE
- downloadResultImg?.setImageDrawable(context.resources.getDrawable(R.drawable.icon_map_cache_failed))
- hmiAction("$M_HMI$TAG", mapOf("cacheMap" to false))
+ UiThreadHandler.post({
+ this.isLoading = isLoading
+ change2NewStyle()
+ when {
+ isLoading -> {
+ downloadResultImg?.visibility = View.GONE
+ offlineTitleView?.visibility = View.GONE
+ downloadingTip?.visibility = View.VISIBLE
+ okView?.text = context.resources.getString(R.string.cancel)
+ }
+
+ else -> {
+ when {
+ isSuccess -> {
+ okView?.visibility = View.VISIBLE
+ okView?.text = context.resources.getString(R.string.ok_tip)
+ offlineTitleView?.visibility = View.VISIBLE
+ offlineTitleView?.text =
+ context.resources.getString(R.string.offline_download_success)
+ progressBar?.visibility = View.GONE
+ downloadPercentView?.visibility = View.GONE
+ downloadingTip?.visibility = View.GONE
+ downloadResultImg?.visibility = View.VISIBLE
+ downloadResultImg?.setImageDrawable(context.resources.getDrawable(R.drawable.icon_map_cache_success))
+ hmiAction("$M_HMI$TAG", mapOf("cacheMap" to true))
+ }
+
+ else -> {
+ isRetry = true
+ isConfirm = false
+ offlineTitleView?.visibility = View.VISIBLE
+ offlineTitleView?.text =
+ context.resources.getString(R.string.offline_download_failure)
+ okView?.visibility = View.GONE
+ progressBar?.visibility = View.GONE
+ downloadPercentView?.visibility = View.GONE
+ downloadingTip?.visibility = View.GONE
+ leftView?.visibility = View.VISIBLE
+ leftView?.text = context.resources.getString(R.string.ok_tip)
+ rightView?.visibility = View.VISIBLE
+ rightView?.text = context.resources.getString(R.string.retry)
+ downloadResultImg?.visibility = View.VISIBLE
+ downloadResultImg?.setImageDrawable(context.resources.getDrawable(R.drawable.icon_map_cache_failed))
+ hmiAction("$M_HMI$TAG", mapOf("cacheMap" to false))
+ }
}
}
}
- }
+ }, UiThreadHandler.MODE.QUEUE)
}
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt
index 8b4e320bed..b347e768b8 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt
@@ -145,13 +145,15 @@ class SystemVersionView @JvmOverloads constructor(
if (isHDCached) {// 已缓存
ToastUtils.showShort(resources.getString(R.string.offline_had_downloaded))
} else {// 未缓存
+ if(!NetworkUtils.isConnected(context)){
+ ToastUtils.showShort(resources.getString(R.string.offline_update_tip))
+ return@setOnClickListener
+ }
if (CallerMapUIServiceManager.getCityCode().isNullOrEmpty()) {// 未拿到高德的cityCode
if ((getChassisLocationWGS84().longitude <= 0.0 && getChassisLocationWGS84().latitude <= 0.0)) {// 未拿到高精的经纬度
ToastUtils.showShort(resources.getString(R.string.location_try_again))
} else {// 拿到了高精的经纬度
- val dialog = OfflineMapDialog(context)
- dialog.location = getChassisLocationWGS84()
- dialog.show()
+ OfflineMapDialog(context).show()
}
} else {// 拿到高德的cityCode
OfflineMapDialog(context).show()
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java
index 27f121fae8..a2d67be768 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java
@@ -8,6 +8,7 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_MAI
import android.os.Bundle;
import android.os.Process;
+import android.util.Log;
import android.view.KeyEvent;
import androidx.annotation.Nullable;
@@ -90,10 +91,12 @@ public class MainLauncherActivity extends MainActivity {
// 兼容处理之前联想PAD及小巴车多个设备部署不同APP方案
if (!DebugConfig.isMultiDisplay()) {
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
+ Log.i("emArrow","Driver start");
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/driver/api")
.navigation(getContext());
} else if(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)){
+ Log.i("emArrow","Passenger start");
ochProvider = (IMoGoFunctionProvider) ARouter.getInstance()
.build("/passenger/api")
.navigation(getContext());
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/bg_tab_msg_box_title.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/bg_tab_msg_box_title.png
new file mode 100644
index 0000000000..c4f0324598
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/bg_tab_msg_box_title.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_bg_patch.9.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_bg_patch.9.png
new file mode 100644
index 0000000000..297e80cb1c
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_bg_patch.9.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_patch.9.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_patch.9.png
index 6dd9358414..73e6592de8 100644
Binary files a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_patch.9.png and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_progress_patch.9.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_corner_bg_test.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_corner_bg_test.xml
index 28fd08b44e..15c23affd0 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_corner_bg_test.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_corner_bg_test.xml
@@ -1,17 +1,17 @@
-
+
-
-
+
-
+
+
+
@@ -34,10 +34,9 @@
android:id="@android:id/progress"
android:width="@dimen/dp_770"
android:height="@dimen/dp_50"
- android:gravity="center_vertical"
- android:left="@dimen/dp_0">
+ android:gravity="center_vertical">
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/rv_divider_line_tab.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/rv_divider_line_tab.xml
new file mode 100644
index 0000000000..f6411fcae0
--- /dev/null
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/rv_divider_line_tab.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_offline_map.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_offline_map.xml
index ea3e3bf7e3..6230b00ce4 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_offline_map.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_offline_map.xml
@@ -61,10 +61,8 @@
android:layout_height="@dimen/dp_50"
android:layout_marginTop="@dimen/dp_296"
android:max="100"
- android:progress="5"
+ android:progress="0"
android:visibility="gone"
- android:paddingStart="@dimen/dp_0"
- android:paddingEnd="@dimen/dp_0"
android:progressDrawable="@drawable/progressbar_corner_bg_test"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_steering_wheel_bus.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_steering_wheel_bus.xml
index d57659b22a..865f351d02 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_steering_wheel_bus.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_steering_wheel_bus.xml
@@ -48,7 +48,7 @@
android:id="@+id/steering_tv_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dp_72"
+ android:layout_marginTop="@dimen/dp_status_bar_height"
android:layout_marginRight="-16dp"
android:gravity="right"
android:text="0°"
@@ -63,7 +63,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="-16dp"
- android:layout_marginTop="@dimen/dp_72"
+ android:layout_marginTop="@dimen/dp_status_bar_height"
android:gravity="left"
android:text="0°"
android:textColor="#415479"
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml
index f128be2927..8638c693b9 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_passenger_msg_box_v2x.xml
@@ -21,8 +21,8 @@
@@ -24,6 +25,7 @@
android:layout_marginStart="@dimen/dp_30"
android:textColor="@color/white"
android:textSize="@dimen/sp_38"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_fsm.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_fsm.xml
index bbeac5e08c..3a276c3d13 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_fsm.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_fsm.xml
@@ -2,6 +2,7 @@
@@ -24,6 +25,7 @@
android:layout_marginStart="@dimen/dp_30"
android:textSize="@dimen/sp_38"
android:textColor="@color/white"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_notice.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_notice.xml
index 5d13c330e3..46228d3819 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_notice.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_notice.xml
@@ -2,6 +2,7 @@
@@ -25,6 +26,7 @@
android:text="@string/notice_title"
android:textColor="@color/white"
android:textSize="@dimen/sp_38"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation.xml
index cad6212af0..2acd7fa9bd 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation.xml
@@ -2,6 +2,7 @@
@@ -25,6 +26,7 @@
android:text="@string/operation_title"
android:textSize="@dimen/sp_38"
android:textColor="@color/white"
+ android:textStyle="bold"
/>
@@ -27,6 +27,7 @@
android:textColor="@color/white"
android:layout_marginStart="@dimen/dp_30"
android:text="@string/operation_door_title"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_return.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_return.xml
index 96327b4318..883c9ba28e 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_return.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_return.xml
@@ -2,6 +2,7 @@
@@ -27,6 +27,7 @@
app:layout_constraintTop_toTopOf="@id/ivOperationReturnImage"
app:layout_constraintLeft_toRightOf="@id/ivOperationReturnImage"
android:layout_marginStart="@dimen/dp_30"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_stop.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_stop.xml
index 0bc0ae4ebc..cf13978a2d 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_stop.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_operation_stop.xml
@@ -2,6 +2,7 @@
@@ -27,6 +27,7 @@
android:textColor="@color/white"
android:layout_marginStart="@dimen/dp_30"
android:text="@string/operation_stop_title"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_ssm.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_ssm.xml
index 149f9f118b..6411b5f498 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_ssm.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_ssm.xml
@@ -2,6 +2,7 @@
@@ -24,6 +25,7 @@
android:layout_marginStart="@dimen/dp_30"
android:textColor="@color/white"
android:textSize="@dimen/sp_38"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_summary.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_summary.xml
index 4d0e507a5c..d4b9ad9930 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_summary.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_summary.xml
@@ -2,6 +2,7 @@
@@ -25,6 +26,7 @@
android:textColor="@color/white"
android:textSize="@dimen/sp_38"
android:text="@string/summary_title"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_v2x.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_v2x.xml
index 7068ef5400..882a89d130 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_v2x.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_tab_v2x.xml
@@ -2,6 +2,7 @@
@@ -23,6 +24,7 @@
android:layout_marginStart="@dimen/dp_30"
android:textSize="@dimen/sp_38"
android:textColor="@color/white"
+ android:textStyle="bold"
/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml
index ade816d6b1..102861b623 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml
@@ -47,7 +47,7 @@
android:id="@id/vs_operate_panel"
android:layout_width="@dimen/dp_1046"
android:layout_height="match_parent"
- android:layout_marginTop="@dimen/dp_72"
+ android:layout_marginTop="@dimen/dp_status_bar_height"
android:inflatedId="@id/id_operate_panel"
android:layout_gravity="start|top"
android:layout="@layout/layout_operate_panel_holder" />
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml
index 956a3ac6e7..dff2577d56 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml
@@ -11,7 +11,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_19"
- android:layout_marginTop="@dimen/dp_76"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -20,7 +19,7 @@
android:id="@+id/clBoneBiz"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dp_385"
+ android:layout_marginTop="@dimen/dp_309"
android:layout_marginStart="@dimen/dp_19"
android:elevation="1dp"
app:layout_constraintLeft_toLeftOf="parent"
@@ -30,10 +29,9 @@
android:id="@+id/clBoneTab"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginTop="@dimen/dp_385"
+ android:layout_marginTop="@dimen/dp_309"
android:elevation="20dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
-
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml
index fefbf2a188..e269c962db 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml
@@ -15,7 +15,7 @@
@@ -101,7 +101,7 @@
+
+
+ app:layout_constraintTop_toBottomOf="@+id/tvADVersionName" />
+ app:layout_constraintTop_toBottomOf="@+id/tvADMapVersion" />
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml
index 4e8bf3f9cf..b8a82bffcf 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml
@@ -2,7 +2,7 @@
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml
index 15ae97a3a0..56c1df9a57 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_wifi_state.xml
@@ -5,7 +5,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:background="#A6000000"
- tools:layout_height="@dimen/dp_72">
+ tools:layout_height="@dimen/dp_status_bar_height">
588dp
1066dp
+ 67dp
60dp
275dp
120dp
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml
index ff6dcd2dfa..054d07565e 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml
@@ -93,6 +93,7 @@
离线地图下载成功
离线地图下载失败
当前已为最新版本
+ 请检查网络连接是否正常
请检查定位是否正常
确定
重试
diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt
index 226149d26f..f8dea9cacb 100644
--- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt
+++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/MapBizProvider.kt
@@ -33,7 +33,6 @@ class MapBizProvider :IMoGoFunctionServerProvider, IMogoRoma {
MogoRouteOverlayManager.getInstance().init()
MogoTrajectoryOverlayManager.getInstance().init()
MapPointCloudSubscriber.instance
- SpeedLimitDataManager.getInstance().start()
RoadCrossCameraManager.instance.init(context)
if(DeviceUtils.isLeOrEb5Model()){ //todo 新增稳定设备类型需要添加,目的避免在nuc设备上使用此类功能
romaManager.init()
diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt
index 88d0736fcc..3dbacbe47c 100644
--- a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt
+++ b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/MogoStartUpProvider.kt
@@ -72,7 +72,6 @@ class MogoStartUpProvider : IStartUpProvider {
StartupManager.Builder()
.addStartup(DataCenterStartUp())
.addStartup(AutopilotStartUp())
- .addStartup(AiCloudBizStartUp())
.addStartup(ObuStartUp())
.addStartup(MapBizStartUp())
.setConfig(config)
diff --git a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AiCloudBizStartUp.kt b/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AiCloudBizStartUp.kt
deleted file mode 100644
index 903e705355..0000000000
--- a/core/function-impl/mogo-core-function-startup/src/main/java/com/mogo/eagle/core/function/startup/stagetwo/AiCloudBizStartUp.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mogo.eagle.core.function.startup.stagetwo
-
-import android.content.Context
-import com.alibaba.android.arouter.launcher.ARouter
-import com.mogo.eagle.core.data.constants.MogoServicePaths
-import com.rousetime.android_startup.AndroidStartup
-
-class AiCloudBizStartUp : AndroidStartup() {
-
- override fun create(context: Context): Boolean {
- ARouter.getInstance().build(MogoServicePaths.PATH_AI_CLOUD).navigation()
- return true
- }
-
- override fun callCreateOnMainThread(): Boolean {
- return true
- }
-
- override fun waitOnMainThread(): Boolean {
- return false
- }
-
- override fun dependenciesByName(): List {
- val deps = arrayListOf()
- deps.add("com.mogo.eagle.core.function.startup.stagetwo.DataCenterStartUp")
- return deps
- }
-}
\ No newline at end of file
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java
index 61809ce8b4..d94623aaf8 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java
@@ -52,12 +52,6 @@ public class MogoServicePaths {
@Keep
public static final String PATH_AUTO_PILOT = "/auto_pilot/api";
- /**
- * AiCloud socket 数据透出业务模块
- */
- @Keep
- public static final String PATH_AI_CLOUD = "/ai_cloud/api";
-
/**
* 业务Biz 模块
*/
@@ -99,6 +93,9 @@ public class MogoServicePaths {
@Keep
public static final String PATH_DATA_CENTER_MODULE = "/data_center/api";
+ @Keep
+ public static final String PATH_DATA_CENTER_BIZ_FUNCTION = "/data_center_biz/function";
+
@Keep
public static final String PATH_CERT_DOWN_LOAD_PROVIDER = "/cert_file/api";
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt
index fbef6ebc9e..768e41d0c7 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt
@@ -9,7 +9,7 @@ enum class Carmodel(val serverName:String,@RawRes val rawValue: Int, val resId:
B1("B1", R.raw.xiaoba, R.drawable.icon_car_b1),
B2("B2", R.raw.m2, R.drawable.icon_car_b2),
M1("M1", R.raw.m1, R.drawable.icon_car_m1),
- C1("C1", R.raw.huanwei, R.drawable.icon_car_t1),; //todo c1替换
+ C1("C1", R.raw.huanwei, R.drawable.icon_car_c1),;
companion object{
fun getCarModelFromServerName(serverName:String?): Carmodel {
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterBizListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterBizListener.kt
new file mode 100644
index 0000000000..bc16839f3a
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterBizListener.kt
@@ -0,0 +1,10 @@
+package com.mogo.eagle.core.function.api.datacenter
+
+interface IDataCenterBizListener {
+
+ fun invokeLoginNo(loginNo:String?){}
+
+ fun invokeCarRes(res:Int){}
+
+ fun invokeCarNo(no:String?){}
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterBizProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterBizProvider.kt
new file mode 100644
index 0000000000..62e84c4cbd
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/datacenter/IDataCenterBizProvider.kt
@@ -0,0 +1,9 @@
+package com.mogo.eagle.core.function.api.datacenter
+
+import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
+import com.mogo.eagle.core.function.api.och.IOchFunctionCallNotify
+
+interface IDataCenterBizProvider: IMoGoFunctionServerProvider, IOchFunctionCallNotify {
+
+
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt
index 84a78ac0f7..d0897558ce 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IEagleBaseFunctionCall4Och.kt
@@ -71,4 +71,9 @@ interface IEagleBaseFunctionCall4Och {
*/
fun setOchPlateNumber(plateNumber: String?) {}
+ /**
+ * Och设置 登录手机号
+ */
+ fun setOchLoginNo(loginNo: String?){}
+
}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCallNotify.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCallNotify.kt
index 4347ba17c9..855adf91dc 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCallNotify.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/och/IOchFunctionCallNotify.kt
@@ -7,17 +7,19 @@ import com.mogo.eagle.core.data.enums.Carmodel
*/
interface IOchFunctionCallNotify {
+ fun init(){}
+
/**
* 网约车回调登陆信息
*/
- fun notifyLoginInfo() {}
+ fun notifyLoginInfo(loginNo: String?) {}
// 车型变化回调
- fun notifyCarMode(carModel: Carmodel?){}
+ fun notifyCarMode(carModel: Carmodel)
// 车牌变化回调
- fun notifyPlateNumber(plateNumber: String?){}
+ fun notifyPlateNumber(plateNumber: String?)
- fun LoginOut() {}
+ fun loginOut() {}
}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt
new file mode 100644
index 0000000000..4ca44685ac
--- /dev/null
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt
@@ -0,0 +1,39 @@
+package com.mogo.eagle.core.function.call.datacenter
+
+import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizListener
+import com.mogo.eagle.core.function.call.base.CallerBase
+
+object CallerDataCenterBizListener : CallerBase() {
+
+ private var res:Int = 0
+ private var loginNo:String? = null
+ private var no:String? = null
+
+ override fun doSomeAfterAddListener(tag: String, listener: IDataCenterBizListener) {
+ super.doSomeAfterAddListener(tag, listener)
+ listener.invokeLoginNo(no)
+ listener.invokeCarRes(res)
+ listener.invokeCarNo(no)
+ }
+
+ fun invokeLoginNo(loginNo: String?){
+ this.loginNo = loginNo
+ M_LISTENERS.forEach {
+ it.value.invokeLoginNo(loginNo)
+ }
+ }
+
+ fun invokeCarRes(res: Int) {
+ this.res = res
+ M_LISTENERS.forEach {
+ it.value.invokeCarRes(res)
+ }
+ }
+
+ fun invokeCarNo(no: String?) {
+ this.no = no
+ M_LISTENERS.forEach {
+ it.value.invokeCarNo(no)
+ }
+ }
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizManager.kt
new file mode 100644
index 0000000000..cdc082d7b6
--- /dev/null
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizManager.kt
@@ -0,0 +1,31 @@
+package com.mogo.eagle.core.function.call.datacenter
+
+import com.alibaba.android.arouter.launcher.ARouter
+import com.mogo.eagle.core.data.constants.MogoServicePaths
+import com.mogo.eagle.core.data.enums.Carmodel
+import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizProvider
+import com.mogo.eagle.core.function.api.och.IOchFunctionCallNotify
+
+object CallerDataCenterBizManager: IOchFunctionCallNotify {
+
+ private val dataCenterBizProviderApi
+ get() = ARouter.getInstance().build(MogoServicePaths.PATH_DATA_CENTER_BIZ_FUNCTION)
+ .navigation() as? IDataCenterBizProvider
+
+ override fun init() {
+ dataCenterBizProviderApi?.init()
+ }
+
+ override fun notifyLoginInfo(loginNo: String?) {
+ dataCenterBizProviderApi?.notifyLoginInfo(loginNo)
+ }
+
+ override fun notifyCarMode(carModel: Carmodel) {
+ dataCenterBizProviderApi?.notifyCarMode(carModel)
+ }
+
+ override fun notifyPlateNumber(plateNumber: String?) {
+ dataCenterBizProviderApi?.notifyPlateNumber(plateNumber)
+ }
+
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt
index c30357fd08..45901bf9f7 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/och/CallerEagleBaseFunctionCall4OchManager.kt
@@ -6,6 +6,7 @@ import com.mogo.eagle.core.function.api.och.IEagleBaseFunctionCall4Och
import com.mogo.eagle.core.function.api.och.toolkit.IToolKitItemClickListener
import com.mogo.eagle.core.function.api.och.toolkit.ToolKitCustomItemAddParam
import com.mogo.eagle.core.function.api.och.toolkit.ToolKitDefaultItemAddParam
+import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizManager
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
/**
@@ -89,13 +90,17 @@ object CallerEagleBaseFunctionCall4OchManager : IEagleBaseFunctionCall4Och {
* Och设置车型 E70 H9 B1 B2 M1 金旅牌XML6606JEVY0(小巴车) NJL6450ICEV(小巴) BJ5122TXSEV-H1(环卫车)
*/
override fun setOchCarModel(carModel: Carmodel) {
- //this.carModel = carModel
+ CallerDataCenterBizManager.notifyCarMode(carModel)
}
/**
* Och设置 车牌
*/
override fun setOchPlateNumber(plateNumber: String?) {
- // this.plateNumber = plateNumber
+ CallerDataCenterBizManager.notifyPlateNumber(plateNumber)
+ }
+
+ override fun setOchLoginNo(loginNo: String?) {
+ CallerDataCenterBizManager.notifyLoginInfo(loginNo)
}
}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt
index 6f4d2da0b1..78ae49b4b5 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt
@@ -6,7 +6,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import java.util.concurrent.atomic.AtomicBoolean
/**
- * @author XuXinChao
+ * @author XuXinChao //todo emArrow 合并dataCenter
* @date 2023/4/20
* 订单监听管理
*/
diff --git a/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_c1.png b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_c1.png
new file mode 100644
index 0000000000..6794109400
Binary files /dev/null and b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_c1.png differ
diff --git a/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_default.png b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_default.png
new file mode 100644
index 0000000000..00c6c9ecde
Binary files /dev/null and b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_default.png differ
diff --git a/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t1.png b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t1.png
index b1a42e2bbc..b74958d03e 100644
Binary files a/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t1.png and b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t1.png differ
diff --git a/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t2.png b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t2.png
index b74958d03e..b1a42e2bbc 100644
Binary files a/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t2.png and b/core/mogo-core-res/src/main/res/drawable-nodpi/icon_car_t2.png differ
diff --git a/core/mogo-core-res/src/main/res/values/dimens.xml b/core/mogo-core-res/src/main/res/values/dimens.xml
index 9b1ae652c5..5c70f7eb94 100644
--- a/core/mogo-core-res/src/main/res/values/dimens.xml
+++ b/core/mogo-core-res/src/main/res/values/dimens.xml
@@ -1049,6 +1049,7 @@
1170dp
1176dp
1200dp
+ 1214dp
1241dp
1250dp
1261dp
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoData.kt b/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoData.kt
index e8fad00b35..abc831d808 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoData.kt
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoData.kt
@@ -81,6 +81,8 @@ interface IMogoData {
*/
fun getTileId(lon: Double, lat: Double): Long
+ fun getCityCode(): Int?
+
/**
* 通过cityCode,缓存城市HDMap
*/
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MapDataWrapper.kt b/libraries/mogo-map/src/main/java/com/mogo/map/MapDataWrapper.kt
index 3c581ec2ce..b87e1ed44a 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/MapDataWrapper.kt
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/MapDataWrapper.kt
@@ -176,6 +176,11 @@ object MapDataWrapper : IMogoData {
return MapAutoApi.getTileID(lon, lat, 13) // 13为默认获取瓦片层级级别
}
+ @Synchronized
+ override fun getCityCode(): Int? {
+ return getHDCityCode(gdLocationClient.lastCityCode)
+ }
+
/**
* 通过cityCode获取HDMap对应缓存城市
*/
@@ -187,8 +192,8 @@ object MapDataWrapper : IMogoData {
val gdCityCode = gdLocationClient.lastCityCode
i(M_MAP + TAG, "gdCityCode is:$gdCityCode")
val id = getHDCityCode(gdCityCode)
- id?.let {
- MapDataApi.cacheHDDataByCity(it, object : OnHdDataDownByCityListener {
+ if (id != null && id > 0) {
+ MapDataApi.cacheHDDataByCity(id, object : OnHdDataDownByCityListener {
override fun onMapHDDataCacheProgressByCity(id: Int, p: Double) {
progress.invoke(id, p * 100)
}
@@ -197,7 +202,10 @@ object MapDataWrapper : IMogoData {
result.invoke(id, state)
}
})
+ }else{
+ result.invoke(0, 0)
}
+
}
/**
@@ -305,13 +313,23 @@ object MapDataWrapper : IMogoData {
}
@Synchronized
- override fun getBusStation(routeList: ArrayList, resultUnit:((MutableList) -> Unit)) {
+ override fun getBusStation(
+ routeList: ArrayList,
+ resultUnit: ((MutableList) -> Unit)
+ ) {
val resultList = mutableListOf()
MapDataApi.getBusStation(routeList, object : IResult {
override fun result(code: Int, result: RoutePath?) {
result?.steps?.forEach {
it?.busStations.forEach {
- val busStation = BusStation(it.busStationPoints, it.id.toLong() , it.roadId, it.type, -1, -1)
+ val busStation = BusStation(
+ it.busStationPoints,
+ it.id.toLong(),
+ it.roadId,
+ it.type,
+ -1,
+ -1
+ )
resultList.add(busStation)
}
}
@@ -332,7 +350,15 @@ object MapDataWrapper : IMogoData {
override fun result(code: Int, result: RoadCross?) {
try {
Logger.d(TAG, "getCrossRoad --- 1 - 1 ---")
- temp.set(CrossRoad(result?.status ?: 0, result?.tile_id ?: "", result?.cross_id ?: "", result?.tile_id_end ?: "", result?.cross_id_end ?: ""))
+ temp.set(
+ CrossRoad(
+ result?.status ?: 0,
+ result?.tile_id ?: "",
+ result?.cross_id ?: "",
+ result?.tile_id_end ?: "",
+ result?.cross_id_end ?: ""
+ )
+ )
} finally {
latch.countDown()
}
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt b/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt
index 5cb804f9ad..6ef5e36c2c 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/utils/HDMapUtils.kt
@@ -17,360 +17,360 @@ object HDMapUtils {
//河北
map["0311"] = 1301 //石家庄市
-// map["0315"] = 1302 //唐山市
-// map["0335"] = 1303 //秦皇岛市
-// map["0310"] = 1304 //邯郸市
-// map["0319"] = 1305 //邢台市
+ 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["0313"] = 1307 //张家口市
+ map["0314"] = 1308 //承德市
+ map["0317"] = 1309 //沧州市
map["0316"] = 1310 //廊坊市
-// map["0318"] = 1311 //衡水市
+ 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["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["0473"] = 1503 //乌海市
+ map["0476"] = 1504 //赤峰市
+ map["0475"] = 1505 //通辽市
map["0477"] = 1506 //鄂尔多斯市
map["0470"] = 1507 //呼伦贝尔市
-// map["0478"] = 1508 //巴彦淖尔市
-// map["0474"] = 1509 //乌兰察布市
-// map["0482"] = 1522 //兴安盟
+ map["0478"] = 1508 //巴彦淖尔市
+ map["0474"] = 1509 //乌兰察布市
+ map["0482"] = 1522 //兴安盟
map["0479"] = 1525 //锡林郭勒盟
-// map["0483"] = 1529 //阿拉善盟
+ 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["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["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["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["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["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["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["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["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["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["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["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["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["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["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["0377"] = 4113 //南阳市
+ map["0370"] = 4114 //商丘市
+ map["0376"] = 4115 //信阳市
+ map["0394"] = 4116 //周口市
+ map["0396"] = 4117 //驻马店市
//湖北
-// map["0714"] = 4202 //黄石市
+ map["0714"] = 4202 //黄石市
map["0719"] = 4203 //十堰市
-// map["0717"] = 4205 //宜昌市
-// map["0710"] = 4206 //襄阳市
+ 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["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["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["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["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["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["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["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["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["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["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["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["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["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["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["0974"] = 6325 //海南藏族自治州
-// map["0972"] = 6302 //海东市
+ map["0972"] = 6302 //海东市
//宁夏
map["0951"] = 6401 //银川市
-// map["0952"] = 6402 //石嘴山市
-// map["0953"] = 6403 //吴忠市
-// map["0954"] = 6404 //固原市
-// map["1953"] = 6405 //中卫市
+ 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["0991"] = 6501 //乌鲁木齐市
+ map["0990"] = 6502 //克拉玛依市
+ map["0995"] = 6504 //吐鲁番地区
+ map["0902"] = 6505 //哈密地区
map
}