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 }