diff --git a/.idea/gradle.xml b/.idea/gradle.xml index b892d6479b..cfc605c98e 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -84,6 +84,7 @@ diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java index eafa6edacf..2881364ae5 100644 --- a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java @@ -200,6 +200,7 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin IMogoOnWebSocketMessageListener listener = iterator.next(); if (listener != null) { Logger.d(TAG, "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getData()); + Logger.d("CameraLiveNoticeHelper", "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getData()); Object receiveObj = GsonUtil.objectFromJson(webSocketData.getData(),listener.target()); listener.onMsgReceived(receiveObj); } diff --git a/gradle.properties b/gradle.properties index e4678cb16f..508ab65961 100644 --- a/gradle.properties +++ b/gradle.properties @@ -138,7 +138,7 @@ HTTPDNS_NOOP_VERSION = 2.0.12 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=2.2.32 +CARCHATTING_VERSION=2.2.33 # 车聊聊接口 CARCHATTINGPROVIDER_VERSION=1.1.8 # websocket diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java index b29924d0e8..1aad674edb 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java @@ -359,7 +359,7 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { } MarkerScaleAnimation animationScale = new MarkerScaleAnimation( fromX, toX ); - animationScale.setDuration( duration * 1000 ); + animationScale.setDuration( duration ); // animationScale.setFillMode(Animation.FILL_MODE_FORWARDS); // animationScale.setInterpolator(interpolator); animationScale.setAnimationListener( new MarkerAnimationListener() { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/SimpleWindow3DAdapter.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/SimpleWindow3DAdapter.java new file mode 100644 index 0000000000..3239565218 --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/SimpleWindow3DAdapter.java @@ -0,0 +1,23 @@ +package com.mogo.module.common.drawer.marker; + +import android.view.View; + +import com.mogo.map.marker.IMogoInfoWindowAdapter; +import com.mogo.map.marker.IMogoMarker; + +/** + * 简单marker适配器 + * + * @author tongchenfei + */ +public class SimpleWindow3DAdapter implements IMogoInfoWindowAdapter { + + public View icon; + public SimpleWindow3DAdapter(View icon) { + this.icon = icon; + } + @Override + public View getInfoWindow(IMogoMarker marker) { + return icon; + } +} diff --git a/modules/mogo-module-common/src/main/res/drawable-mdpi/module_camera_real_time_traffic.png b/modules/mogo-module-common/src/main/res/drawable-mdpi/module_camera_real_time_traffic.png index bb7e78c0e0..2f7b45558c 100644 Binary files a/modules/mogo-module-common/src/main/res/drawable-mdpi/module_camera_real_time_traffic.png and b/modules/mogo-module-common/src/main/res/drawable-mdpi/module_camera_real_time_traffic.png differ diff --git a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_camera_real_time_traffic.png b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_camera_real_time_traffic.png index bb7e78c0e0..2f7b45558c 100644 Binary files a/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_camera_real_time_traffic.png and b/modules/mogo-module-common/src/main/res/drawable-xhdpi/module_camera_real_time_traffic.png differ diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java index ab631fd113..e7a31cb2ed 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java @@ -7,6 +7,7 @@ import android.view.ViewGroup; import androidx.annotation.Nullable; import com.mogo.commons.AbsMogoApplication; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.CloudRoadData; import com.mogo.module.extensions.R; import com.mogo.module.extensions.live.impl.AbsCameraScenario; @@ -61,8 +62,7 @@ public class CameraLiveManager extends AbsCameraScenario implemen (int) AbsMogoApplication.getApp().getResources() .getDimension(R.dimen.module_video_window_height_content)); - ExtensionServiceManager - .getMogoTopViewManager() + MogoApisHandler.getInstance().getApis().getTopViewManager() .addViewNoLinkage(getV2XWindow().getView(), layoutParams, this); getV2XWindow().show(getmCloudRoadData()); isShowWindow = true; diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java index 3aeb34605d..1d0a7d44f9 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java @@ -9,6 +9,7 @@ import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.CloudRoadData; import com.mogo.module.extensions.R; import com.mogo.module.extensions.live.listener.CameraLiveWindowStatusListener; @@ -59,9 +60,7 @@ public class PushCameraLiveWindow extends RelativeLayout implements ICameraWindo pushVideoClose = findViewById(R.id.pushVideoClose); pushVideoClose.setOnClickListener(v -> { //移除窗体 - ExtensionServiceManager - .getMogoTopViewManager() - .removeViewNoLinkage(this); + MogoApisHandler.getInstance().getApis().getTopViewManager().removeViewNoLinkage(this); }); } @@ -75,8 +74,8 @@ public class PushCameraLiveWindow extends RelativeLayout implements ICameraWindo if (!TextUtils.isEmpty(entity.getRtmpUrl())) { Logger.w(TAG, "entity.getRtmpUrl() = " + entity.getRtmpUrl()); mIvReportHead.setVisibility(INVISIBLE); - ExtensionServiceManager.getImageLoader() - .displayImage(entity.getRtmpUrl(), mIvReportHead); + MogoApisHandler.getInstance().getApis().getImageLoaderApi().displayImage(entity.getRtmpUrl(), + mIvReportHead); mLiveGSYVideoView.startLive(entity.getRtmpUrl()); } @@ -98,13 +97,11 @@ public class PushCameraLiveWindow extends RelativeLayout implements ICameraWindo } //移除窗体 - ExtensionServiceManager - .getMogoTopViewManager() - .removeView(this); + MogoApisHandler.getInstance().getApis().getTopViewManager().removeViewNoLinkage(this); } /** - * 窗体倒计时 TODO + * 窗体倒计时 */ public void countDownV2XEvent(CloudRoadData data) { // 倒计时 @@ -112,9 +109,7 @@ public class PushCameraLiveWindow extends RelativeLayout implements ICameraWindo runnableV2XEvent = () -> { //Logger.d(MODULE_NAME, "V2X=== Window 30秒倒计时结束。。。"); //移除窗体 - ExtensionServiceManager - .getMogoTopViewManager() - .removeViewNoLinkage(this); + MogoApisHandler.getInstance().getApis().getTopViewManager().removeViewNoLinkage(this); }; } else { handlerV2XEvent.removeCallbacks(runnableV2XEvent); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java index 84d94f0557..6b619506d1 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java @@ -16,7 +16,6 @@ import com.mogo.module.common.entity.MogoSnapshotSetData; import com.mogo.module.extensions.R; import com.mogo.module.extensions.live.CameraLiveManager; import com.mogo.module.extensions.live.CameraWindow3DAdapter; -import com.mogo.module.extensions.live.ExtensionServiceManager; import com.mogo.module.extensions.live.PushDataType; import com.mogo.service.connection.IMogoOnWebSocketMessageListener; import com.mogo.service.connection.WebSocketMsgType; @@ -32,8 +31,8 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener>>>mCurrentUuid = " + mCurrentUuid + ">>>mCloudRoadData.getUuid() = " + mCloudRoadData.getUuid()); + Log.d(TAG, "onMsgReceived getRtmpUrl = " + mCloudRoadData.getRtmpUrl() + "--- isVrMode = " + isVrMode + " ---isVrModeMarker = " + isVrModeMarker + ">>>>mCurrentUuid = " + mCurrentUuid + ">>>mCloudRoadData.getUuid() = " + mCloudRoadData.getUuid()); if (TextUtils.equals(mCurrentUuid, mCloudRoadData.getUuid())) { if (isVrMode == isVrModeMarker) { // do nothing. Log.e(TAG, "-------------1------------"); } else { if (isVrMode) { + Log.d(TAG, "-------------2------------"); addVrCameraMarker(mCloudRoadData); isVrModeMarker = true; - Log.d(TAG, "-------------2------------"); } else { - addNormalCameraMarker(mCloudRoadData); Log.d(TAG, "-------------3------------"); + addNormalCameraMarker(mCloudRoadData); isVrModeMarker = false; } } @@ -185,11 +204,15 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener mV2XRoadEventEntityArrayList = new CopyOnWriteArraySet<>(); // 上次的道路事件的预警Marker private static IMogoMarker mAlarmInfoMarker; - @Override public void drawableLastAllPOI() { //Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制"); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java index d5268ab6c6..8f98c94d3b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java @@ -3,6 +3,9 @@ package com.mogo.module.v2x.scenario.scene.obu; import com.mogo.map.MogoLatLng; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.module.common.drawer.MarkerDrawer; +import com.mogo.module.common.drawer.marker.EmptyMarkerView; +import com.mogo.module.common.drawer.marker.SimpleWindow3DAdapter; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.marker.OptimalSpeedMarkerView; import com.mogo.module.v2x.scenario.view.IV2XMarker; @@ -22,10 +25,23 @@ class OptimalSpeedMarker implements IV2XMarker { @Override public void drawPOI(MogoLatLng entity) { Logger.d(MODULE_NAME, "绘制绿波marker===" + entity); + MogoMarkerOptions optionsRipple = new MogoMarkerOptions() .latitude(entity.getLat()) - .longitude(entity.getLon()).anchor(0.5f,0.9f).icon( ViewUtils.fromView(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); - optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); + .longitude(entity.getLon()) + .anchor(0.5f, 0.9f) + .zIndex(MarkerDrawer.MARKER_Z_INDEX_HIGH); + if (V2XServiceManager.getMoGoStatusManager().isVrMode()) { + optionsRipple + .icon(ViewUtils.fromView(new EmptyMarkerView(V2XServiceManager.getContext()))); + optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); + optimalMarker.setInfoWindowAdapter(new SimpleWindow3DAdapter(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); + optimalMarker.showInfoWindow(); + } else { + optionsRipple + .icon(ViewUtils.fromView(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); + optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); + } if (optimalMarker != null) { optimalMarker.setClickable(false); } @@ -33,7 +49,7 @@ class OptimalSpeedMarker implements IV2XMarker { @Override public void clearPOI() { - Logger.d(MODULE_NAME,"准备清除绿波marker"); + Logger.d(MODULE_NAME, "准备清除绿波marker"); if (optimalMarker != null) { Logger.d(MODULE_NAME, "清除绿波marker===" + optimalMarker); optimalMarker.remove();