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) {
// 停车场