diff --git a/config.gradle b/config.gradle index aa5f3deb9a..0908e296e0 100644 --- a/config.gradle +++ b/config.gradle @@ -147,7 +147,6 @@ ext { mogomap : "com.mogo.map:mogo-map:${MOGO_MAP_VERSION}", mogomapapi : "com.mogo.map:mogo-map-api:${MOGO_MAP_API_VERSION}", mogocustommap : "com.zhidaoauto.machine:map:${MAP_SDK_VERSION}", - mogocustommapoperational : "com.zhidaoauto.map:operational:${MAP_SDK_OPERATION_VERSION}", modulecommon : "com.mogo.module:module-common:${MOGO_MODULE_COMMON_VERSION}", modulemain : "com.mogo.module:module-main:${MOGO_MODULE_MAIN_VERSION}", diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index 03c696fb01..5374aba1d1 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -10,12 +10,10 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.constants.MoGoConfig import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotProvider -import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider import com.mogo.eagle.core.function.autopilot.adapter.MoGoAdasListenerImpl import com.mogo.eagle.core.function.autopilot.adapter.MoGoAdasMsgConnectStatusListenerImpl import com.mogo.eagle.core.function.autopilot.adapter.MoGoHandAdasMsgManager import com.mogo.eagle.core.function.autopilot.server.AsyncDataToAutopilotServer -import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.GsonUtils @@ -32,7 +30,7 @@ import java.util.concurrent.TimeUnit */ @Route(path = MogoServicePaths.PATH_AUTO_PILOT) class MoGoAutopilotProvider : - IMoGoAutopilotProvider, IMoGoMapDataCollectProvider.OnMapCollectCmdListener { + IMoGoAutopilotProvider { private val TAG = "MoGoAutoPilotProvider" private var mContext: Context? = null @@ -62,7 +60,6 @@ class MoGoAutopilotProvider : AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) // 同步数据给工控机的服务 AsyncDataToAutopilotServer.INSTANCE.initServer() - CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) } /** @@ -92,16 +89,6 @@ class MoGoAutopilotProvider : }, 1000, TimeUnit.MILLISECONDS) } - override fun onMapCollectStart(cmdId: Int, cmdTime: Long) { - val result = recordPackage(2, cmdId) - Logger.d(TAG, "开始记录包: [$cmdId, $result]") - } - - override fun onMapCollectEnd(cmdId: Int, cmdTime: Long) { - val result = stopRecord(2, cmdId) - Logger.d(TAG, "结束记录包: [$cmdId, $result]") - } - override fun startAutoPilot(result: AutopilotControlParameters) { if (AdasManager.getInstance().isSocketConnect) { val parameter = AutopilotControlCmdParameter("aiCloudToStartAutopilot", result) @@ -128,18 +115,6 @@ class MoGoAutopilotProvider : .recordPackage(1, (System.currentTimeMillis() / 1000).toInt()) } - override fun recordPackage(type: Int, id: Int): Boolean { - return AdasManager.getInstance().recordPackage(type, id) - } - - override fun recordPackage(type: Int, id: Int, duration: Int): Boolean { - return AdasManager.getInstance().recordPackage(type, id, duration) - } - - override fun stopRecord(type: Int, id: Int): Boolean { - return AdasManager.getInstance().stopRecord(type, id) - } - override fun setEnableLog(isEnableLog: Boolean) { CupidLogUtils.setEnableLog(isEnableLog) } @@ -149,7 +124,7 @@ class MoGoAutopilotProvider : } override fun onDestroy() { - CallerMapDataCollectorManager.unRegisterOnMapCollectTaskListener(this) + } override fun setAutoPilotSpeed(speed: Int): Boolean { diff --git a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index 1cc069f33e..5c3941ac6d 100644 --- a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -329,9 +329,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { // 推送模块 MogoModulePaths.addModule(new MogoModule(PushUIConstants.PATH, "PUSH_UI")); - // 地图数据收集模块 - MogoModulePaths.addModuleFunctionServer(new MogoModule(MogoServicePaths.PATH_MAP_DATA_COLLECT_PROVIDER, "MoGoMapDataCollector")); - if (!DebugConfig.isLauncher()) { PersistentManager .getInstance().initManager(this); diff --git a/core/function-impl/mogo-core-function-map/build.gradle b/core/function-impl/mogo-core-function-map/build.gradle index 7600662cfe..cc7eeed20f 100644 --- a/core/function-impl/mogo-core-function-map/build.gradle +++ b/core/function-impl/mogo-core-function-map/build.gradle @@ -51,7 +51,7 @@ dependencies { kapt rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.adasHigh - implementation rootProject.ext.dependencies.mogocustommapoperational + if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.mogoserviceapi implementation rootProject.ext.dependencies.modulecommon diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt deleted file mode 100644 index 6d1604610a..0000000000 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/impl/collect/MoGoMapDataCollectProvider.kt +++ /dev/null @@ -1,175 +0,0 @@ -package com.mogo.eagle.core.function.impl.collect - -import android.content.Context -import android.text.TextUtils -import com.alibaba.android.arouter.facade.annotation.Route -import com.mogo.cloud.passport.IMoGoTokenCallback -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.eagle.core.data.constants.MogoServicePaths -import com.mogo.eagle.core.data.map.MogoLocation -import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager -import com.mogo.eagle.core.utilcode.mogo.logger.Logger -import com.zhidaoauto.map.operational.MapCollectionTaskRecive -import com.zhidaoauto.map.operational.abs.OnTaskListener -import java.util.concurrent.ConcurrentHashMap -import java.util.concurrent.CopyOnWriteArrayList -import java.util.concurrent.atomic.AtomicReference - -@Route(path = MogoServicePaths.PATH_MAP_DATA_COLLECT_PROVIDER) -class MoGoMapDataCollectProvider : IMoGoMapDataCollectProvider, OnTaskListener, IMoGoMapLocationListener, IMoGoTokenCallback { - - companion object { - const val TAG = "MoGoMapDataCollect" - } - - private val executor by lazy { - AtomicReference(null) - } - - private val listeners by lazy { - CopyOnWriteArrayList() - } - - private val map: MutableMap by lazy { - ConcurrentHashMap() - } - - override val functionName: String = TAG - - override fun init(context: Context?) { - CallerMapLocationListenerManager.addListener(functionName, this) - executor.set(context?.let { MapCollectionTaskRecive(it) }) - executor.get()?.setOnTaskListener(this) - val carSn = MoGoAiCloudClientConfig.getInstance().sn - if (!TextUtils.isEmpty(carSn)) { - executor.get()?.setCarSn(carSn) - } - MoGoAiCloudClient.getInstance().addTokenCallbacks(this) - Logger.d(TAG, "--------- init --------") - Logger.d(TAG, "executor: ${ executor.get()?.hashCode() ?: 0 }") - } - - override fun onDestroy() { - CallerMapLocationListenerManager.removeListener(TAG) - Logger.d(TAG, "--------- onDestroy --------") - executor.get()?.let { - it.setOnTaskListener(null) - it.destory() - } - listeners.clear() - map.clear() - } - - override fun registerOnMapCollectTaskListener(listener: IMoGoMapDataCollectProvider.OnMapCollectCmdListener?) { - Logger.d(TAG, "--------- registerOnMapCollectTaskListener --------") - listener ?: return - if (listeners.contains(listener)) { - return - } - listeners += listener - } - - override fun unRegisterOnMapCollectTaskListener(listener: IMoGoMapDataCollectProvider.OnMapCollectCmdListener?) { - Logger.d(TAG, "--------- unRegisterOnMapCollectTaskListener --------") - listener ?: return - if (!listeners.contains(listener)) { - return - } - listeners.remove(listener) - } - - override fun finish( - id: Int, - state: Int, - gpsPath: String, - videoPath: String, - reason: String - ) { - Logger.d(TAG, "-- finish:[$id, $state, $gpsPath, $videoPath, $reason]") - try { - if (isInValidStatus()) { - Logger.w(TAG, "-- finish: 状态无效") - return - } - if (!map.containsKey(id)) { - Logger.w(TAG, "-- finish: 无相关指令") - return - } - Logger.d(TAG, "-- finish: 结束任务[$id]") - executor.get()?.finishTask(id, state, gpsPath, videoPath, reason) - } catch (e : Throwable) { - e.printStackTrace() - Logger.e(TAG, "-- finish:\n$e"); - } finally { - map[id] = Status.FINISH - } - } - - override fun onTaskFinish(id: Int, time: Long) { - Logger.d(TAG, "地图模块下发结束采集指令 -> [$id, $time]") - if (!map.containsKey(id) || map[id] == Status.FINISH) { - Logger.w(TAG, "地图模块下发结束采集指令 -> 任务[$id]已经提前完成,无需再次请求自动驾驶模块结束采集") - return - } - Logger.d(TAG, "地图模块下发结束采集指令 -> [$id, $time] -> 调用自动驾驶模块,结束数据采集") - listeners.forEach { - it.onMapCollectEnd(id, time) - } - } - - override fun onTaskStart(id: Int, time: Long) { - Logger.d(TAG, "地图模块下发开始采集指令 -> [$id, $time]") - map[id] = Status.INIT - listeners.forEach { - it.onMapCollectStart(id, time) - } - map[id] = Status.START - } - - - override fun onLocationChanged(location: MogoLocation?) { - location ?: return - executor.get()?.onMapChange( - location.longitude, - location.latitude, - location.bearing, - location.speed, - location.provider == "GPS_SELF") - } - - - private fun isInValidStatus(): Boolean { - if (map.isEmpty()) { - return true - } - val iterator = map.iterator() - while (iterator.hasNext()) { - val next = iterator.next() - if (next.value == Status.FINISH) { - iterator.remove() - } - } - if (map.filter { it.value == Status.START }.isEmpty()) { - return true - } - return false - } - - override fun onTokenGot(token: String?, sn: String?) { - Logger.d(TAG, "-- onTokenGot --> $sn") - sn?.let { - executor.get()?.setCarSn(it) - } - } - - override fun onError(code: Int, msg: String?) = Unit - - private sealed class Status { - object INIT : Status() //初始状态 - object START : Status() //开始状态 - object FINISH : Status() //完成状态 - } -} \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java index 9e910c1789..aee937489f 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java @@ -268,10 +268,4 @@ public class MogoServicePaths { @Keep @Deprecated public static final String PATH_DEVA_TOOLS = "/deva/tools"; - - /** - * 地图数据更新输助类 - */ - @Keep - public static final String PATH_MAP_DATA_COLLECT_PROVIDER = "/map_x/collect"; } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt index b3d0d87a23..34f2103554 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt @@ -41,33 +41,6 @@ interface IMoGoAutopilotProvider : IMoGoFunctionServerProvider { */ fun recordPackage(): Boolean - /** - * 开启域控制器录制bag包 - * - * @return true-成功,false-失败 - * @param type 录制类型 1: badcase 2:map 3:rests - * @param id 指令/任务 ID - */ - fun recordPackage(type: Int, id: Int): Boolean - - /** - * 开启域控制器录制bag包 - * - * @return true-成功,false-失败 - * @param type 录制类型 1: badcase 2:map 3:rests - * @param id 指令/任务 ID - * @param duration 录制时长 - */ - fun recordPackage(type: Int, id: Int, duration: Int): Boolean - - /** - * 结束录制 - * @param type 录制类型 1: badcase 2:map 3:rests - * @param id 指令/任务 ID - * @return true: 成功; false 失败 - */ - fun stopRecord(type: Int, id: Int): Boolean - /** * Log 是否显示 * diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt deleted file mode 100644 index 8172294b0c..0000000000 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/collect/IMoGoMapDataCollectProvider.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.mogo.eagle.core.function.api.map.collect - -import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider - -/** - * @author renwj - * @date 2021/11/10 10:00 上午 - * 此类主要用来同步自动驾驶定位信息给各业务方 - */ -interface IMoGoMapDataCollectProvider: IMoGoFunctionServerProvider { - - /** - * 注册地图组下发收集数据任务指令监听,通知自动驾驶模块开始数据采集 - */ - fun registerOnMapCollectTaskListener(listener: OnMapCollectCmdListener?) - - /** - * 移除任务指令监听 - */ - fun unRegisterOnMapCollectTaskListener(listener: OnMapCollectCmdListener?) - - /** - * 此接口是自动驾驶模块使用,用于把自动驾驶模块收集的数据给地图组 - */ - fun finish(id: Int, state: Int, gpsPath: String, videoPath: String, reason: String) - - interface OnMapCollectCmdListener { - - /** - * 地图组下发地图数据收集开始指令 - * @param cmdId 指令ID - * @param cmdTime 指令下发时间 - */ - fun onMapCollectStart(cmdId: Int, cmdTime: Long) - - /** - * 地图组下发地图数据收集结束指令 - * @param cmdId 指令ID - * @param cmdTime 指令下发时间 - */ - fun onMapCollectEnd(cmdId: Int, cmdTime: Long) - } -} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt index 901c127c52..0279c39f2f 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt @@ -1,12 +1,9 @@ package com.mogo.eagle.core.function.call.autopilot -import android.os.SystemClock import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotProvider import com.mogo.eagle.core.function.call.base.CallerBase -import com.mogo.eagle.core.utilcode.util.LogUtils -import kotlin.random.Random /** *@author xiaoyuzhou @@ -63,15 +60,7 @@ object CallerAutoPilotManager { * 开启域控制器录制bag包 */ fun recordPackage() { - providerApi?.recordPackage(1, Random(SystemClock.elapsedRealtime()).nextInt()) - } - - fun recordPackage(type: Int, id: Int) { - providerApi?.recordPackage(type, id) - } - - fun recordPackage(type: Int, id: Int, duration: Int) { - providerApi?.recordPackage(type, id, duration) + providerApi?.recordPackage() } fun setEnableLog(isEnableLog: Boolean) { diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt deleted file mode 100644 index 86cb4dc777..0000000000 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapDataCollectorManager.kt +++ /dev/null @@ -1,29 +0,0 @@ -package com.mogo.eagle.core.function.call.map - -import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_MAP_DATA_COLLECT_PROVIDER -import com.mogo.eagle.core.function.api.map.collect.IMoGoMapDataCollectProvider -import com.mogo.eagle.core.function.call.base.CallerBase - -/** - * @author renwj - * @date 2021/11/10 10:30 上午 - * 此类主要提供给各业务方使用,便于业务层管理数据收集 - */ -object CallerMapDataCollectorManager { - - private val provider: IMoGoMapDataCollectProvider? by lazy { - CallerBase.getApiInstance(IMoGoMapDataCollectProvider::class.java, PATH_MAP_DATA_COLLECT_PROVIDER) - } - - fun registerOnMapCollectTaskListener(listener: IMoGoMapDataCollectProvider.OnMapCollectCmdListener?) { - provider?.registerOnMapCollectTaskListener(listener) - } - - fun unRegisterOnMapCollectTaskListener(listener: IMoGoMapDataCollectProvider.OnMapCollectCmdListener?) { - provider?.unRegisterOnMapCollectTaskListener(listener) - } - - fun finish(id: Int, state: Int, gpsPath: String, videoPath: String, reason: String) { - provider?.finish(id, state, gpsPath, videoPath, reason) - } -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 797e015c01..1f55a98e33 100644 --- a/gradle.properties +++ b/gradle.properties @@ -81,7 +81,6 @@ MOGO_LOCATION_VERSION=1.3.18 ######## MogoAiCloudSDK Version ######## # 自研地图 MAP_SDK_VERSION=2.0.0.24 -MAP_SDK_OPERATION_VERSION=1.0.11 # websocket WEBSOCKET_VERSION=1.1.7 ## 产品库必备配置,产品库自动对versionCode和versionName版本进行升级