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();