finish the route search and wait to finish interface
This commit is contained in:
@@ -129,6 +129,18 @@ public interface IMogoADASController extends IProvider {
|
||||
*/
|
||||
void removeAdasRecognizedDataCallback(IMogoAdasRecognizedDataCallback callback);
|
||||
|
||||
/**
|
||||
* 添加adas自动驾驶路线回调
|
||||
* @param callBack
|
||||
*/
|
||||
void addAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack);
|
||||
|
||||
/**
|
||||
* 移除adas自动驾驶路线回调
|
||||
* @param callBack
|
||||
*/
|
||||
void removeAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack);
|
||||
|
||||
/**
|
||||
* 自车定位数据
|
||||
*
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.mogo.service.adas;
|
||||
|
||||
import com.mogo.map.MogoLatLng;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IMogoAdasRouteCallBack {
|
||||
|
||||
void routeResult(List<MogoLatLng> routeList);
|
||||
}
|
||||
@@ -14,16 +14,18 @@ import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.commons.debug.DebugConfig;
|
||||
import com.mogo.commons.network.SubscribeImpl;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.adas.AdasDataListener;
|
||||
import com.mogo.module.adas.AdasProvider;
|
||||
import com.mogo.module.adas.AdasStatusListener;
|
||||
import com.mogo.module.adas.IAdasDataListener;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.adas.IMogoADASController;
|
||||
import com.mogo.service.adas.IMogoAdasCarDataCallback;
|
||||
import com.mogo.service.adas.IMogoAdasDataCallback;
|
||||
import com.mogo.service.adas.IMogoAdasOCHCallback;
|
||||
import com.mogo.service.adas.IMogoAdasRecognizedDataCallback;
|
||||
import com.mogo.service.adas.IMogoAdasRouteCallBack;
|
||||
import com.mogo.service.adas.IMogoAdasWarnMessageCallback;
|
||||
import com.mogo.service.adas.RemoteControlAutoPilotParameters;
|
||||
import com.mogo.service.adas.entity.ADASCarStateInfo;
|
||||
@@ -47,12 +49,11 @@ import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
|
||||
import com.zhidao.adasconfig.common.config.EnumCarHeading;
|
||||
import com.zhidao.adasconfig.common.config.EnumSkinStyle;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotStateModel;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarStateModel;
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.bean.BasicInfo;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotRoute;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotStatus;
|
||||
import com.zhidao.support.adas.high.bean.RectInfo;
|
||||
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
|
||||
import com.zhidao.support.adas.high.msg.MyMessageFactory;
|
||||
@@ -93,8 +94,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
private boolean mIsReleased = true;
|
||||
|
||||
//private IAutopolitDataCallBack mAutopolitDataCallBack;
|
||||
private AdasDataListener mAdasDataListener;
|
||||
private IAdasDataListener mAdasDataListener;
|
||||
private AdasProvider adasProvider;
|
||||
|
||||
|
||||
@@ -113,6 +113,11 @@ public class MogoADASController implements IMogoADASController {
|
||||
*/
|
||||
private final List<IMogoAdasRecognizedDataCallback> mMogoAdasRecognizedDataCallbacks = new CopyOnWriteArrayList<>();
|
||||
|
||||
/**
|
||||
* 自动驾驶路线回调
|
||||
*/
|
||||
private final List<IMogoAdasRouteCallBack> mMogoAdasRouteCallBacks = new CopyOnWriteArrayList<>();
|
||||
|
||||
private IMogoAdasCarDataCallback mMogoAdasCarDataCallback;
|
||||
|
||||
private List<AdasAIDLOwnerCarRectModel> mLastFrameDatums;
|
||||
@@ -142,7 +147,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
final long start = System.currentTimeMillis();
|
||||
|
||||
|
||||
|
||||
ADASCarStateInfo stateInfo = GsonUtil.objectFromJson(((String) msg.obj), ADASCarStateInfo.class);
|
||||
if (stateInfo == null || stateInfo.getValues() == null) {
|
||||
Logger.d(TAG, "ADAS-LOC-timer", "upd 到 aidl 传输数据 stateInfo or stateInfo.getValues() is null");
|
||||
@@ -233,7 +237,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAutopilotRoute(String route) {
|
||||
public void onAutopilotRoute(AutopilotRoute autopilotRoute) {
|
||||
|
||||
}
|
||||
|
||||
@@ -299,7 +303,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
@Override
|
||||
public void killADAS() {
|
||||
try {
|
||||
//AutopilotServiceManage.getInstance().kill();
|
||||
adasProvider.killAdas();
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -311,10 +314,10 @@ public class MogoADASController implements IMogoADASController {
|
||||
private void testOCH() {
|
||||
RemoteControlAutoPilotParameters currentAutopilot = new RemoteControlAutoPilotParameters();
|
||||
currentAutopilot.isSpeakVoice = true;
|
||||
currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat( 0, 1 );
|
||||
currentAutopilot.endLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat( 2, 3 );
|
||||
currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(0, 1);
|
||||
currentAutopilot.endLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(2, 3);
|
||||
currentAutopilot.vehicleType = 10;
|
||||
Logger.d( TAG, "开启自动驾驶====" + currentAutopilot );
|
||||
Logger.d(TAG, "开启自动驾驶====" + currentAutopilot);
|
||||
aiCloudToAdasData(currentAutopilot);
|
||||
}
|
||||
|
||||
@@ -326,19 +329,17 @@ public class MogoADASController implements IMogoADASController {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
|
||||
return;
|
||||
}
|
||||
// if (SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
|
||||
// return;
|
||||
// }
|
||||
Logger.d(TAG, Log.getStackTraceString(new Throwable()));
|
||||
init(AbsMogoApplication.getApp());
|
||||
adasProvider.addAdasStatusListener(new AdasStatusListener() {
|
||||
@Override
|
||||
public void onServiceConnected() {
|
||||
super.onServiceConnected();
|
||||
Logger.d( TAG, "adas statuslistener connected & send sn");
|
||||
BasicInfo info=new BasicInfo();
|
||||
info.setSn(MoGoAiCloudClientConfig.getInstance().getSn());
|
||||
AdasManager.getInstance().setBasicInfo(info);
|
||||
Logger.d(TAG, "adas statusListener connected & send sn");
|
||||
adasProvider.setBasicInfo();
|
||||
invokeShowADASOperation();
|
||||
|
||||
//测试网约车
|
||||
@@ -354,7 +355,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
invokeShowADASOperation();
|
||||
|
||||
if (mAdasDataListener == null) {
|
||||
mAdasDataListener = new AdasDataListener() {
|
||||
mAdasDataListener = new IAdasDataListener() {
|
||||
@Override
|
||||
public void sendMsg(String msg) {
|
||||
Logger.d(TAG, "adas AdasDataListener sendmsg " + msg);
|
||||
@@ -401,7 +402,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
// 向adas发送车模list
|
||||
String carModelList = SharedPrefsMgr.getInstance(context).getString("CAR_MODEL_LIST", "");
|
||||
if (carModelList != null && !carModelList.isEmpty()) {
|
||||
//AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList);
|
||||
adasProvider.settingCarModelListInfo(carModelList);
|
||||
}
|
||||
// 此处进行网络请求,请求成功后再通知一次adas
|
||||
@@ -439,6 +439,23 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void autopilotRoute(AutopilotRoute autopilotRoute) {
|
||||
if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) {
|
||||
return;
|
||||
}
|
||||
List<MogoLatLng> latLngList = new ArrayList<>();
|
||||
for (AutopilotRoute.RouteModels routeModel : autopilotRoute.getModels()) {
|
||||
latLngList.add(new MogoLatLng(routeModel.getLat(), routeModel.getLon()));
|
||||
}
|
||||
for (IMogoAdasRouteCallBack callback : mMogoAdasRouteCallBacks) {
|
||||
if (callback == null) {
|
||||
continue;
|
||||
}
|
||||
callback.routeResult(latLngList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ownerCarStateInfo(String ownerCarStateInfo) {
|
||||
Logger.d(TAG, "ownerCarStateInfo " + ownerCarStateInfo);
|
||||
@@ -473,11 +490,11 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyAutopilotState(AdasAIDLAutopilotStateModel autopilotStateModel) {
|
||||
Logger.d(TAG, "notifyAutopilotState: " + autopilotStateModel);
|
||||
DebugConfig.setAutoPilotStatus(autopilotStateModel.getState() + "");
|
||||
public void notifyAutopilotState(AutopilotStatus autopilotStatus) {
|
||||
Logger.d(TAG, "notifyAutopilotState: " + autopilotStatus);
|
||||
DebugConfig.setAutoPilotStatus(autopilotStatus.getValues().getState() + "");
|
||||
if (mAdasOCHCallback != null) {
|
||||
mAdasOCHCallback.onStateChanged(autopilotStateModel.getState(), autopilotStateModel.getReason());
|
||||
mAdasOCHCallback.onStateChanged(autopilotStatus.getValues().getState(), autopilotStatus.getValues().getReason());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -546,7 +563,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
|
||||
try {
|
||||
//AutopilotServiceManage.getInstance().showAdas();
|
||||
adasProvider.showAdas();
|
||||
} catch (Exception e) {
|
||||
Intent intent = new Intent(ACTION);
|
||||
@@ -570,7 +586,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
Logger.d(TAG, "close adas");
|
||||
|
||||
try {
|
||||
//AutopilotServiceManage.getInstance().hideAdas();
|
||||
adasProvider.hideAdas();
|
||||
} catch (Exception e) {
|
||||
Intent intent = new Intent(ACTION);
|
||||
@@ -600,7 +615,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
//AutopilotServiceManage.getInstance().init(context);
|
||||
mIsReleased = false;
|
||||
mAdasMessageFactory = new MyMessageFactory();
|
||||
adasProvider = ARouter.getInstance().navigation(AdasProvider.class);
|
||||
@@ -609,13 +623,11 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
@Override
|
||||
public void setSettingStatus(boolean show) {
|
||||
//AutopilotServiceManage.getInstance().setSettingStatus(show);
|
||||
adasProvider.setSettingStatus(show);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUseAlgorithm(boolean open) {
|
||||
//AutopilotServiceManage.getInstance().setUseAlgorithm(open);
|
||||
adasProvider.setUseAlgorithm(open);
|
||||
}
|
||||
|
||||
@@ -687,7 +699,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
AdasControlCommandParameter parameter = new AdasControlCommandParameter(action, result);
|
||||
//位置信息 action是aiCloudToStartAutopilot
|
||||
try {
|
||||
//AutopilotServiceManage.getInstance().aiCloudToAdasData(GsonUtil.jsonFromObject(parameter));
|
||||
adasProvider.sendWsMessage(GsonUtil.jsonFromObject(parameter));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -710,7 +721,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
String value = GsonUtil.jsonFromObject(o.getResult());
|
||||
SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", value);
|
||||
if (value != null && !value.isEmpty()) {
|
||||
//AutopilotServiceManage.getInstance().settingCarModelListInfo(value);
|
||||
adasProvider.settingCarModelListInfo(value);
|
||||
}
|
||||
}
|
||||
@@ -733,7 +743,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
@Override
|
||||
public void release() {
|
||||
mIsReleased = true;
|
||||
//AutopilotServiceManage.getInstance().unRegisterAutopilotDataListener( mAutopolitDataCallBack );
|
||||
adasProvider.removeAdasEventListener(mAdasDataListener);
|
||||
adasProvider.removeAdasStatusListener();
|
||||
//AutopilotServiceManage.getInstance().release();
|
||||
@@ -812,6 +821,24 @@ public class MogoADASController implements IMogoADASController {
|
||||
mMogoAdasRecognizedDataCallbacks.remove(callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack) {
|
||||
if (callBack == null) {
|
||||
return;
|
||||
}
|
||||
if (!mMogoAdasRouteCallBacks.contains(callBack)) {
|
||||
mMogoAdasRouteCallBacks.add(callBack);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack) {
|
||||
if (callBack == null) {
|
||||
return;
|
||||
}
|
||||
mMogoAdasRouteCallBacks.remove(callBack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdasCarDataCallback(IMogoAdasCarDataCallback carDataCallback) {
|
||||
mMogoAdasCarDataCallback = carDataCallback;
|
||||
@@ -846,7 +873,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
int status = IMogoAdasOCHCallback.STATUS_AUTOPILOT_DISABLE;
|
||||
try {
|
||||
//status = AutopilotServiceManage.getInstance().autopilotStateCall().getState();
|
||||
status = adasProvider.autopilotStateCall().getState();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -872,12 +898,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
@Override
|
||||
public void cancelAutopilot() {
|
||||
//try {
|
||||
//AutopilotServiceManage.getInstance().cancelAutopilot();
|
||||
adasProvider.cancelPilot();
|
||||
//} catch (RemoteException e) {
|
||||
// e.printStackTrace();
|
||||
//}
|
||||
adasProvider.cancelPilot();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user