diff --git a/.idea/misc.xml b/.idea/misc.xml index e082ea7475..a2da5c6cd8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CloudPoiManager.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CloudPoiManager.java new file mode 100644 index 0000000000..efcb4cdc9c --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/CloudPoiManager.java @@ -0,0 +1,106 @@ +package com.mogo.module.common.utils; + +import android.content.Context; +import android.util.ArrayMap; + +import com.mogo.module.common.R; +import com.mogo.module.common.entity.MarkerPoiTypeEnum; +import com.mogo.module.common.marker.PoiWrapper; +import com.mogo.utils.logger.Logger; +import com.mogo.utils.network.utils.GsonUtil; +import com.mogo.utils.storage.SharedPrefsMgr; + +import java.util.List; +import java.util.Map; + +/** + * 云端配置poi数据管理公共类 + * + * @author tongchenfei + */ +public class CloudPoiManager { + private static final String TAG = "CloudPoiManager"; + + private Map poiWrapper = new ArrayMap<>(); + private static CloudPoiManager instance = null; + public static CloudPoiManager getInstance(){ + if (instance == null) { + synchronized (CloudPoiManager.class) { + if (instance == null) { + instance = new CloudPoiManager(); + } + } + } + return instance; + } + + public void generateDefault(){ + if (poiWrapper.isEmpty()) { + poiWrapper.put(MarkerPoiTypeEnum.GAS_STATION, new PoiWrapper(MarkerPoiTypeEnum.GAS_STATION,R.drawable.module_common_icon_map_marker_refuel, + R.drawable.module_common_icon_map_marker_refuel, "加油站")); + poiWrapper.put(MarkerPoiTypeEnum.TRAFFIC_CHECK, new PoiWrapper(MarkerPoiTypeEnum.TRAFFIC_CHECK, + R.drawable.module_common_icon_map_marker_road_check2,R.drawable.module_common_icon_map_marker_road_check2_white, "交通检查")); + poiWrapper.put(MarkerPoiTypeEnum.ROAD_CLOSED, new PoiWrapper(MarkerPoiTypeEnum.ROAD_CLOSED, + R.drawable.module_common_icon_map_marker_road_block_off2,R.drawable.module_common_icon_map_marker_road_block_off2_white, "封路")); + poiWrapper.put(MarkerPoiTypeEnum.SHOP_DISCOUNT, new PoiWrapper(MarkerPoiTypeEnum.SHOP_DISCOUNT, + R.drawable.module_common_icon_map_marker_shop_discount,R.drawable.module_common_icon_map_marker_shop_discount, "商场打折")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_4S, new PoiWrapper(MarkerPoiTypeEnum.FOURS_4S, + R.drawable.module_common_icon_map_marker_4s,R.drawable.module_common_icon_map_marker_4s, "4S店")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_ROAD_WORK, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ROAD_WORK, + R.drawable.module_common_icon_map_marker_road_work2,R.drawable.module_common_icon_map_marker_road_work2_white, "施工")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_BLOCK_UP, new PoiWrapper(MarkerPoiTypeEnum.FOURS_BLOCK_UP, + R.drawable.module_common_icon_map_marker_road_block_up2,R.drawable.module_common_icon_map_marker_road_block_up2_white, "拥堵")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_PONDING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_PONDING, + R.drawable.module_common_icon_map_marker_pondingl2,R.drawable.module_common_icon_map_marker_pondingl2_white, "积水")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_SHOP_FREE, new PoiWrapper(MarkerPoiTypeEnum.FOURS_SHOP_FREE, + R.drawable.module_common_icon_map_marker_shop,R.drawable.module_common_icon_map_marker_shop, "超时打折")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_FOG, new PoiWrapper(MarkerPoiTypeEnum.FOURS_FOG, + R.drawable.module_common_ic_rc_dark_frog2,R.drawable.module_common_ic_rc_dark_frog2_white, "浓雾")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_ICE, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ICE, + R.drawable.module_common_ic_rc_freeze2,R.drawable.module_common_ic_rc_freeze2_white, "结冰")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_PARKING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_PARKING, + R.drawable.module_common_ic_rc_parking2,R.drawable.module_common_ic_rc_parking2, "停车场")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_ACCIDENT, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ACCIDENT, + R.drawable.module_common_ic_rc_accident3,R.drawable.module_common_ic_rc_accident3_white, "事故")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_NEALY, new PoiWrapper(MarkerPoiTypeEnum.FOURS_NEALY, + R.drawable.module_common_icon_map_marker_shear_news,R.drawable.module_common_icon_map_marker_shear_news, "身边")); + poiWrapper.put(MarkerPoiTypeEnum.FOURS_LIVING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_LIVING, + R.drawable.module_common_icon_map_marker_living,R.drawable.module_common_icon_map_marker_living_white, "实时路况")); + poiWrapper.put(MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING, new PoiWrapper(MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING, + R.drawable.module_common_ic_rc_illegal_park,R.drawable.module_common_ic_rc_illegal_park_white, "违章停车")); + // 分享里用到的故障求助 + poiWrapper.put("9999", new PoiWrapper("9999", + R.drawable.module_common_icon_seek_help,R.drawable.module_common_icon_seek_help, "故障求助")); + } + } + + public void updateFromConfig(Context context) { + generateDefault(); + // 从sp中获取config属性,将服务端配置内容合并到本地 + String config = SharedPrefsMgr.getInstance(context).getString("SHARE_BUTTON_CONFIG", ""); + if (!config.isEmpty()) { + List configWrappers = GsonUtil.arrayFromJson(config, PoiWrapper.class); + if(configWrappers!=null) { + for (PoiWrapper wrapper : configWrappers) { + wrapper.setIconInfoRes(R.drawable.module_common_icon_map_marker_road_block_up2_white); + wrapper.setIconRes(R.drawable.module_common_icon_map_marker_road_block_up2); + if(poiWrapper.containsKey(wrapper.getPoiType())) { + PoiWrapper defWrapper = poiWrapper.get(wrapper.getPoiType()); + if(defWrapper!=null) { + wrapper.setIconRes(defWrapper.getIconRes()); + wrapper.setIconInfoRes(defWrapper.getIconInfoRes()); + } + } + poiWrapper.put(wrapper.getPoiType(), wrapper); + } + }else{ + Logger.e(TAG, "解析configWrapper异常: " + config); + } + } + } + + public PoiWrapper getWrapperByPoiType(String poiType) { + return poiWrapper.get(poiType); + } + +} diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_accident3.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_accident3.png new file mode 100644 index 0000000000..fe68bc7cba Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_accident3.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_accident3_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_accident3_white.png new file mode 100644 index 0000000000..911bee2df4 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_accident3_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_dark_frog2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_dark_frog2.png new file mode 100644 index 0000000000..787101fbb1 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_dark_frog2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_dark_frog2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_dark_frog2_white.png new file mode 100644 index 0000000000..b6164bcfdd Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_dark_frog2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_freeze2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_freeze2.png new file mode 100644 index 0000000000..d34779845e Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_freeze2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_freeze2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_freeze2_white.png new file mode 100644 index 0000000000..353cfefec6 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_freeze2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_illegal_park.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_illegal_park.png new file mode 100644 index 0000000000..5923d114f6 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_illegal_park.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_illegal_park_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_illegal_park_white.png new file mode 100644 index 0000000000..dbc420e8e6 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_illegal_park_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_parking2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_parking2.png new file mode 100644 index 0000000000..8026654bdf Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_ic_rc_parking2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_4s.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_4s.png new file mode 100644 index 0000000000..11c5c6ea7b Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_4s.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_living.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_living.png new file mode 100644 index 0000000000..d6f1dea192 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_living.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_living_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_living_white.png new file mode 100644 index 0000000000..1b87f0ce86 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_living_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_pondingl2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_pondingl2.png new file mode 100644 index 0000000000..478232ac79 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_pondingl2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_pondingl2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_pondingl2_white.png new file mode 100644 index 0000000000..700226f150 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_pondingl2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_refuel.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_refuel.png new file mode 100644 index 0000000000..bac7ee2e40 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_refuel.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_off2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_off2.png new file mode 100644 index 0000000000..2fb4ef553e Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_off2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_off2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_off2_white.png new file mode 100644 index 0000000000..9b424494ee Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_off2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_up2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_up2.png new file mode 100644 index 0000000000..e62fd5ec03 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_up2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_up2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_up2_white.png new file mode 100644 index 0000000000..0ac89f4dec Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_block_up2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_check2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_check2.png new file mode 100644 index 0000000000..001974ba87 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_check2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_check2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_check2_white.png new file mode 100644 index 0000000000..5baea2a41b Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_check2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_work2.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_work2.png new file mode 100644 index 0000000000..c11e911f15 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_work2.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_work2_white.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_work2_white.png new file mode 100644 index 0000000000..7875086c3e Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_road_work2_white.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shear_news.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shear_news.png new file mode 100644 index 0000000000..f446cba155 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shear_news.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shop.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shop.png new file mode 100644 index 0000000000..d8be56fd47 Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shop.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shop_discount.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shop_discount.png new file mode 100644 index 0000000000..97e8a4967b Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_map_marker_shop_discount.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_seek_help.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_seek_help.png new file mode 100644 index 0000000000..79ee716a3f Binary files /dev/null and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_common_icon_seek_help.png differ diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java index bf3e59126e..94491158d3 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java @@ -13,13 +13,12 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerExploreWay; -import com.mogo.module.common.entity.MarkerPoiTypeEnum; import com.mogo.module.common.entity.MarkerShareMusic; import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.common.marker.PoiWrapper; +import com.mogo.module.common.utils.CloudPoiManager; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; -import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; /** @@ -94,7 +93,7 @@ public class MapMarkerInfoView extends MapMarkerBaseView { // 根据poiType获取对应的图片 String poiType = ((MarkerExploreWay) bindObj).getPoiType(); PoiWrapper poiWrapper = - MapMarkerManager.getInstance().getWrapperByPoiType(poiType); + CloudPoiManager.getInstance().getWrapperByPoiType(poiType); if (poiWrapper != null) { // 加载图片 loadPoiTypeIcon(poiWrapper.getIconInfoUrl(),poiWrapper.getIconInfoRes()); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index cd352781d6..211d122e21 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -3,7 +3,6 @@ package com.mogo.module.service.marker; import android.content.Context; import android.graphics.Rect; import android.text.TextUtils; -import android.util.ArrayMap; import android.view.animation.LinearInterpolator; import com.mogo.commons.AbsMogoApplication; @@ -23,11 +22,10 @@ import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.MarkerNoveltyInfo; import com.mogo.module.common.entity.MarkerOnlineCar; -import com.mogo.module.common.entity.MarkerPoiTypeEnum; import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.common.entity.MarkerShareMusic; import com.mogo.module.common.entity.MarkerShowEntity; -import com.mogo.module.common.marker.PoiWrapper; +import com.mogo.module.common.utils.CloudPoiManager; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; @@ -44,8 +42,6 @@ import com.mogo.utils.ThreadPoolService; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.WorkThreadHandler; import com.mogo.utils.logger.Logger; -import com.mogo.utils.network.utils.GsonUtil; -import com.mogo.utils.storage.SharedPrefsMgr; import org.json.JSONArray; import org.json.JSONException; @@ -112,7 +108,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, mContext = context.getApplicationContext(); mRefreshModel = new RefreshModel( mContext ); - updateIconWithPoiType(); + CloudPoiManager.getInstance().updateFromConfig(context); MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this ); MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this ); @@ -1032,67 +1028,4 @@ public class MapMarkerManager implements IMogoMarkerClickListener, mLastCheckMarker = null; } } - - private Map poiIconMap = new ArrayMap<>(); - public void updateIconWithPoiType(){ - // 先生成本地默认map - poiIconMap.put(MarkerPoiTypeEnum.GAS_STATION, new PoiWrapper(MarkerPoiTypeEnum.GAS_STATION,R.drawable.icon_map_marker_refuel, - R.drawable.icon_map_marker_refuel, "加油站")); - poiIconMap.put(MarkerPoiTypeEnum.TRAFFIC_CHECK, new PoiWrapper(MarkerPoiTypeEnum.TRAFFIC_CHECK, - R.drawable.icon_map_marker_road_check2,R.drawable.icon_map_marker_road_check2_white, "交通检查")); - poiIconMap.put(MarkerPoiTypeEnum.ROAD_CLOSED, new PoiWrapper(MarkerPoiTypeEnum.ROAD_CLOSED, - R.drawable.icon_map_marker_road_block_off2,R.drawable.icon_map_marker_road_block_off2_white, "封路")); - poiIconMap.put(MarkerPoiTypeEnum.SHOP_DISCOUNT, new PoiWrapper(MarkerPoiTypeEnum.SHOP_DISCOUNT, - R.drawable.icon_map_marker_shop_discount,R.drawable.icon_map_marker_shop_discount, "商场打折")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_4S, new PoiWrapper(MarkerPoiTypeEnum.FOURS_4S, - R.drawable.icon_map_marker_4s,R.drawable.icon_map_marker_4s, "4S店")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_ROAD_WORK, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ROAD_WORK, - R.drawable.icon_map_marker_road_work2,R.drawable.icon_map_marker_road_work2_white, "施工")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_BLOCK_UP, new PoiWrapper(MarkerPoiTypeEnum.FOURS_BLOCK_UP, - R.drawable.icon_map_marker_road_block_up2,R.drawable.icon_map_marker_road_block_up2_white, "拥堵")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_PONDING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_PONDING, - R.drawable.icon_map_marker_pondingl2,R.drawable.icon_map_marker_pondingl2_white, "积水")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_SHOP_FREE, new PoiWrapper(MarkerPoiTypeEnum.FOURS_SHOP_FREE, - R.drawable.icon_map_marker_shop,R.drawable.icon_map_marker_shop, "超时打折")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_FOG, new PoiWrapper(MarkerPoiTypeEnum.FOURS_FOG, - R.drawable.module_service_ic_rc_dark_frog2,R.drawable.module_service_ic_rc_dark_frog2_white, "浓雾")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_ICE, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ICE, - R.drawable.module_service_ic_rc_freeze2,R.drawable.module_service_ic_rc_freeze2_white, "结冰")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_PARKING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_PARKING, - R.drawable.module_service_ic_rc_parking2,R.drawable.module_service_ic_rc_parking2, "停车场")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_ACCIDENT, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ACCIDENT, - R.drawable.module_service_ic_rc_accident3,R.drawable.module_service_ic_rc_accident3_white, "事故")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_NEALY, new PoiWrapper(MarkerPoiTypeEnum.FOURS_NEALY, - R.drawable.icon_map_marker_shear_news,R.drawable.icon_map_marker_shear_news, "身边")); - poiIconMap.put(MarkerPoiTypeEnum.FOURS_LIVING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_LIVING, - R.drawable.icon_map_marker_living,R.drawable.icon_map_marker_living_white, "实时路况")); - poiIconMap.put(MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING, new PoiWrapper(MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING, - R.drawable.module_service_ic_rc_illegal_park,R.drawable.module_service_ic_rc_illegal_park_white, "违章停车")); - // 从sp中获取config属性,将服务端配置内容合并到本地 - String config = SharedPrefsMgr.getInstance(mContext).getString("SHARE_BUTTON_CONFIG", ""); - if (!config.isEmpty()) { - List configWrappers = GsonUtil.arrayFromJson(config, PoiWrapper.class); - if(configWrappers!=null) { - for (PoiWrapper wrapper : configWrappers) { - wrapper.setIconInfoRes(R.drawable.icon_map_marker_road_block_up2_white); - wrapper.setIconRes(R.drawable.icon_map_marker_road_block_up2); - if(poiIconMap.containsKey(wrapper.getPoiType())) { - PoiWrapper defWrapper = poiIconMap.get(wrapper.getPoiType()); - if(defWrapper!=null) { - wrapper.setIconRes(defWrapper.getIconRes()); - wrapper.setIconInfoRes(defWrapper.getIconInfoRes()); - } - } - poiIconMap.put(wrapper.getPoiType(), wrapper); - } - }else{ - Logger.e(TAG, "解析configWrapper异常: " + config); - } - } - } - - public PoiWrapper getWrapperByPoiType(String poiType) { - return poiIconMap.get(poiType); - } - } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java index cecd7b4908..81cea57f96 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java @@ -8,12 +8,11 @@ import androidx.annotation.Nullable; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerExploreWay; -import com.mogo.module.common.entity.MarkerPoiTypeEnum; import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.common.marker.PoiWrapper; +import com.mogo.module.common.utils.CloudPoiManager; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; -import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; /** @@ -62,7 +61,7 @@ public class MapMarkerView extends MapMarkerBaseView { // 根据poiType获取对应的图片 String poiType = ((MarkerExploreWay) bindObj).getPoiType(); PoiWrapper poiWrapper = - MapMarkerManager.getInstance().getWrapperByPoiType(poiType); + CloudPoiManager.getInstance().getWrapperByPoiType(poiType); if (poiWrapper != null) { // 加载图片 loadPoiTypeIcon(poiWrapper.getIconUrl(),poiWrapper.getIconRes()); diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index dc4b8e040b..f915233082 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -9,19 +9,15 @@ import android.util.ArrayMap; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.commons.debug.DebugConfig; -import com.mogo.commons.network.ParamsProvider; import com.mogo.commons.network.SubscribeImpl; import com.mogo.commons.network.Utils; -import com.mogo.commons.voice.AIAssist; -import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.map.location.MogoLocation; import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant; import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant; import com.mogo.module.authorize.authprovider.module.IMogoAcquireAuthorizeListener; import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager; import com.mogo.module.common.dialog.BaseFloatDialog; -import com.mogo.module.service.marker.MapMarkerManager; +import com.mogo.module.common.utils.CloudPoiManager; import com.mogo.module.share.bean.FixableButton; import com.mogo.module.share.bean.ShareButtonConfigResponse; import com.mogo.module.share.bean.ShareConfigRequest; @@ -29,18 +25,15 @@ import com.mogo.module.share.bean.StepAfterAuth; import com.mogo.module.share.constant.HttpConstant; import com.mogo.module.share.constant.ShareConstants; import com.mogo.module.share.dialog.GridFixableShareDialog; -import com.mogo.module.share.dialog.LaucherShareDialog; import com.mogo.module.share.manager.ServiceApisManager; import com.mogo.module.share.manager.UploadHelper; import com.mogo.module.share.net.ShareApiService; import com.mogo.service.MogoServicePaths; -import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.service.intent.IMogoIntentManager; import com.mogo.service.share.IMogoShareManager; -import com.mogo.service.statusmanager.IMogoStatusChangedListener; -import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.service.share.IMogoTanluProvider; import com.mogo.service.share.TanluUploadParams; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.NetworkUtils; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; @@ -52,7 +45,6 @@ import org.jetbrains.annotations.NotNull; import org.json.JSONObject; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -74,7 +66,6 @@ import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_ROAD_I import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_SEEK_HELP; import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_STAGNANT_WATER; import static com.mogo.module.share.constant.ShareConstants.UNWAKE_UPLOAD_TRAFFIC_CHECK; -import static com.mogo.module.share.constant.ShareConstants.UPLOAD_REAL_TIME_TRAFFIC; import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_GO_TO_SHARE; import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_NO_REPLY_SHARE_DIALOG_CLOSE; import static com.mogo.module.share.constant.ShareConstants.VOICE_CMD_PUB_ROAD_CONDITION; @@ -478,7 +469,7 @@ public class ShareControl implements IMogoShareManager, Handler.Callback { } Logger.d(TAG, "获取分享框配置成功: " + config); SharedPrefsMgr.getInstance(mContext).putString(KEY_SHARE_CONFIG, config); - MapMarkerManager.getInstance().updateIconWithPoiType(); + CloudPoiManager.getInstance().updateFromConfig(mContext); } @Override diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/FixableButton.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/FixableButton.kt index f80afbfa52..f68896177a 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/FixableButton.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/bean/FixableButton.kt @@ -8,10 +8,10 @@ import com.mogo.service.share.IMogoTanluProvider.* * 可配置按钮封装 * @author tongchenfei */ -class FixableButton(val id: Int = 0, val poiType: String = "10007", val iconUrl: String = "", val title: String = "拥堵") { +class FixableButton(val id: Int = 0, val poiType: String = "10007", val iconUrl: String = "", val iconInfoUrl: String = "", val title: String = "拥堵") { val iconRes: Int get() = when (poiType) { - TYPE_SEEK_HELP -> R.drawable.share_seek_help + TYPE_SEEK_HELP -> R.drawable.module_common_icon_seek_help TYPE_DENSE_FOG -> R.drawable.share_dense_fog TYPE_ROAD_ICY -> R.drawable.share_road_icy TYPE_STAGNANT_WATER -> R.drawable.share_stagnant_water diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java index 99981c0580..16c8cdd890 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java @@ -1,8 +1,11 @@ package com.mogo.module.v2x.utils; import com.mogo.module.common.entity.V2XPoiTypeEnum; +import com.mogo.module.common.marker.PoiWrapper; +import com.mogo.module.common.utils.CloudPoiManager; import com.mogo.module.v2x.R; import com.mogo.module.v2x.voice.V2XVoiceConstants; +import com.mogo.utils.logger.Logger; /** * @ProjectName: MoGoModulSafeDriving @@ -18,6 +21,13 @@ import com.mogo.module.v2x.voice.V2XVoiceConstants; */ public class EventTypeUtils { public static String getPoiTypeStr(String poiType) { + // 先获取网络配置的poi对应的名称 + PoiWrapper wrapper = CloudPoiManager.getInstance().getWrapperByPoiType(poiType); + if (wrapper != null) { + Logger.d("EventTypeUtils", "从配置表中拿到了相关数据: " + wrapper.getTitle()); + return wrapper.getTitle(); + } + // 如果获取不到,那么就用本地默认的 String str = "其它道路事件"; switch (poiType) { // 停车场