diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index eaeca9f788..5b7e2eca1e 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -24,9 +24,10 @@ import com.mogo.commons.mvp.Presenter; import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.config.HmiBuildConfig; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager; import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -53,7 +54,7 @@ import record_cache.RecordPanelOuterClass; * * @author tongchenfei */ -public abstract class BaseBusTabFragment> extends MvpFragment implements IMogoMapListener, IMoGoAutopilotIdentifyListener { +public abstract class BaseBusTabFragment> extends MvpFragment implements IMogoMapListener, IMoGoAutopilotRecordListener { private static final String TAG = "BaseOchFragment"; @@ -218,7 +219,7 @@ public abstract class BaseBusTabFragment if (mBadcaseBtn != null) { CallerDevaToolsManager.INSTANCE.initBadCase(mBadcaseBtn, null, null); if (!HmiBuildConfig.isShowBadCaseView) { - CallerAutopilotIdentifyListenerManager.INSTANCE.addListener(TAG, this); + CallerAutopilotRecordListenerManager.INSTANCE.addListener(TAG, this); } } //设置升级小红点提示 默认隐藏 @@ -230,7 +231,7 @@ public abstract class BaseBusTabFragment public void onDestroyView() { super.onDestroyView(); if (!HmiBuildConfig.isShowBadCaseView) { - CallerAutopilotIdentifyListenerManager.INSTANCE.removeListener(TAG); + CallerAutopilotRecordListenerManager.INSTANCE.removeListener(TAG); } } @@ -242,9 +243,6 @@ public abstract class BaseBusTabFragment } } - @Override - public void onAutopilotWarnMessage(MessagePad.Warn warn) { - } /** * 测试到站 diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index 8f91c9407a..53efef1dc6 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -342,6 +342,7 @@ public class BusFragment extends BaseBusTabFragment } } + @Override public void debugAutoPilotStatus(int status) { mPresenter.debugAutoPilotStatus(status); } @@ -364,8 +365,4 @@ public class BusFragment extends BaseBusTabFragment } } - @Override - public void onAutopilotIdentifyDataUpdate(List trafficData) { - - } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 7ff19da6fb..aaec11f51b 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -28,11 +28,11 @@ import com.mogo.commons.mvp.Presenter; import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.config.HmiBuildConfig; -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager; import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.map.CallerSmpManager; @@ -46,7 +46,6 @@ import com.mogo.module.common.constants.DataTypes; import com.mogo.module.common.view.OnPreventFastClickListener; import com.mogo.och.taxi.R; -import mogo.telematics.pad.MessagePad; import record_cache.RecordPanelOuterClass; @@ -57,7 +56,7 @@ import record_cache.RecordPanelOuterClass; * * @author tongchenfei */ -public abstract class BaseTaxiTabFragment> extends MvpFragment implements IMogoMapListener, IMoGoAutopilotIdentifyListener { +public abstract class BaseTaxiTabFragment> extends MvpFragment implements IMogoMapListener, IMoGoAutopilotRecordListener { private static final String TAG = "BaseOchFragment"; private LinearLayout ctvAutopilotStatus; @@ -160,7 +159,7 @@ public abstract class BaseTaxiTabFragment { AIAssist.getInstance(getContext()).speakTTSVoice(notice); @@ -472,7 +467,9 @@ public abstract class BaseTaxiTabFragment { - if (tvOperationStatus == null) return; + if (tvOperationStatus == null) { + return; + } tvOperationStatus.setVisibility(visible); }); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index edb8c2bdaa..e395d1894c 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -573,8 +573,4 @@ public class TaxiFragment extends BaseTaxiTabFragment trafficData) { - - } } diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt index 007fdd2f3d..c414762e87 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt @@ -26,7 +26,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager.invokeAutopilotCarConfigData import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarStatusListenerManager.invokeAutopilotCarStateData import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate -import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager.invokeAutopilotRecordResult +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager.invokeAutopilotRecordResult import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager.invokeAutopilotWarnMessage import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager.invokeAutopilotRotting import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager.invokeAutopilotTrajectory diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java index bf0d2c1e09..5aa78a0a37 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoHandAdasMsgManager.java @@ -130,10 +130,6 @@ public class MoGoHandAdasMsgManager implements } - @Override - public void onAutopilotRecordResult(RecordPanelOuterClass.RecordPanel recordPanel) { - - } @Override public void onAutopilotCarConfig(@NotNull MessagePad.CarConfigResp carConfigResp) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/feedback/FeedbackManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/feedback/FeedbackManager.kt index 2e777068a6..39444462fe 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/feedback/FeedbackManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/feedback/FeedbackManager.kt @@ -8,11 +8,14 @@ import android.view.WindowManager import android.widget.TextView import androidx.fragment.app.FragmentActivity import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager -import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager -import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.kotlin.PX +import com.mogo.eagle.core.utilcode.kotlin.onDetach +import com.mogo.eagle.core.utilcode.kotlin.safeCancel +import com.mogo.eagle.core.utilcode.kotlin.scope import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.eagle.core.utilcode.mogo.toast.TipToast @@ -31,7 +34,6 @@ import com.zhjt.mogo_core_function_devatools.feedback.callback.IFeedbackCallback import kotlinx.coroutines.* import record_cache.RecordPanelOuterClass import java.io.File -import java.lang.IllegalStateException import java.text.SimpleDateFormat import java.util.* import kotlin.Result.Companion @@ -77,7 +79,7 @@ internal object FeedbackManager { record.scope.launch { val taskId = presenter.getBadCaseTaskId() - val listener = object : IMoGoAutopilotIdentifyListener { + val listener = object : IMoGoAutopilotRecordListener { override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { super.onAutopilotRecordResult(recordPanel) record.scope.launch { @@ -109,9 +111,9 @@ internal object FeedbackManager { } } } - CallerAutopilotIdentifyListenerManager.addListener("Feedback", listener) + CallerAutopilotRecordListenerManager.addListener("Feedback", listener) record.onDetach { - CallerAutopilotIdentifyListenerManager.removeListener("Feedback") + CallerAutopilotRecordListenerManager.removeListener("Feedback") hideFloat = null } record.text = "结束录制" diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index f8b4a63b69..8fc82cf6dd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -20,14 +20,14 @@ import com.mogo.eagle.core.data.enums.SidePattern import com.mogo.eagle.core.data.enums.WarningDirectionEnum import com.mogo.eagle.core.data.notice.NoticeNormalData import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener import com.mogo.eagle.core.function.api.hmi.IMoGoHmiViewProxy import com.mogo.eagle.core.function.api.hmi.view.IViewLimitingVelocity import com.mogo.eagle.core.function.api.hmi.view.IViewNotification import com.mogo.eagle.core.function.api.hmi.view.IViewTrafficLight import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWaringProvider import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager import com.mogo.eagle.core.function.call.check.CallerCheckManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager @@ -64,7 +64,7 @@ class MoGoHmiFragment : MvpFragment IMoGoWaringProvider, IMoGoHmiViewProxy, MoGoWarningContract.View, - IMoGoAutopilotIdentifyListener { + IMoGoAutopilotRecordListener { private val TAG = "MoGoHmiFragment" // DebugSettingView @@ -136,7 +136,7 @@ class MoGoHmiFragment : MvpFragment @OptIn(ExperimentalCoroutinesApi::class) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - CallerAutopilotIdentifyListenerManager.addListener(TAG, this) + CallerAutopilotRecordListenerManager.addListener(TAG, this) /*// TODO 这里后面需要改成独立进程通讯后台获取YUV view.postDelayed({ @@ -167,7 +167,7 @@ class MoGoHmiFragment : MvpFragment override fun onDestroyView() { super.onDestroyView() - CallerAutopilotIdentifyListenerManager.removeListener(TAG) + CallerAutopilotRecordListenerManager.removeListener(TAG) } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFrameController.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFrameController.java index faddfe847f..6fd1dfce85 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFrameController.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapFrameController.java @@ -6,40 +6,38 @@ import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.eagle.core.data.constants.MogoServicePaths; import com.mogo.eagle.core.function.api.map.IMogoMapFrameController; -public /** * @author congtaowang * @since 2020/10/23 - * - * 描述 + *

+ * 地图控制交互层 */ - -@Route( path = MogoServicePaths.PATH_MAP_FRAME_CONTROLLER ) -class MapFrameController implements IMogoMapFrameController { +@Route(path = MogoServicePaths.PATH_MAP_FRAME_CONTROLLER) +public class MapFrameController implements IMogoMapFrameController { private IMogoMapFrameController mController; @Override - public void initDelegate( IMogoMapFrameController controller ) { + public void initDelegate(IMogoMapFrameController controller) { mController = controller; } @Override public void changeTo2dMode() { - if ( mController != null ) { + if (mController != null) { mController.changeTo2dMode(); } } @Override public void changeToVRMode() { - if ( mController != null ) { + if (mController != null) { mController.changeToVRMode(); } } @Override - public void init( Context context ) { + public void init(Context context) { } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotIdentifyListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotIdentifyListener.kt index 3b11267a92..7fc2b7542f 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotIdentifyListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotIdentifyListener.kt @@ -1,7 +1,6 @@ package com.mogo.eagle.core.function.api.autopilot import mogo.telematics.pad.MessagePad -import record_cache.RecordPanelOuterClass /** * @author xiaoyuzhou @@ -24,9 +23,4 @@ interface IMoGoAutopilotIdentifyListener { */ fun onAutopilotWarnMessage(warn: MessagePad.Warn?) {} - /** - * 采集结果回调 - */ - fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) {} - } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotRecordListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotRecordListener.kt new file mode 100644 index 0000000000..b6d2b0a6f0 --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotRecordListener.kt @@ -0,0 +1,17 @@ +package com.mogo.eagle.core.function.api.autopilot + +import record_cache.RecordPanelOuterClass + +/** + * @author xiaoyuzhou + * @date 2021/11/1 5:57 下午 + * 采集结果回调 + */ +interface IMoGoAutopilotRecordListener { + + /** + * 采集结果回调 + */ + fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) {} + +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotIdentifyListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotIdentifyListenerManager.kt index b773018826..41f97b42c9 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotIdentifyListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotIdentifyListenerManager.kt @@ -4,7 +4,6 @@ import androidx.annotation.Nullable import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener import com.mogo.eagle.core.function.call.base.CallerBase import mogo.telematics.pad.MessagePad -import record_cache.RecordPanelOuterClass import java.util.concurrent.ConcurrentHashMap /** @@ -16,7 +15,7 @@ object CallerAutopilotIdentifyListenerManager : CallerBase() { // 存储所有注册了监听的对象,invokeXXXX进行遍历回调,将信息同步 private val M_AUTOPILOT_IDENTIFY_LISTENERS: ConcurrentHashMap = - ConcurrentHashMap() + ConcurrentHashMap() /** * 添加 域控制器感知数据 监听 @@ -24,8 +23,8 @@ object CallerAutopilotIdentifyListenerManager : CallerBase() { * @param listener 监听回调 */ fun addListener( - @Nullable tag: String, - @Nullable listener: IMoGoAutopilotIdentifyListener + @Nullable tag: String, + @Nullable listener: IMoGoAutopilotIdentifyListener ) { if (M_AUTOPILOT_IDENTIFY_LISTENERS.containsKey(tag)) { return @@ -80,16 +79,5 @@ object CallerAutopilotIdentifyListenerManager : CallerBase() { } } - /** - * 采集任务记录回调 - */ - fun invokeAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { - M_AUTOPILOT_IDENTIFY_LISTENERS.forEach { - val tag = it.key - val listener = it.value - listener.onAutopilotRecordResult(recordPanel) - } - } - } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotRecordListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotRecordListenerManager.kt new file mode 100644 index 0000000000..06012928cc --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotRecordListenerManager.kt @@ -0,0 +1,70 @@ +package com.mogo.eagle.core.function.call.autopilot + +import androidx.annotation.Nullable +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener +import com.mogo.eagle.core.function.call.base.CallerBase +import record_cache.RecordPanelOuterClass +import java.util.concurrent.ConcurrentHashMap + +/** + * @author xiaoyuzhou + * @date 2021/9/30 5:48 下午 + * 采集结果回调管理 + */ +object CallerAutopilotRecordListenerManager : CallerBase() { + + // 存储所有注册了监听的对象,invokeXXXX进行遍历回调,将信息同步 + private val M_AUTOPILOT_RECORD_LISTENERS: ConcurrentHashMap = + ConcurrentHashMap() + + /** + * 添加 域控制器感知数据 监听 + * @param tag 标记,用来注销监听使用 + * @param listener 监听回调 + */ + fun addListener( + @Nullable tag: String, + @Nullable listener: IMoGoAutopilotRecordListener + ) { + if (M_AUTOPILOT_RECORD_LISTENERS.containsKey(tag)) { + return + } + M_AUTOPILOT_RECORD_LISTENERS[tag] = listener + } + + /** + * 删除监听 + * @param tag 标记,用来注销监听使用 + */ + fun removeListener(@Nullable tag: String) { + if (!M_AUTOPILOT_RECORD_LISTENERS.containsKey(tag)) { + return + } + M_AUTOPILOT_RECORD_LISTENERS.remove(tag) + } + + /** + * 删除自动驾驶按钮选中监听 + * @param listener 要删除的监听对象 + */ + fun removeListener(@Nullable listener: IMoGoAutopilotRecordListener) { + M_AUTOPILOT_RECORD_LISTENERS.forEach { + if (it.value == listener) { + M_AUTOPILOT_RECORD_LISTENERS.remove(it.key) + } + } + } + + /** + * 采集任务记录回调 + */ + fun invokeAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { + M_AUTOPILOT_RECORD_LISTENERS.forEach { + val tag = it.key + val listener = it.value + listener.onAutopilotRecordResult(recordPanel) + } + } + + +} \ No newline at end of file