Merge remote-tracking branch 'origin/dev2_aiSdk' into dev2_aiSdk

# Conflicts:
#	modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data.json
#	modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_left.json
#	modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_pedestrians.json
This commit is contained in:
董宏宇
2021-04-25 16:56:27 +08:00
15 changed files with 201 additions and 11 deletions

2
.idea/misc.xml generated
View File

@@ -8,7 +8,7 @@
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
<groovy codeStyle="LEGACY" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -0,0 +1,107 @@
package com.mogo.commons.data;
/**
* @author lixiaopeng
* @description adas识别数据需要转换一下
* @since 2021/4/23
*/
public class ADASRecognizedResultConvert {
/**
* 识别物体类型
*/
public int type;
/**
* 识别物体唯一标识
*/
public String uuid;
/**
* 红绿灯颜色
*/
public String color;
/**
* 车ID
*/
public String carId;
/**
* 识别物体的纬度
*/
public double lat;
/**
* 识别物体的经度
*/
public double lon;
/**
* 车头朝向
*/
public double heading;
/**
* 系统时间
*/
public long systemTime;
/**
* 定位卫星时间
*/
public long satelliteTime;
/**
* 海拔
*/
public double alt;
/**
* 速度
*/
public double speed;
/**
* 莫顿码
*/
public long mortonCode;
/**
* 实际距离
* 使用distanceX和distanceY计算
*/
public double distance;
/**
* 数据来源精度
* 0普通定位
* 1高精定位
*/
public int dataAccuracy;
/**
* 道路ID
*/
private String roadId;
/**
* 车道ID-2D路段
*/
private String laneId;
/**
* 车道号中心线编号为0中心线右侧编号为负数3车道通行Road的车道编号0-1-2-3
*/
private int laneNum;
/**
* 限速
*/
private double rateLimiting;
/**
* 车道宽度
*/
private double roadWidth;
}

View File

@@ -1037,4 +1037,14 @@ public class AMapNaviViewWrapper implements IMogoMapView,
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
}
}
@Override
public long getTileId(double lon, double lat) {
return getMap().getUIController().getTileId(lon,lat);
}
@Override
public void setAdasRecognizedResult(String result) {
//liyz
}
}

View File

@@ -810,4 +810,14 @@ public class AMapViewWrapper implements IMogoMapView,
mMapView.getMap().moveCamera( CameraUpdateFactory.changeBearing( bearing ) );
}
}
@Override
public long getTileId(double lon, double lat) {
return getMap().getUIController().getTileId(lon,lat);
}
@Override
public void setAdasRecognizedResult(String result) {
//liyz
}
}

View File

@@ -299,6 +299,13 @@ public class AMapUIController implements IMogoMapUIController {
}
}
@Override
public void setAdasRecognizedResult(String result) {
if ( mClient != null ) {
mClient.setAdasRecognizedResult(result);
}
}
@Override
public long getTileId(double lon, double lat) {
return 0;

View File

@@ -16,6 +16,8 @@ import android.view.ViewGroup;
import android.view.animation.Interpolator;
import android.widget.TextView;
import com.autonavi.nge.map.LonLat;
import com.mogo.commons.data.ADASRecognizedResultConvert;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.IMogoMap;
import com.mogo.map.IMogoMapView;
@@ -35,7 +37,9 @@ import com.mogo.map.uicontroller.MapCameraPosition;
import com.mogo.map.uicontroller.MapControlResult;
import com.mogo.utils.TipToast;
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.zhidaoauto.map.sdk.open.MapAutoApi;
import com.zhidaoauto.map.sdk.open.abs.MapStatusListener;
import com.zhidaoauto.map.sdk.open.abs.OnCameraChangeListener;
@@ -284,6 +288,15 @@ public class AMapViewWrapper implements IMogoMapView,
}
private ADASRecognizedResultConvert mAdasResultConvert;
@Override
public void setAdasRecognizedResult(String result) {
Log.d("liyz", "------- setAdasRecognizedResult ------>result = " + result);
mAdasResultConvert = GsonUtil.objectFromJson(result, ADASRecognizedResultConvert.class);
}
@Override
public void setTrafficEnabled(boolean visible) {
if (checkAMapView()) {
@@ -759,12 +772,20 @@ public class AMapViewWrapper implements IMogoMapView,
}
}
if (mSelfMarker == null) {
if (mSelfMarker == null) { //TODO mAdasResultConvert
// Log.d("liyz", "-------1------>");
try {
mSelfMarker = mMapView.getMapAutoViewHelper().getMyLocationStyle().getSelfMarker();
mSelfMarker.setInfoWindowEnable(true);
} catch (Exception e) {
}
// } else {
// Log.d("liyz", "-------2------>");
// mSelfMarker.marker3DIcon(R.raw.people);
// WorkThreadHandler.getInstance().postDelayed(() -> {
// mSelfMarker.marker3DIcon(R.raw.people);
// }, 10000);
}
showSelfSpeed(location.getSpeed());
}
@@ -999,6 +1020,7 @@ public class AMapViewWrapper implements IMogoMapView,
}
}
//TODO
@Override
public void syncLocation2Map(JSONObject data) {
if (!checkAMapView()) {

View File

@@ -357,4 +357,11 @@ public class AMapUIController implements IMogoMapUIController {
mClient.clearRoadCacheById(id);
}
}
@Override
public void setAdasRecognizedResult(String result) {
if (mClient != null) {
mClient.setAdasRecognizedResult(result);
}
}
}

