整理ADAS相关代码,删除无用代码

Signed-off-by: 董宏宇 <martindhy@gmail.com>
This commit is contained in:
董宏宇
2021-10-15 11:26:58 +08:00
parent fc47f7233a
commit 9e00205cdf
12 changed files with 23 additions and 395 deletions

View File

@@ -101,19 +101,6 @@ public class AdasProvider implements IProvider {
}
//原ADAS sdk中为空实现
public void settingCarModelListInfo(String msg) {
}
//原ADAS sdk中为空实现
public void setSettingStatus(boolean show) {
}
//原ADAS sdk中为空实现
public void setUseAlgorithm(boolean open) {
}
public AdasAIDLAutopilotStateModel autopilotStateCall() {
return adasEventManager.autopilotStateCall();
}

View File

@@ -21,18 +21,6 @@ public interface IAdasDataListener {
}
default void selectCarModelUrl(String carStyleUrl) {
}
default void requestGetCarModelListInfo() {
}
default void clickSettingBack() {
}
default void showToast(String msg) {
}
/**
* 自动驾驶到达站点回调接口

View File

@@ -22,7 +22,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -49,8 +48,6 @@ import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.function.api.check.IMogoCheckListener;
import com.mogo.eagle.core.function.call.check.CallerCheckManager;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.listener.MogoMapListenerHandler;
import com.mogo.map.location.IMogoLocationClient;
@@ -70,7 +67,6 @@ import com.mogo.module.common.dialog.WMDialog;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.common.map.CustomNaviInterrupter;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.MyLocationUtil;
import com.mogo.module.common.map.Scene;
import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.module.extensions.R;
@@ -84,7 +80,6 @@ import com.mogo.module.extensions.utils.EntranceViewHolder;
import com.mogo.module.extensions.utils.NoMapTopViewShaderHelper;
import com.mogo.module.extensions.utils.TopViewAnimHelper;
import com.mogo.module.extensions.utils.TopViewNoLinkageAnimHelper;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.module.share.manager.ServiceApisManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.analytics.IMogoAnalytics;
@@ -360,9 +355,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
initDebugPanel();
// 根据本地配置设置自车图标
MyLocationUtil.setMyLocationIconUrl(getContext());
clTrafficLight = (ConstraintLayout) findViewById(R.id.cl_traffic_light);
tvYellow = (TextView) findViewById(R.id.tv_yellow);
tvRed = (TextView) findViewById(R.id.tv_red);

View File

@@ -452,12 +452,12 @@ public class MogoServices implements IMogoMapListener,
return;
}
List< MogoModule > modules = MogoModulePaths.getModules();
if ( modules.isEmpty() || modules == null ) {
if (modules.isEmpty()) {
return;
}
mAIAssistReceiver = new MogoReceiver( context );
IntentFilter filter = new IntentFilter();
if ( modules != null && !modules.isEmpty() ) {
if (!modules.isEmpty()) {
for ( MogoModule module : modules ) {
if ( TextUtils.isEmpty( module.getBroadcastAction() ) ) {
continue;

View File

@@ -111,7 +111,6 @@ abstract class StatusChangedAdapter implements IMogoStatusChangedListener {
}
MogoApisHandler.getInstance().getApis().getShareManager().dismissShareDialog();
MogoApisHandler.getInstance().getApis().getOnlineCarPanelApi().hidePanel();
MogoApisHandler.getInstance().getApis().getAdasControllerApi().setSettingStatus(false);
MogoApisHandler.getInstance().getApis().getEventPanelManager().hidePanel();
if (mCarsChattingProvider == null) {
mCarsChattingProvider = (ICarsChattingProvider) ARouter.getInstance().build(CallChattingProviderConstant.CAR_CALL_PROVIDER).navigation();

View File

@@ -18,6 +18,7 @@ import com.mogo.cloud.socket.entity.SocketDownDataHelper;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.autopilot.AutoPilotControlParameters;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
@@ -31,14 +32,13 @@ import com.mogo.map.search.geo.MogoRegeocodeResult;
import com.mogo.map.search.geo.query.MogoRegeocodeQuery;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.constants.DataTypes;
import com.mogo.module.common.datacenter.SnapshotLocationDataCenter;
import com.mogo.module.common.dialog.WMDialog;
import com.mogo.module.common.drawer.SnapshotSetDataDrawer;
import com.mogo.module.common.datacenter.SnapshotLocationDataCenter;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.R;
import com.mogo.module.service.status.EnvStatusManager;
import com.mogo.module.service.timedelay.TimeDelayUploadManager;
import com.mogo.eagle.core.data.autopilot.AutoPilotControlParameters;
import com.mogo.service.adas.entity.ADASCarStateInfo;
import com.mogo.service.adas.entity.ADASRecognizedResult;
import com.mogo.service.entrance.ButtonIndex;
@@ -162,9 +162,6 @@ public class MockIntentHandler implements IntentHandler {
query.setRadius(1000);
geoSearch.getFromLocationAsyn(query);
break;
case 11:// 控制ADAS中的设置页面
MarkerServiceHandler.getADASController().setSettingStatus(intent.getBooleanExtra("status", false));
break;
case 12: {// 控制ADAS显示隐藏
boolean status2 = intent.getBooleanExtra("status", false);
if (status2) {

View File

@@ -96,7 +96,6 @@ public class GlobalUnwakeManager implements IProvider, IMogoIntentListener, IMog
* @param type 面板位置索引
*/
private void showPanelByStatus(String target, int type){
MogoApisHandler.getInstance().getApis().getAdasControllerApi().setSettingStatus(false);
if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isMainPageOnResume() ) {
MogoApisHandler.getInstance().getApis().getEventPanelManager().showPanelWithSelectedItem(type);
} else {

View File

@@ -36,20 +36,6 @@ public interface IMogoADASController extends IProvider {
*/
void killADAS();
/**
* adas 设置页面控制
*
* @param show
*/
void setSettingStatus(boolean show);
/**
* 控制算法
*
* @param open
*/
void setUseAlgorithm(boolean open);
void release();
/**
@@ -59,13 +45,6 @@ public interface IMogoADASController extends IProvider {
*/
void changeAdasControlMode(EnumMapUI ui);
/**
* 反向设置 adas 对可见性的控制
*
* @param visible
*/
void changeAdasControlVisibleMode(boolean visible);
/**
* 获取当前皮肤状态
*
@@ -80,7 +59,6 @@ public interface IMogoADASController extends IProvider {
*/
void aiCloudToAdasData(AutoPilotControlParameters result);
/**
* 添加adas数据回调接口
*
@@ -125,12 +103,14 @@ public interface IMogoADASController extends IProvider {
/**
* 添加adas自动驾驶路线回调
*
* @param callBack
*/
void addAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack);
/**
* 移除adas自动驾驶路线回调
*
* @param callBack
*/
void removeAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack);

