Merge remote-tracking branch 'origin/demo/shunyi_vr_map' into demo/shunyi_vr_map

This commit is contained in:
tongchenfei
2020-10-28 11:31:39 +08:00
9 changed files with 306 additions and 52 deletions

View File

@@ -2,7 +2,7 @@ package com.mogo.base.websocket;
import java.io.Serializable;
public class WebSocketData<T> implements Serializable {
public class WebSocketData implements Serializable {
private long seq;
@@ -10,7 +10,7 @@ public class WebSocketData<T> implements Serializable {
private String sn;
private T t;
private String data;
public long getSeq() {
return seq;
@@ -36,11 +36,11 @@ public class WebSocketData<T> implements Serializable {
this.sn = sn;
}
public T getT() {
return t;
public String getData() {
return data;
}
public void setT(T t) {
this.t = t;
public void setData(String data) {
this.data = data;
}
}

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import androidx.annotation.Keep;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.mogo.commons.network.Utils;
import com.mogo.service.connection.IMogoMsgAckListener;
import com.mogo.service.connection.IMogoOnWebSocketMessageListener;
@@ -116,7 +117,8 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin
webSocketData.setSeq(System.currentTimeMillis());
webSocketData.setMsgType(listener.getUpLinkType().getMsgType());
webSocketData.setSn(Utils.getSn());
webSocketData.setT(body);
webSocketData.setData(new Gson().toJson(body));
Logger.d(TAG,"sendMsg : " + new Gson().toJson(webSocketData));
handlerThread.sendMsg(new Gson().toJson(webSocketData));
}
}
@@ -145,8 +147,9 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin
while (iterator.hasNext()) {
IMogoOnWebSocketMessageListener listener = iterator.next();
if (listener != null) {
Logger.d(TAG, "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getT().toString());
listener.onMsgReceived(webSocketData.getT());
Logger.d(TAG, "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getData());
Object receiveObj = GsonUtil.objectFromJson(webSocketData.getData(),listener.target());
listener.onMsgReceived(receiveObj);
}
}
}

View File

@@ -55,7 +55,7 @@ dependencies {
implementation project(':foudations:mogo-commons')
}
implementation 'com.zhidaoauto.machine:map:1.0.0-online-18'
implementation 'com.zhidaoauto.machine:map:1.0.0-online-19'
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -249,6 +249,11 @@ public class AdasNoticeHelper implements IMogoAdasWarnMessageCallback, IMogoLoca
return WebSocketMsgType.MSG_TYPE_DOWNLINK_CAR_DATA;
}
@Override
public Class<MogoSnapshotSetData> target() {
return MogoSnapshotSetData.class;
}
@Override
public void onMsgReceived(MogoSnapshotSetData obj) {
Logger.d(TAG, "收到大而全数据: " + obj);

View File

@@ -146,6 +146,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
return WebSocketMsgType.MSG_TYPE_DOWNLINK_CAR_DATA;
}
@Override
public Class<MogoSnapshotSetData> target() {
return MogoSnapshotSetData.class;
}
@Override
public void onMsgReceived( MogoSnapshotSetData data ) {
if ( data == null ) {

View File

@@ -50,6 +50,16 @@ public class V2XTestConsoleWindow extends ConstraintLayout {
private Button mBtnTriggerParkEvent;
private Button mBtnTriggerCallUserInfo;
private Button btnTriggerRearVIPCarTip,
btnTriggerVehicleBrakes,
btnTriggerRearDangerousVehicles,
btnTriggerReverseVehicleRoutePrediction,
btnTriggerVIPLightChange,
btnTriggerObstacleDetour,
btnTriggerPedestrianWarning,
btnTriggerCongestedRouteRecommendation,
btnTriggerDoubleFlash;
public static V2XTestConsoleWindow getInstance(Context context) {
if (mV2XTestConsoleWindow == null) {
synchronized (V2XTestConsoleWindow.class) {
@@ -89,6 +99,17 @@ public class V2XTestConsoleWindow extends ConstraintLayout {
mBtnTriggerParkEvent = findViewById(R.id.btnTriggerParkEvent);
mBtnTriggerCallUserInfo = findViewById(R.id.btnTriggerCallUserInfo);
btnTriggerRearVIPCarTip = findViewById(R.id.btnTriggerRearVIPCarTip);
btnTriggerVehicleBrakes = findViewById(R.id.btnTriggerVehicleBrakes);
btnTriggerRearDangerousVehicles = findViewById(R.id.btnTriggerRearDangerousVehicles);
btnTriggerReverseVehicleRoutePrediction = findViewById(R.id.btnTriggerReverseVehicleRoutePrediction);
btnTriggerVIPLightChange = findViewById(R.id.btnTriggerVIPLightChange);
btnTriggerObstacleDetour = findViewById(R.id.btnTriggerObstacleDetour);
btnTriggerPedestrianWarning = findViewById(R.id.btnTriggerPedestrianWarning);
btnTriggerCongestedRouteRecommendation = findViewById(R.id.btnTriggerCongestedRouteRecommendation);
btnTriggerDoubleFlash = findViewById(R.id.btnTriggerDoubleFlash);
mBtnTriggerCallUserInfo.setOnClickListener(v -> {
MogoDriverInfo mogoDriverInfo = new MogoDriverInfo();
mogoDriverInfo.setAge(24);

View File

@@ -24,9 +24,11 @@
android:id="@+id/btnTriggerOpen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#FFF"
android:padding="@dimen/dp_10"
android:text="隐藏测试按钮面板"
android:background="#FFF"
android:textColor="#000"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
@@ -36,6 +38,8 @@
android:id="@+id/btnClearRoadEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#6BCF23"
android:padding="@dimen/dp_10"
android:text="清除缓存播报"
@@ -44,10 +48,24 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:background="#000000"
android:orientation="horizontal"
android:padding="@dimen/dp_10"
android:text="常规功能模拟"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
android:textStyle="bold" />
<Button
android:id="@+id/btnTriggerRoadEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#673AB7"
android:padding="@dimen/dp_10"
android:text="触发道路事件"
@@ -56,46 +74,13 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerPushEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#1EBD85"
android:padding="@dimen/dp_10"
android:text="触发H5推送事件"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerPushLiveCarEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#5E096C"
android:padding="@dimen/dp_10"
android:text="触发H5推送直播事件"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerAnimationEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#C6BE2C"
android:padding="@dimen/dp_10"
android:text="触发V2X动画"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerFatigueDrivingEvent"
android:layout_width="wrap_content"
android:layout_height="45px"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#DF4019"
android:padding="@dimen/dp_10"
android:text="触发疲劳驾驶"
@@ -108,6 +93,8 @@
android:id="@+id/btnTriggerSeekHelpEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#C712E6"
android:padding="@dimen/dp_10"
android:text="触发他人发起道路求助事件"
@@ -120,6 +107,8 @@
android:id="@+id/btnTriggerParkEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#2651A6"
android:padding="@dimen/dp_10"
android:text="触发违章停车事件"
@@ -128,10 +117,26 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerEventUgc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#58FF5F"
android:padding="@dimen/dp_10"
android:text="触发事件UGC"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerCallUserInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#E91451"
android:padding="@dimen/dp_10"
android:text="打开用户信息"
@@ -140,5 +145,197 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:background="#000000"
android:orientation="horizontal"
android:padding="@dimen/dp_10"
android:text="顺义模拟推送"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
android:textStyle="bold" />
<Button
android:id="@+id/btnTriggerPushEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#1EBD85"
android:padding="@dimen/dp_10"
android:text="触发H5推送事件"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerPushLiveCarEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#5E096C"
android:padding="@dimen/dp_10"
android:text="触发H5推送直播事件"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerAnimationEvent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#C6BE2C"
android:padding="@dimen/dp_10"
android:text="H5推送触发V2X动画"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:background="#000000"
android:orientation="horizontal"
android:padding="@dimen/dp_10"
android:text="VR鹰眼计划推送模拟"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
android:textStyle="bold" />
<Button
android:id="@+id/btnTriggerRearVIPCarTip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#B85B53"
android:padding="@dimen/dp_10"
android:text="后方VIP车辆提示"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerVehicleBrakes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#E91E63"
android:padding="@dimen/dp_10"
android:text="前车急刹"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerRearDangerousVehicles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#9C27B0"
android:padding="@dimen/dp_10"
android:text="后方危险车辆预警"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerReverseVehicleRoutePrediction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#3F51B5"
android:padding="@dimen/dp_10"
android:text="逆向车辆路线预判"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerVIPLightChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#2196F3"
android:padding="@dimen/dp_10"
android:text="VIP变灯"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerObstacleDetour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#00BCD4"
android:padding="@dimen/dp_10"
android:text="障碍物绕行"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerPedestrianWarning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#009688"
android:padding="@dimen/dp_10"
android:text="行人预警,行人路线预测"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerCongestedRouteRecommendation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#4CAF50"
android:padding="@dimen/dp_10"
android:text="拥堵路线推荐"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btnTriggerDoubleFlash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="#8BC34A"
android:padding="@dimen/dp_10"
android:text="双闪车辆,自动绕行"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_22"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</com.google.android.flexbox.FlexboxLayout>
</RelativeLayout>

View File

@@ -0,0 +1,19 @@
{
"sceneId": "200001",
"alarmContent": "发现前方双闪车辆注意绕行",
"expireTime": 30000,
"sceneCategory": 0,
"sceneDescription": "双闪车辆,自动绕行",
"sceneName": "双闪车辆,自动绕行",
"sceneLevel": 0,
"videoUrl": "",
"videoChannel": "",
"videoSn": "",
"tts": "发现前方双闪车辆注意绕行",
"zoom":false,
"zoomScale": 15,
"lat": 39.968678,
"lon": 116.405467,
"userHead": "",
"msgImgUrl": ""
}

View File

@@ -3,21 +3,25 @@ package com.mogo.service.connection;
/**
* 消息回调
*/
public interface IMogoOnWebSocketMessageListener< T > {
public interface IMogoOnWebSocketMessageListener<T> {
default WebSocketMsgType getDownLinkType(){
default WebSocketMsgType getDownLinkType() {
return null;
}
default WebSocketMsgType getUpLinkType(){
default WebSocketMsgType getUpLinkType() {
return null;
}
default void onMsgReceived(T obj){
default Class<T> target() {
return null;
}
default void onMsgReceived(T obj) {
}
default void onError(String errorMsg){
default void onError(String errorMsg) {
}
}