View File

@@ -6,7 +6,6 @@ import android.location.Location;
import android.view.View;
import android.view.animation.Interpolator;
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import com.mogo.map.MogoLatLng;
@@ -237,6 +236,8 @@ public interface IMogoMapUIController {
*/
void changeBearing( float bearing );
void setAdasRecognizedResult(String result);
/**
* 获取瓦片id
* @param lon 经度

View File

@@ -401,4 +401,12 @@ public class MogoMapUIController implements IMogoMapUIController {
mDelegate.clearRoadCacheById(id);
}
}
@Override
public void setAdasRecognizedResult(String result) {
initDelegate();
if (mDelegate != null) {
mDelegate.setAdasRecognizedResult(result);
}
}
}

View File

@@ -95,7 +95,6 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
MogoLatLng newLocation = Trigonometric.getNewLocation(mogoLatLng, 5, 180);
IMogoMarker marker = drawMarker(markerShowEntity);
Log.d("liyz", "renderWarnData marker != null direction = " + data.getDirection());
//识别物
marker.addDynamicAnchorPosition(new MogoLatLng(
data.getDirection() == 1 ? data.getStopLines().get(1).lat : data.getCollisionLat(),

View File

@@ -271,8 +271,6 @@ public class MediaWindow implements MediaView{
}
} else {
if (mWindowPlayPause != null){
mWindowPlayPause.setImageResource(R.drawable.module_media_window_pop_pause);
}

View File

@@ -662,6 +662,7 @@ public class MockIntentHandler implements IntentHandler {
mLocationMockHandler.sendEmptyMessageDelayed( 101, 100L );
}
public void onAdasCarDataCallback( ADASCarStateInfo stateInfo ) {
if ( stateInfo != null && stateInfo.getValues() != null ) {
JSONObject data = new JSONObject();

View File

@@ -2,9 +2,11 @@ package com.mogo.module.service.marker;
import android.content.Context;
import android.graphics.Rect;
import android.location.Location;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
@@ -12,9 +14,14 @@ import com.mogo.map.MogoLatLng;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.ModuleNames;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.api.CallChatApi;
import com.mogo.module.common.constants.AdasRecognizedType;
import com.mogo.module.common.drawer.AdasRecognizedResultDrawer;
import com.mogo.module.common.drawer.MarkerDrawer;
import com.mogo.module.common.drawer.OnlineCarDrawer;
@@ -25,6 +32,7 @@ import com.mogo.module.common.drawer.marker.MapMarkerAdapter;
import com.mogo.module.common.drawer.marker.OnlineCarMarkerView;
import com.mogo.module.common.entity.MarkerCardResult;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.MarkerOnlineCar;
import com.mogo.module.common.entity.MarkerResponse;
import com.mogo.module.common.entity.MarkerShowEntity;
@@ -35,6 +43,7 @@ import com.mogo.module.service.ServiceConst;
import com.mogo.module.service.network.RefreshCallback;
import com.mogo.module.service.network.RefreshModel;
import com.mogo.realtime.api.MoGoAiCloudRealTime;
import com.mogo.realtime.entity.ADASRecognizedResult;
import com.mogo.realtime.entity.MogoSnapshotSetData;
import com.mogo.realtime.socket.IMogoCloudOnMsgListener;
import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
@@ -45,6 +54,7 @@ import com.mogo.utils.ThreadPoolService;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.ViewUtils;
import com.mogo.utils.WorkThreadHandler;
import com.mogo.utils.network.utils.GsonUtil;
import com.zhidao.carchattingprovider.ICallChatResponse;
import org.json.JSONArray;
@@ -56,6 +66,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_WARN_DATA;
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
@@ -153,10 +165,16 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback( resultList -> {
// 绘制近景识别到的车辆
AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList );
//绘制他车的线 lixp TODO
//添加自车的定位图标 TODO
//绘制他车的线 liyz
//添加自车的定位图标,碰撞只有一个预警 TODO
// ADASRecognizedResult result = null;
// for (int i = 0; i < resultList.size(); i++) {
// result = resultList.get(i);
// }
//
// //通过这个传值 ADASRecognizedResult
// MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().setAdasRecognizedResult(GsonUtil.jsonFromObject(result));
} );
}

View File

@@ -80,8 +80,7 @@ public class V2XWarningWindow extends V2XBasWindow implements IV2XWindow {
break;
}
distance.setText(String.valueOf(mV2XWarningEntity.getDistance()) + "");
warningTextView.setText(mV2XWarningEntity.getWarningContent());
mV2XWarningEntity.setTts(0);
warningTextView.setText(mV2XWarningEntity.getWarningContent());//验证云端数据是否
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(mV2XWarningEntity.getTts());
}
//3秒后移除提示弹框

View File

@@ -169,6 +169,7 @@ public class MogoADASController implements IMogoADASController {
if ( bean == null ) {
continue;
}
//liyz
AdasAIDLOwnerCarRectModel model = new AdasAIDLOwnerCarRectModel();
model.setId( bean.getId() );
model.setXl( bean.getXl() );
@@ -190,6 +191,8 @@ public class MogoADASController implements IMogoADASController {
model.setSpeed( bean.getSpeed() );
model.setDataAccuracy( bean.getDataAccuracy() );
model.setDistance( bean.getDistance() );
data.add( model );
Logger.d( TAG, "识别距离x = %s, y = %s", model.getDistance_x(), model.getDistance_y() );