From c598b44866442488c75223cb683b4167fea15ecd Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 16 Jun 2021 17:28:24 +0800 Subject: [PATCH] wait to finish of mockdata --- .../main/java/com/mogo/utils/FileUtils.java | 7 +- .../service/intent/MockIntentHandler.java | 4 + .../mocktools/DataCollectionHandler.java | 75 +++++++++++++++++++ .../service/impl/adas/MogoADASController.java | 9 +-- 4 files changed, 86 insertions(+), 9 deletions(-) create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/mocktools/DataCollectionHandler.java diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/FileUtils.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/FileUtils.java index aaa6e699ee..528a24720a 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/FileUtils.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/FileUtils.java @@ -27,14 +27,15 @@ import java.io.OutputStreamWriter; */ public class FileUtils { public static boolean createFileDir(String fileDir) { - if (TextUtils.isEmpty(fileDir)) { return false; } - try { File dir = new File(fileDir); - return dir.exists() || dir.mkdir(); + if(!dir.exists()){ + return dir.mkdirs(); + } + return dir.exists(); } catch (Exception e) { return false; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java index 02d412edb5..aab5b254b5 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java @@ -617,6 +617,10 @@ public class MockIntentHandler implements IntentHandler { case 55: //开启模拟数据Mock,用于验证算法准确性 TimeDelayUploadManager.getInstance().init(context); + break; + case 56: + // 开启数据采集 自车定位和视觉识别 + break; } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/mocktools/DataCollectionHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/mocktools/DataCollectionHandler.java new file mode 100644 index 0000000000..a62e92a18a --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/mocktools/DataCollectionHandler.java @@ -0,0 +1,75 @@ +package com.mogo.module.service.mocktools; + +import android.os.Environment; +import android.os.Handler; +import android.os.Message; + +import com.mogo.utils.WorkThreadHandler; + +import java.io.File; + +public class DataCollectionHandler { + + private static volatile DataCollectionHandler handler; + private static final byte[] obj = new byte[0]; + private volatile boolean openDataCollect = false; + + private Handler mLocationDataCollectHandler; + private Handler mRecognizeDataCollectHandler; + + private static final String WRITE_FILE_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + "mockWrite"; + + private DataCollectionHandler() { + + } + + public static DataCollectionHandler getInstance() { + if (handler == null) { + synchronized (obj) { + if (handler == null) { + handler = new DataCollectionHandler(); + } + } + } + return handler; + } + + public void start() { + openDataCollect = true; + } + + public boolean canCollectData() { + return openDataCollect; + } + + public void collectLocationDataToFile(String locationData) { + if (mLocationDataCollectHandler == null) { + mLocationDataCollectHandler = new Handler(WorkThreadHandler.newInstance("data-collect-thread").getLooper()) { + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + + } + }; + } + } + + public void collectRecogniseDataToFile() { + if (mRecognizeDataCollectHandler == null) { + mRecognizeDataCollectHandler = new Handler(WorkThreadHandler.newInstance("recognize-collect-thread").getLooper()) { + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + + } + }; + } + } + + public void stop() { + openDataCollect = false; + mLocationDataCollectHandler = null; + mRecognizeDataCollectHandler = null; + } + +} diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 6d4e5b3a92..ca33478b80 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -142,6 +142,9 @@ public class MogoADASController implements IMogoADASController { public void handleMessage(Message msg) { 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"); @@ -673,15 +676,9 @@ public class MogoADASController implements IMogoADASController { } } - private static final String TEST_SN = "ZD802B1932L00617"; - private String currentSn = TEST_SN; - private void requestCarModelList() { Map params = new HashMap<>(8); params.put("sn", MoGoAiCloudClientConfig.getInstance().getSn()); -// currentSn = useTestSn ? TEST_SN : MoGoAiCloudClientConfig.getInstance().getSn(); -// params.put("sn", currentSn); - SingletonsHolder.get(IMogoNetwork.class).create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()). requestCarModelList(params). subscribeOn(Schedulers.io()).