From 706d45dd4f4335f59b0e4a9107fe3468f8b7f3d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 12:23:38 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86=E8=BA=AB?= =?UTF-8?q?=E8=BE=B9=E5=92=8C=E5=AE=9E=E6=97=B6=E8=B7=AF=E5=86=B5=E7=9A=84?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java | 2 -- 1 file changed, 2 deletions(-) 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 9ba13d8dd1..a13c6142c3 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 @@ -127,8 +127,6 @@ public class EventTypeUtils { case V2XPoiTypeEnum.FOURS_FOG://浓雾 case V2XPoiTypeEnum.FOURS_ICE://结冰 case V2XPoiTypeEnum.FOURS_ACCIDENT://事故 - case V2XPoiTypeEnum.FOURS_NEALY://身边 - case V2XPoiTypeEnum.FOURS_LIVING://实时路况 isRoadEvent = true; break; } From f11630b1aa0d0b091bcae17fa21d16800d17c0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 12:32:15 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=BC=80=E5=90=AF=E4=BA=86=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E8=B7=AF=E5=86=B5=E7=9A=84=E9=A2=84=E8=AD=A6=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/v2x/marker/V2XMarkerRoadEventView.kt | 16 ++++++++++------ .../mogo/module/v2x/utils/EventTypeUtils.java | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt index 3059bcd6a7..2efee0e7e2 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt @@ -6,10 +6,10 @@ import android.graphics.Bitmap import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import com.mogo.module.service.utils.ViewUtils -import com.mogo.module.v2x.R import com.mogo.module.common.entity.V2XPoiTypeEnum import com.mogo.module.common.entity.V2XRoadEventEntity +import com.mogo.module.service.utils.ViewUtils +import com.mogo.module.v2x.R import kotlinx.android.synthetic.main.view_marker_event_car.view.* /** @@ -23,7 +23,7 @@ import kotlinx.android.synthetic.main.view_marker_event_car.view.* * version: 1.0 */ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) : - ConstraintLayout(context) { + ConstraintLayout(context) { val TAG = "V2XMarkerRoadEventView" init { @@ -32,13 +32,13 @@ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) : fun initView(context: Context, alarmInfo: V2XRoadEventEntity) { if (alarmInfo.poiType == V2XPoiTypeEnum.ALERT_FRONT_CAR || - alarmInfo.poiType == V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING.toString() + alarmInfo.poiType == V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING.toString() ) { LayoutInflater.from(context) - .inflate(R.layout.view_marker_event_car, this) + .inflate(R.layout.view_marker_event_car, this) } else { LayoutInflater.from(context) - .inflate(R.layout.view_marker_event_road, this) + .inflate(R.layout.view_marker_event_road, this) } updateIcon(alarmInfo) } @@ -82,6 +82,10 @@ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) : V2XPoiTypeEnum.FOURS_ACCIDENT -> { ivCar.setImageResource(R.drawable.v_to_x_marker_7) } + //事故 + V2XPoiTypeEnum.FOURS_LIVING -> { + ivCar.setImageResource(R.drawable.v_to_x_marker_1) + } //红绿灯数据 V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST -> { ivCar.setImageResource(R.drawable.v_to_x_marker_3) 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 a13c6142c3..ccd94c45b9 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 @@ -127,6 +127,7 @@ public class EventTypeUtils { case V2XPoiTypeEnum.FOURS_FOG://浓雾 case V2XPoiTypeEnum.FOURS_ICE://结冰 case V2XPoiTypeEnum.FOURS_ACCIDENT://事故 + case V2XPoiTypeEnum.FOURS_LIVING://实时路况 isRoadEvent = true; break; } From ef6f84c38c5e48f6269bfeefeb21bd9e0076c3df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 14:14:58 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E8=B7=AF=E5=86=B5=E9=A2=84=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java | 1 - 1 file changed, 1 deletion(-) 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 ccd94c45b9..a13c6142c3 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 @@ -127,7 +127,6 @@ public class EventTypeUtils { case V2XPoiTypeEnum.FOURS_FOG://浓雾 case V2XPoiTypeEnum.FOURS_ICE://结冰 case V2XPoiTypeEnum.FOURS_ACCIDENT://事故 - case V2XPoiTypeEnum.FOURS_LIVING://实时路况 isRoadEvent = true; break; } From 0142f2d6f37947218cb88a2741cd792b2ad7f499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 15:07:29 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=88=B7=E6=96=B0=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/v2x/scenario/scene/park/V2XIllegalParkWindow.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java index 03e4b3a0c1..3f3a10c331 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java @@ -15,6 +15,7 @@ import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.listener.V2XWindowStatusListener; import com.mogo.module.v2x.scenario.view.IV2XWindow; +import com.mogo.module.v2x.utils.MarkerUtils; import com.mogo.module.v2x.utils.RoadConditionUtils; import com.mogo.module.v2x.utils.V2XUtils; import com.mogo.module.v2x.view.HeartLikeView; @@ -140,7 +141,8 @@ public class V2XIllegalParkWindow extends RelativeLayout implements IV2XWindow Date: Fri, 7 Aug 2020 16:23:03 +0800 Subject: [PATCH 5/7] bugfix: npe interrupt 'work-thread-handler' thread --- .../service/marker/MapMarkerManager.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) 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 6c2493af4a..12d74cddc5 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 @@ -77,7 +77,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener, private Rect mMarkerDisplayBounds; private MapMarkerManager() { - mContext = AbsMogoApplication.getApp(); } public static synchronized MapMarkerManager getInstance() { @@ -96,6 +95,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * @param context */ public void init( Context context ) { + + if ( mContext != null ) { + return; + } + + Logger.d( TAG, "初始化" ); + + mContext = context.getApplicationContext(); mRefreshModel = new RefreshModel( mContext ); // 长连接 @@ -357,7 +364,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } int size = getAppropriateSize( maxAmount, exploreWayList ); Map< String, IMogoMarker > existCarMap = purgeMarkerData( exploreWayList, ModuleNames.CARD_TYPE_ROAD_CONDITION ); - Logger.i( TAG, "existCarMap: size = %d", existCarMap.size() );for ( int i = 0; i < size; i++ ) { + Logger.i( TAG, "existCarMap: size = %d", existCarMap.size() ); + for ( int i = 0; i < size; i++ ) { MarkerExploreWay markerExploreWay = exploreWayList.get( i ); if ( !markerExploreWay.getCanLive() ) { MarkerLocation markerLocation = markerExploreWay.getLocation(); @@ -373,7 +381,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if ( mogoMarker == null || mogoMarker.isDestroyed() ) { Logger.d( TAG, "draw road condition, sn = %s", sn ); try { - post2AddAndStartAnimation( markerShowEntity, i * 100L ); + if ( DebugConfig.isRoadEventAnimated() ) { + post2AddAndStartAnimation( markerShowEntity, i * 100L ); + } else { + mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); + } } catch ( Exception e ) { e.printStackTrace(); } @@ -391,7 +403,10 @@ public class MapMarkerManager implements IMogoMarkerClickListener, return; } IMogoMarker marker = drawMapMarker( entity, ServiceConst.MARKER_Z_INDEX_HIGH ); - marker.startScaleAnimationWithAlpha( 0, 1.2f, 0, 1.2f, 0f, 1f,300, new LinearInterpolator(), new OnMarkerAnimationListener() { + if ( marker == null ) { + return; + } + marker.startScaleAnimationWithAlpha( 0, 1.2f, 0, 1.2f, 0f, 1f, 300, new LinearInterpolator(), new OnMarkerAnimationListener() { @Override public void onAnimStart() { Logger.d( TAG, " onAnimStart ---1----> " ); @@ -399,7 +414,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, @Override public void onAnimEnd() { - if ( marker.isDestroyed() ) { + if ( marker == null || marker.isDestroyed() ) { return; } marker.startScaleAnimation( 1.2f, 1, 1.2f, 1, 100, new LinearInterpolator(), null ); From 1d2ce159de6c1a6f2a2ff98219670642e42d406d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 16:29:10 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=94=B6=E8=B5=B7=E8=BF=9D=E7=AB=A0?= =?UTF-8?q?=E5=81=9C=E8=BD=A6=20=E7=9A=84=E6=97=B6=E5=80=99=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E7=BB=98=E5=88=B6=E5=A4=A7=E8=80=8C=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java | 2 +- .../module/v2x/scenario/scene/park/V2XIllegalParkMarker.java | 2 ++ .../module/v2x/scenario/scene/park/V2XIllegalParkWindow.java | 2 -- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java index bfb35e2cbc..874fffe9d7 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java @@ -59,7 +59,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { @Override public void drawableLastAllPOI() { - //Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制"); + Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制"); // 清除连接线 V2XServiceManager.getMoGoV2XPolylineManager().clearLine(); clearAlarmPOI(); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java index 801ee51a9f..f44fd5ff4b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java @@ -95,6 +95,8 @@ public class V2XIllegalParkMarker implements IV2XMarker> V2XServiceManager.getMoGoV2XPolylineManager().clearLine(); // 移除事件POI V2XServiceManager.getMoGoV2XMarkerManager().clearAlarmPOI(); + // 绘制上次的数据 + V2XServiceManager.getMoGoV2XMarkerManager().drawableLastAllPOI(); } /** diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java index 3f3a10c331..f0ed2024d3 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkWindow.java @@ -141,8 +141,6 @@ public class V2XIllegalParkWindow extends RelativeLayout implements IV2XWindow Date: Fri, 7 Aug 2020 16:33:13 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/service/marker/MapMarkerManager.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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 12d74cddc5..13b1ccdd16 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 @@ -381,11 +381,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if ( mogoMarker == null || mogoMarker.isDestroyed() ) { Logger.d( TAG, "draw road condition, sn = %s", sn ); try { - if ( DebugConfig.isRoadEventAnimated() ) { - post2AddAndStartAnimation( markerShowEntity, i * 100L ); - } else { - mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); - } + post2AddAndStartAnimation( markerShowEntity, i * 100L ); } catch ( Exception e ) { e.printStackTrace(); }