View File

@@ -1,98 +0,0 @@
package com.mogo.service.impl.adas;
import android.content.Context;
import android.os.Environment;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
/**
* Adas上报日志本地保存帮助类
*
* @author tongchenfei
*/
public class AdasLogWriter extends Thread {
private static final String TAG = "AdasLogWritter";
private String path;
private final String dir;
public AdasLogWriter( Context context) {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()) {
dir = context.getExternalCacheDir().getPath()+"/mogoAdasLog";
} else {
dir = context.getCacheDir().getPath()+"/mogoAdasLog";
}
Logger.d(TAG, "log dir: " + dir);
}
private final BlockingQueue<String> logLine = new LinkedBlockingQueue<>();
public void write(String log) {
if (!isWritting) {
start();
}
logLine.offer(log == null ? System.currentTimeMillis() + ",null\r\n" : System.currentTimeMillis() + "," + log + "\r\n");
}
public void write(Object object){
if (!isWritting) {
start();
}
String json = GsonUtil.jsonFromObject( object );
if ( json != null ) {
logLine.offer( json );
}
}
private volatile boolean isWritting = false;
@Override
public synchronized void start() {
if(!isWritting) {
isWritting = true;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.CHINA);
path = dir + "/log_" + format.format(new Date());
super.start();
}
}
public synchronized void stopLog() {
isWritting = false;
interrupt();
}
@Override
public void run() {
super.run();
File fileDir = new File(dir);
File logFile = new File(path);
if (!fileDir.exists()) {
fileDir.mkdirs();
}
try (FileOutputStream outputStream = new FileOutputStream(logFile)) {
while (isWritting) {
if (isInterrupted()) {
break;
}
String log = logLine.take();
outputStream.write(log.getBytes());
}
} catch (InterruptedException e) {
Logger.w(TAG, "writter interrupt: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
Logger.w(TAG, "writter io exp: " + e.getMessage());
e.printStackTrace();
}
}
}

