fix conflict

This commit is contained in:
lixiaopeng
2021-04-23 18:43:32 +08:00
parent cc08ef6a14
commit 390da88ced
13 changed files with 356 additions and 7 deletions

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
@@ -66,7 +78,8 @@ import java.util.Map;
public class MapMarkerManager implements IMogoMarkerClickListener,
IMogoOnMessageListener< MarkerResponse >,
IMogoBizActionDoneListener,
IMogoADASControlStatusChangedListener {
IMogoADASControlStatusChangedListener,
IMogoCarLocationChangedListener2 {
private static final String TAG = "MapMarkerManager";
private Context mContext;
@@ -113,7 +126,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
CloudPoiManager.getInstance().updateFromConfig( context );
MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this );
MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this );
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().registerCarLocationChangedListener(TAG, this);
if ( CallChatApi.getInstance().getApiProvider() != null ) {
CallChatApi.getInstance().getApiProvider().registerUserWindowStatusListener( TAG, mContext, new ICallChatResponse() {
@@ -153,14 +166,79 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback( resultList -> {
// 绘制近景识别到的车辆
AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList );
//绘制他车的线 lixp TODO
//绘制他车的线 liyz TODO
//添加自车的定位图标 TODO
//添加自车的定位图标,碰撞只有一个预警 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));
} );
}
@Override
public void onCarLocationChanged2(Location latLng) {
Log.d("liyz", "long =" + latLng.getLongitude() + "---lat = " + latLng.getLatitude());
MarkerLocation location = new MarkerLocation();
location.setLat(latLng.getLatitude());
location.setLon(latLng.getLongitude());
MarkerShowEntity markerShowEntity = new MarkerShowEntity();
markerShowEntity.setMarkerLocation(location);
markerShowEntity.setMarkerType(TYPE_MARKER_CLOUD_WARN_DATA);
IMogoMarker marker = drawMarker(markerShowEntity);
WorkThreadHandler.getInstance().postDelayed(() -> {
int resId = getModelRes(6);
marker.use3DResource( resId );
}, 10000);
}
@Override
public void onCarLocationChanged(MogoLatLng latLng) {
}
public IMogoMarker drawMarker(MarkerShowEntity markerShowEntity) {
MogoMarkerOptions options = new MogoMarkerOptions()
.object(markerShowEntity)
.latitude(markerShowEntity.getMarkerLocation().getLat())
.longitude(markerShowEntity.getMarkerLocation().getLon());
IMarkerView iMarkerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options);
options.icon3DRes(getModelRes(6)); //TODO
options.anchorColor("#FB3C3CFF"); //红色#FF3036 蓝色:#256BFF
IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(markerShowEntity.getMarkerType(), options);
iMarkerView.setMarker(marker);
marker.setToTop();
return marker;
}
public int getModelRes(int type) {
AdasRecognizedType recognizedType = AdasRecognizedType.valueFrom(type);
if (recognizedType == AdasRecognizedType.classIdCar
|| recognizedType == AdasRecognizedType.classIdTrafficTruck) {
return com.mogo.module.common.R.raw.othercar;
} else if (recognizedType == AdasRecognizedType.classIdTrafficBus) {
return com.mogo.module.common.R.raw.bus;
} else if (recognizedType == AdasRecognizedType.classIdBicycle
|| recognizedType == AdasRecognizedType.classIdMoto) {
return com.mogo.module.common.R.raw.motorbike;
} else if (recognizedType == AdasRecognizedType.classIdStopLine) {
return com.mogo.module.common.R.raw.stopline;
} else if (recognizedType == AdasRecognizedType.classIdWarningArrows) {
return com.mogo.module.common.R.raw.arraw;
}
return com.mogo.module.common.R.raw.people;
}
private Handler mSnapshotHandler = new Handler( WorkThreadHandler.newInstance( "snapshot-thread" ).getLooper() ) {
@Override
public void handleMessage( Message msg ) {