View File

@@ -1,105 +0,0 @@
package com.mogo.service.impl.adas;
import android.os.Handler;
import android.os.Message;
import com.mogo.utils.WorkThreadHandler;
import com.mogo.utils.network.utils.GsonUtil;
import java.io.File;
import java.io.FileWriter;
import java.util.Random;
public
/**
* @author congtaowang
* @since 2021/1/22
*
* 描述
*/
class LogWriter {
public static final int MAX_SIZE = 6 * 1024 * 1924;
private final String path;
private Handler writeHandler = null;
public LogWriter( String path ) {
this.path = path;
File file = new File( path );
if ( !file.exists() ) {
try {
if ( !file.getParentFile().exists() ) {
file.getParentFile().mkdirs();
}
file.createNewFile();
} catch ( Exception e ) {
e.printStackTrace();
}
}
writeHandler = new Handler( WorkThreadHandler.newInstance( "Logger-Writer" + new Random().nextLong() ).getLooper() ) {
@Override
public void handleMessage( Message msg ) {
super.handleMessage( msg );
if ( msg.what == 100 ) {
writeImpl( msg.obj );
} else if ( msg.what == 101 ) {
writeImpl( msg.obj, msg.arg1 );
}
}
};
}
private void writeImpl( Object log, int time ) {
try {
FileWriter fw = new FileWriter( path, true );
fw.append( time + " - " );
if ( log instanceof CharSequence ) {
fw.append( ( ( CharSequence ) log ) );
} else {
fw.append( GsonUtil.jsonFromObject( log ) );
}
fw.append( "\n" );
fw.flush();
fw.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
private void writeImpl( Object log ) {
try {
FileWriter fw = new FileWriter( path, true );
fw.append( System.currentTimeMillis() + " - " );
if ( log instanceof CharSequence ) {
fw.append( ( ( CharSequence ) log ) );
} else {
fw.append( GsonUtil.jsonFromObject( log ) );
}
fw.append( "\n" );
fw.flush();
fw.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
public void write( Object log ) {
if ( log == null ) {
return;
}
Message msg = Message.obtain();
msg.obj = log;
msg.what = 100;
writeHandler.sendMessage( msg );
}
public void write( Object log, long recTime ) {
Message msg = Message.obtain();
msg.obj = log;
msg.what = 101;
msg.arg1 = ( int ) ( System.currentTimeMillis() - recTime );
writeHandler.sendMessage( msg );
}
}

View File

@@ -10,16 +10,17 @@ import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.data.autopilot.AutoPilotControlCmdParameter;
import com.mogo.eagle.core.data.autopilot.AutoPilotControlParameters;
import com.mogo.eagle.core.data.autopilot.AutoPilotStationInfo;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.adas.AdasProvider;
import com.mogo.module.adas.IAdasDataListener;
import com.mogo.module.adas.IAdasStatusListener;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.adas.IMogoAdasCarDataCallback;
import com.mogo.service.adas.IMogoAdasDataCallback;
@@ -27,29 +28,20 @@ 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.eagle.core.data.autopilot.AutoPilotControlParameters;
import com.mogo.service.adas.entity.ADASCarStateInfo;
import com.mogo.service.adas.entity.ADASRecognizedResult;
import com.mogo.service.adas.entity.ADASWarnMessage;
import com.mogo.eagle.core.data.autopilot.AutoPilotStationInfo;
import com.mogo.service.adas.entity.CarModelListResponse;
import com.mogo.service.datamanager.IMogoDataManager;
import com.mogo.service.impl.singleton.SingletonsHolder;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.service.statusmanager.IMogoStatusManager;
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.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
import com.mogo.utils.storage.SharedPrefsMgr;
import com.zhidao.adasconfig.api.AdasConfigApiController;
import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
import com.zhidao.adasconfig.common.config.EnumCarHeading;
import com.zhidao.adasconfig.common.config.EnumSkinStyle;
import com.zhidao.autopilot.support.api.AutopilotServiceManage;
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel;
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel;
import com.zhidao.support.adas.high.bean.AutopilotRoute;
import com.zhidao.support.adas.high.bean.AutopilotStatus;
import com.zhidao.support.adas.high.bean.RectInfo;
@@ -58,14 +50,10 @@ import com.zhidao.support.adas.high.bean.WarnMessageInfo;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.TimeUnit;
import io.reactivex.schedulers.Schedulers;
@Route(path = MogoServicePaths.PATH_ADAS_CONTROLLER)
public class MogoADASController implements IMogoADASController {
@@ -111,8 +99,6 @@ public class MogoADASController implements IMogoADASController {
private IMogoAdasCarDataCallback mMogoAdasCarDataCallback;
private List<AdasAIDLOwnerCarRectModel> mLastFrameDatums;
private double mLastLon;
private double mLastLat;
private double mSpeed;
@@ -161,7 +147,6 @@ public class MogoADASController implements IMogoADASController {
super.handleMessage(msg);
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");
@@ -224,7 +209,6 @@ public class MogoADASController implements IMogoADASController {
}
}
private volatile boolean needEmphasizeMyLocation = false;
@Override
public void showADAS() {
@@ -309,53 +293,14 @@ public class MogoADASController implements IMogoADASController {
});
}
@Override
public void selectCarModelUrl(String carStyleUrl) {
Logger.d(TAG, "selectCarModelUrl: " + carStyleUrl);
needEmphasizeMyLocation = true;
// 修改自车图标展示
SharedPrefsMgr.getInstance(context).putString("MY_LOCATION_CONFIG", carStyleUrl);
SingletonsHolder.get(IMogoDataManager.class).syncData("ADAS", carStyleUrl);
}
@Override
public void requestGetCarModelListInfo() {
Logger.d(TAG, "requestGetCarModelListInfo ");
if (DebugConfig.isMapBased()) {
Logger.d(TAG, "requestGetCarModelListInfo");
// 向adas发送车模list
String carModelList = SharedPrefsMgr.getInstance(context).getString("CAR_MODEL_LIST", "");
if (carModelList != null && !carModelList.isEmpty()) {
adasProvider.settingCarModelListInfo(carModelList);
}
// 此处进行网络请求请求成功后再通知一次adas
requestCarModelList();
}
}
@Override
public void clickSettingBack() {
if (needEmphasizeMyLocation) {
SingletonsHolder.get(IMogoDataManager.class).syncData("ADAS", null);
}
needEmphasizeMyLocation = false;
useTestSn = !useTestSn;
}
@Override
public void showToast(String msg) {
UiThreadHandler.post(() -> TipToast.tip(msg));
}
@Override
public void autopilotArrive(AdasAIDLAutopilotArriveModel autopilotArriveModel) {
Logger.d(TAG, "autopilotArriveModel " + autopilotArriveModel);
if (autopilotArriveModel == null) {
Logger.d(TAG,"autopilotArrive autopilotArriveModel is null");
Logger.d(TAG, "autopilotArrive autopilotArriveModel is null");
return;
}
Logger.d(TAG,"autopilotArrive : " + autopilotArriveModel.toString());
Logger.d(TAG, "autopilotArrive : " + autopilotArriveModel.toString());
if (!mAdasOCHCallback.isEmpty()) {
for (IMogoAdasOCHCallback cb : mAdasOCHCallback) {
cb.onArriveAt(new AutoPilotStationInfo(
@@ -408,7 +353,6 @@ public class MogoADASController implements IMogoADASController {
}
}
private boolean useTestSn = false;
private void invokeShowADASOperation() {
int delay = 0;
@@ -475,23 +419,11 @@ public class MogoADASController implements IMogoADASController {
app.sendBroadcast(intent);
}
private Context context;
@Override
public void init(Context context) {
mIsReleased = false;
adasProvider = ARouter.getInstance().navigation(AdasProvider.class);
this.context = context;
}
@Override
public void setSettingStatus(boolean show) {
adasProvider.setSettingStatus(show);
}
@Override
public void setUseAlgorithm(boolean open) {
adasProvider.setUseAlgorithm(open);
}
@Override
@@ -526,12 +458,6 @@ public class MogoADASController implements IMogoADASController {
}
}
@Override
public void changeAdasControlVisibleMode(boolean visible) {
Logger.d(TAG, "new visibility: " + visible);
AdasConfigApiController.getInstance().setUserCarChatIncognitoModel(visible ? EnumCarChatIncognitoMode.OPEN : EnumCarChatIncognitoMode.CLOSE);
}
@Override
public EnumMapUI getCurrentSkinMode() {
if (!DebugConfig.isMapBased()) {
@@ -567,49 +493,12 @@ public class MogoADASController implements IMogoADASController {
}
}
private void requestCarModelList() {
Map<String, String> params = new HashMap<>(8);
params.put("sn", MoGoAiCloudClientConfig.getInstance().getSn());
SingletonsHolder.get(IMogoNetwork.class).create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()).
requestCarModelList(params).
subscribeOn(Schedulers.io()).
observeOn(Schedulers.io()).
subscribe(new SubscribeImplTemporary<CarModelListResponse>(RequestOptions.create(context)) {
@Override
public void onSuccess(CarModelListResponse o) {
super.onSuccess(o);
Logger.d(TAG, "请求车模列表成功: " + o);
// 保存到sp中
String value = GsonUtil.jsonFromObject(o.getResult());
SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", value);
if (value != null && !value.isEmpty()) {
adasProvider.settingCarModelListInfo(value);
}
}
@Override
public void onError(Throwable e) {
super.onError(e);
Logger.e(TAG, e, "请求自车模型失败");
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
Logger.e(TAG, "请求自车模型失败: " + message);
}
});
}
@Override
public void release() {
mIsReleased = true;
adasProvider.removeAdasEventListener(mAdasDataListener);
adasProvider.removeAdasStatusListener();
//AutopilotServiceManage.getInstance().release();
//关闭定时任务
// if (mDisposable != null) mDisposable.dispose();
AutopilotServiceManage.getInstance().release();
}
@Override

View File

@@ -15,52 +15,52 @@ public
* @author congtaowang
* @since 2020/10/22
*
* 描述
* 适配ADAS 回调监听分发
*/
abstract class OnAdasListenerAdapter implements OnAdasListener {
@Override
public void onWarnMessage( WarnMessageInfo warnMessageInfo ) {
public void onWarnMessage(WarnMessageInfo warnMessageInfo) {
}
@Override
public void onVideoSize( int width, int height ) {
public void onVideoSize(int width, int height) {
}
@Override
public void onRectData( RectInfo rectInfo ) {
public void onRectData(RectInfo rectInfo) {
}
@Override
public void onCarStateData( CarStateInfo carStateInfo ) {
public void onCarStateData(CarStateInfo carStateInfo) {
}
@Override
public void onLightStateData( LightStatueInfo lightStatueInfo ) {
public void onLightStateData(LightStatueInfo lightStatueInfo) {
}
@Override
public void onObstaclesInfo( ObstaclesInfo obstaclesInfo ) {
public void onObstaclesInfo(ObstaclesInfo obstaclesInfo) {
}
@Override
public void onCarLaneInfo( CarLaneInfo carLaneInfo ) {
public void onCarLaneInfo(CarLaneInfo carLaneInfo) {
}
@Override
public void autopilotStatus( AutopilotStatus autopilotStatus ) {
public void autopilotStatus(AutopilotStatus autopilotStatus) {
}
@Override
public void autopilotArrive( AutopilotWayArrive autopilotWayArrive ) {
public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) {
}
}