From c011549e44d2ade30b60adc0a75d4458e5f7db0a Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 25 Jan 2023 23:14:44 +0800 Subject: [PATCH] [2.13.0-arch-opt] merge --- .../och/bus/fragment/BaseBusTabFragment.java | 1 + OCH/mogo-och-noop/build.gradle | 7 + .../java/com/mogo/och/bus/MogoOCHNoop.java | 57 -- .../com/mogo/och/{bus => noop}/IMogoOCH.java | 6 +- .../com/mogo/och/noop/MoGoOCHNoopProvider.kt | 33 + .../mogo/och/{bus => noop}/OCHConstants.java | 4 +- .../java/com/mogo/och/noop/OchNoopContract.kt | 15 + .../java/com/mogo/och/noop/OchNoopFragment.kt | 115 +++ .../com/mogo/och/noop/OchNoopPresenter.kt | 8 + .../main/res/layout/och_noop_fragment_hmi.xml | 319 +++++++ .../mogo/launcher/stageone/HttpDnsStartUp.kt | 4 +- .../debug/R.jar | Bin 2054724 -> 2054724 bytes .../mergeDebugJniLibFolders/merger.xml | 2 +- .../incremental/mergeDebugShaders/merger.xml | 2 +- .../incremental/packageDebugAssets/merger.xml | 2 +- .../compile-file-map.properties | 126 +-- .../packageDebugResources/merger.xml | 4 +- .../manifest-merger-blame-debug-report.txt | 28 +- .../logs/manifest-merger-debug-report.txt | 80 +- .../incApCache/debug/ap-classpath-entries.bin | Bin 5746 -> 5713 bytes .../tmp/kapt3/incApCache/debug/apt-cache.bin | Bin 2384 -> 2391 bytes .../incApCache/debug/classpath-entries.bin | Bin 20698 -> 20581 bytes .../incApCache/debug/classpath-structure.bin | Bin 2945367 -> 2944781 bytes .../tmp/kapt3/incApCache/debug/java-cache.bin | Bin 110566 -> 110094 bytes .../DevaToolsProvider.kapt_metadata | Bin 11743 -> 11778 bytes .../badcase/BadCaseManager.kapt_metadata | Bin 6769 -> 6790 bytes .../badcase/BadCaseManagerKt.kapt_metadata | Bin 862 -> 864 bytes .../biz/AIDataCollectWindow.kapt_metadata | Bin 14115 -> 14160 bytes .../biz/BadCaseConfigView.kapt_metadata | Bin 8118 -> 8142 bytes .../biz/BadCasePresenter.kapt_metadata | Bin 5861 -> 5873 bytes .../biz/IBadCasePresenter.kapt_metadata | Bin 4861 -> 4870 bytes .../biz/InitiativeBadCaseWindow.kapt_metadata | Bin 17853 -> 17908 bytes .../biz/PassiveBadCaseWindow.kapt_metadata | Bin 16483 -> 16535 bytes .../biz/adapter/CaseListAdapter.kapt_metadata | Bin 6219 -> 6235 bytes .../RecordTemplateAdapter.kapt_metadata | Bin 6546 -> 6562 bytes .../adapter/TopicListAdapter.kapt_metadata | Bin 6695 -> 6712 bytes .../consts/BadCaseConfig.kapt_metadata | Bin 3281 -> 3293 bytes .../badcase/consts/BadCaseHost.kapt_metadata | Bin 1680 -> 0 bytes .../repository/Repository.kapt_metadata | Bin 7649 -> 7666 bytes .../repository/db/BadCaseDb.kapt_metadata | Bin 1030 -> 1033 bytes .../db/BadCaseDbModel.kapt_metadata | Bin 1062 -> 1065 bytes .../db/dao/IBadCaseRecordDao.kapt_metadata | Bin 2410 -> 2414 bytes .../db/entity/AutoPilotRecord.kapt_metadata | Bin 12345 -> 12384 bytes .../net/BadCaseNetModel.kapt_metadata | Bin 1879 -> 1883 bytes .../net/api/BadCaseApi.kapt_metadata | Bin 1530 -> 1533 bytes .../api/entity/BadCaseResponse.kapt_metadata | Bin 11228 -> 11260 bytes .../net/api/entity/UploadResult.kapt_metadata | Bin 5051 -> 5066 bytes .../store/BadCaseStore.kapt_metadata | Bin 4670 -> 4681 bytes .../binding/BindingCarManager.kapt_metadata | Bin 7512 -> 7534 bytes .../BindingCarNetWorkManager.kapt_metadata | Bin 4263 -> 4275 bytes .../env/EnvChangeManager.kapt_metadata | Bin 9440 -> 9471 bytes .../ext/ExtentionsKt.kapt_metadata | Bin 3999 -> 4007 bytes .../funcconfig/FuncConfigCenter.kapt_metadata | Bin 5593 -> 5610 bytes .../funcconfig/FuncConfigConst.kapt_metadata | Bin 2330 -> 2338 bytes .../funcconfig/FuncConfigImpl.kapt_metadata | Bin 1355 -> 1360 bytes .../FuncConfigApiService.kapt_metadata | Bin 913 -> 915 bytes .../FuncConfigNetWorkModel.kapt_metadata | Bin 2735 -> 2742 bytes .../logcatch/MogoLogCatchConst.kapt_metadata | Bin 3278 -> 3290 bytes .../MogoLogCatchManager.kapt_metadata | Bin 8813 -> 8840 bytes .../mofang/MoFangManager.kapt_metadata | Bin 4412 -> 4427 bytes .../monitor/CpuMonitor.kapt_metadata | Bin 8322 -> 8351 bytes .../monitor/MemMonitor.kapt_metadata | Bin 8113 -> 8141 bytes .../monitor/MonitorManager.kapt_metadata | Bin 4234 -> 4248 bytes .../monitor/db/CpuInfo.kapt_metadata | Bin 4466 -> 4481 bytes .../monitor/db/MemInfo.kapt_metadata | Bin 6972 -> 6996 bytes .../monitor/db/MonitorDao.kapt_metadata | Bin 2804 -> 2811 bytes .../monitor/db/MonitorDb.kapt_metadata | Bin 3027 -> 3037 bytes .../remote/UserServiceManager.kapt_metadata | Bin 865 -> 868 bytes .../monitor/utils/DoubleUtils.kapt_metadata | Bin 1726 -> 1732 bytes .../monitor/utils/FileUtil.kapt_metadata | Bin 8659 -> 8684 bytes .../report/IPCReportManager.kapt_metadata | Bin 6183 -> 6202 bytes .../scene/SceneManager.kapt_metadata | Bin 8037 -> 8066 bytes .../status/StatusManager.kapt_metadata | Bin 6441 -> 6461 bytes .../status/entity/CanStatus.kapt_metadata | Bin 2892 -> 2902 bytes .../status/entity/GpsStatus.kapt_metadata | Bin 3148 -> 3159 bytes .../status/entity/IpcStatus.kapt_metadata | Bin 2595 -> 2604 bytes .../status/entity/RTKStatus.kapt_metadata | Bin 3547 -> 3559 bytes .../status/entity/Status.kapt_metadata | Bin 1433 -> 1438 bytes .../status/entity/StatusKt.kapt_metadata | Bin 797 -> 799 bytes .../status/entity/TracingStatus.kapt_metadata | Bin 8766 -> 8794 bytes .../status/flow/IFlow.kapt_metadata | Bin 3627 -> 3639 bytes .../status/flow/can/CanImpl.kapt_metadata | Bin 8829 -> 8854 bytes .../status/flow/gps/GpsImpl.kapt_metadata | Bin 6415 -> 6439 bytes .../status/flow/ipc/IpcImpl.kapt_metadata | Bin 3898 -> 3909 bytes .../status/flow/rtk/RTKImpl.kapt_metadata | Bin 6736 -> 6756 bytes .../flow/trace/TracingImpl.kapt_metadata | Bin 4394 -> 4406 bytes .../status/model/StatusModel.kapt_metadata | Bin 5075 -> 5090 bytes .../status/ui/StatusView.kapt_metadata | Bin 3231 -> 3242 bytes .../ui/adapter/StatusAdapter.kapt_metadata | Bin 7366 -> 7386 bytes .../ui/diff/StatusDiffCallback.kapt_metadata | Bin 2720 -> 2728 bytes .../trace/SyncConfig.kapt_metadata | Bin 2013 -> 2020 bytes .../trace/TraceManager.kapt_metadata | Bin 6026 -> 6046 bytes .../StartUpTraceNetWorkModel.kapt_metadata | Bin 2925 -> 2933 bytes .../TraceStartUpApiService.kapt_metadata | Bin 874 -> 876 bytes .../tts/TtsManager.kapt_metadata | Bin 2844 -> 2854 bytes .../IPCUpgradeApiService.kapt_metadata | Bin 1432 -> 1435 bytes .../upgrade/IPCUpgradeManager.kapt_metadata | Bin 7437 -> 7458 bytes .../IPCUpgradeNetWorkModel.kapt_metadata | Bin 2487 -> 2492 bytes .../upgrade/UpgradeHostConst.kapt_metadata | Bin 2208 -> 2216 bytes .../upgrade/UpgradeManager.kapt_metadata | Bin 5592 -> 5608 bytes .../core/function/hmi/ui/MoGoHmiFragment.kt | 866 +++--------------- .../ui/bindingcar/ModifyBindingCarDialog.kt | 33 +- .../hmi/ui/bindingcar/ToBindingCarDialog.kt | 42 +- .../hmi/ui/bindingcar/UpgradeAppDialog.kt | 72 +- .../function/hmi/ui/camera/RoadVideoDialog.kt | 23 +- .../ui/dispatch/DispatchDialogManager.java | 3 + .../hmi/ui/notice/NoticeCheckDialog.kt | 74 +- .../notice/traffic/NoticeTrafficDialog.java | 451 --------- .../ui/notice/traffic/NoticeTrafficDialog.kt | 445 +++++++++ .../function/hmi/ui/setting/CameraLiveView.kt | 117 +++ .../hmi/ui/setting/DebugSettingView.kt | 2 +- .../hmi/ui/setting/IPCReportWindow.kt | 84 +- .../function/hmi/ui/setting/SOPSettingView.kt | 2 +- .../core/function/hmi/ui/setting/SopView.kt | 80 ++ .../hmi/ui/setting/ToggleDebugView.kt | 124 +++ .../core/function/hmi/ui/setting/ToolsView.kt | 121 +++ .../function/hmi/ui/takeover/TakeOverView.kt | 71 +- .../function/hmi/ui/tools/AdUpgradeDialog.kt | 70 +- .../hmi/ui/tools/AutoPilotAndCheckView.kt | 3 +- .../function/hmi/ui/tools/BusOperationView.kt | 10 +- .../core/function/hmi/ui/tools/MaskView.kt | 42 - .../function/hmi/ui/widget/SpeedPanelView.kt | 8 - .../hmi/ui/widget/V2XNotificationView.kt | 1 - .../drawable-xhdpi/toggle_setting_btn_bg.png | Bin 0 -> 4400 bytes .../res/drawable/bg_operation_status_bg.xml | 14 + .../res/drawable/bg_togger_debug_view.xml | 13 + .../src/main/res/layout/fragment_hmi.xml | 76 +- .../src/main/res/layout/view_mask.xml | 18 - .../src/main/res/values/attr.xml | 5 +- .../core/function/smp/AMapCustomView.java | 1 + .../core/function/api/hmi/view/IOchBusView.kt | 16 - .../api/hmi/warning/IMoGoHmiProvider.kt | 33 - .../function/call/hmi/CallerHmiManager.kt | 60 -- 133 files changed, 2051 insertions(+), 1742 deletions(-) delete mode 100644 OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/MogoOCHNoop.java rename OCH/mogo-och-noop/src/main/java/com/mogo/och/{bus => noop}/IMogoOCH.java (77%) create mode 100644 OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/MoGoOCHNoopProvider.kt rename OCH/mogo-och-noop/src/main/java/com/mogo/och/{bus => noop}/OCHConstants.java (66%) create mode 100644 OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopContract.kt create mode 100644 OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopFragment.kt create mode 100644 OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopPresenter.kt create mode 100644 OCH/mogo-och-noop/src/main/res/layout/och_noop_fragment_hmi.xml delete mode 100644 core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/consts/BadCaseHost.kapt_metadata delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.java create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/CameraLiveView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SopView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToolsView.kt delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/MaskView.kt create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/toggle_setting_btn_bg.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_operation_status_bg.xml create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_togger_debug_view.xml delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_mask.xml delete mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IOchBusView.kt 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 ddc42b1988..5233b3699e 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 @@ -30,6 +30,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener 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.CallerMapUIServiceManager; +import com.mogo.eagle.core.function.hmi.ui.setting.SOPSettingView; import com.mogo.eagle.core.function.hmi.ui.widget.TrafficDataView; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; diff --git a/OCH/mogo-och-noop/build.gradle b/OCH/mogo-och-noop/build.gradle index 7067f05711..d9254953fe 100644 --- a/OCH/mogo-och-noop/build.gradle +++ b/OCH/mogo-och-noop/build.gradle @@ -37,18 +37,25 @@ android { dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation rootProject.ext.dependencies.androidxappcompat + implementation rootProject.ext.dependencies.androidxconstraintlayout + implementation rootProject.ext.dependencies.rxjava + implementation rootProject.ext.dependencies.rxandroid + implementation rootProject.ext.dependencies.arouter annotationProcessor rootProject.ext.dependencies.aroutercompiler + if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.mogoutils implementation rootProject.ext.dependencies.mogocommons implementation rootProject.ext.dependencies.mogo_core_data implementation rootProject.ext.dependencies.mogo_core_function_call + implementation rootProject.ext.dependencies.mogo_core_function_hmi }else { implementation project(":core:mogo-core-utils") implementation project(":foudations:mogo-commons") implementation project(':core:mogo-core-data') implementation project(':core:mogo-core-function-call') + implementation project(':core:function-impl:mogo-core-function-hmi') } } diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/MogoOCHNoop.java b/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/MogoOCHNoop.java deleted file mode 100644 index b55de4fa57..0000000000 --- a/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/MogoOCHNoop.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.mogo.och.bus; - - -import android.content.Context; - -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.commons.module.status.IMogoStatusChangedListener; -import com.mogo.commons.module.status.StatusDescriptor; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - - -/** - * @author congtaowang - * @since 2021/1/15 - *

- * 描述 - */ -@Route(path = OCHConstants.PATH) -public class MogoOCHNoop implements IMogoOCH , IMogoStatusChangedListener { - - @Override - public void createCoverage(FragmentActivity activity, int containerId) { - - } - - @Nullable - @Override - public Fragment createCoverage(@Nullable FragmentActivity activity, @Nullable Integer containerId) { - return null; - } - - @NotNull - @Override - public String getFunctionName() { - return null; - } - - @Override - public void onDestroy() { - - } - - @Override - public void init(Context context) { - - } - - @Override - public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { - - } -} diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/IMogoOCH.java b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/IMogoOCH.java similarity index 77% rename from OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/IMogoOCH.java rename to OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/IMogoOCH.java index 073f7fcc29..2dc04ff268 100644 --- a/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/IMogoOCH.java +++ b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/IMogoOCH.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus; +package com.mogo.och.noop; import androidx.annotation.IdRes; import androidx.fragment.app.FragmentActivity; @@ -20,5 +20,7 @@ interface IMogoOCH extends IMoGoFunctionProvider { * @param activity * @param containerId 容器ID */ - void createCoverage(FragmentActivity activity, @IdRes int containerId); + default void createCoverage(FragmentActivity activity, @IdRes int containerId){ + + }; } diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/MoGoOCHNoopProvider.kt b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/MoGoOCHNoopProvider.kt new file mode 100644 index 0000000000..9d04c6c036 --- /dev/null +++ b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/MoGoOCHNoopProvider.kt @@ -0,0 +1,33 @@ +package com.mogo.och.noop + +import android.content.Context +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import com.alibaba.android.arouter.facade.annotation.Route + +/** + * @author congtaowang + * @since 2021/1/15 + * + * + * 描述 + */ +@Route(path = OCHConstants.PATH) +class MoGoOCHNoopProvider : IMogoOCH { + + override val functionName: String + get() = "MogoOCHNoopProvider" + + override fun init(context: Context) { + + } + + override fun createCoverage(activity: FragmentActivity?, containerId: Int?): Fragment? { + + return null + } + + override fun onDestroy() { + + } +} \ No newline at end of file diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/OCHConstants.java b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OCHConstants.java similarity index 66% rename from OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/OCHConstants.java rename to OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OCHConstants.java index e403d542bc..b0893ba9f8 100644 --- a/OCH/mogo-och-noop/src/main/java/com/mogo/och/bus/OCHConstants.java +++ b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OCHConstants.java @@ -1,4 +1,4 @@ -package com.mogo.och.bus; +package com.mogo.och.noop; public /** @@ -12,5 +12,5 @@ class OCHConstants { /** * arouter 路由地址 */ - public static final String PATH = "/driver/api"; + public static final String PATH = "/och/noop/api"; } diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopContract.kt b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopContract.kt new file mode 100644 index 0000000000..855b980820 --- /dev/null +++ b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopContract.kt @@ -0,0 +1,15 @@ +package com.mogo.och.noop + +import com.mogo.commons.mvp.IView + + +/** + *@author xiaoyuzhou + *@date 2021/8/4 3:38 下午 + */ +interface OchNoopContract { + + interface View : IView { + + } +} \ No newline at end of file diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopFragment.kt b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopFragment.kt new file mode 100644 index 0000000000..f071115360 --- /dev/null +++ b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopFragment.kt @@ -0,0 +1,115 @@ +package com.mogo.och.noop + +import android.view.View +import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.data.config.FunctionBuildConfig +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.biz.CallerFuncBizManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.function.hmi.ui.setting.CameraLiveView.Companion.cameraLiveView +import com.mogo.eagle.core.function.hmi.ui.setting.ToolsView.Companion.toolsView +import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.och.bus.R +import kotlinx.android.synthetic.main.fragment_hmi.* + +class OchNoopFragment : MvpFragment(), + OchNoopContract.View { + + companion object { + private const val TAG = "OchNoopFragment" + } + + override fun getLayoutId(): Int { + return R.layout.och_noop_fragment_hmi + } + + override fun getTagName(): String { + return TAG + } + + override fun createPresenter(): OchNoopPresenter { + return OchNoopPresenter(this) + } + + + override fun initViews() { + ivCameraIcon?.setOnClickListener { + cameraLiveView.showCameraList(context, CallerFuncBizManager.bizProvider.getCameraList){ liveStatus -> + if(liveStatus){ + ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_selected) + }else{ + ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_nor) + } + } + } + + ivToolsIcon?.setOnClickListener { + toolsView.showToolsFloat(context) + } + + //美化模式隐藏开关 + viewDemoModeSwitch.setOnClickListener { + //只在司机端设置美化模式开关功能 + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + //单次查询,是否有行程信息(订单进行中时点击不生效),autopilotControlParameters为null代表不处于自动驾驶状态下 + if (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().autopilotControlParameters == null) { + FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode + context?.let { + CallerHmiManager.updateStatusBarLeftView( + FunctionBuildConfig.isDemoMode, + "demoMode", + DemoModeView(it) + ) + } + CallerAutoPilotManager.setDemoMode(FunctionBuildConfig.isDemoMode) + if (!FunctionBuildConfig.isDemoMode) { + //关闭美化模式时,通知工控机 + CallerAutoPilotManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode) + } + } + } + } + + cbMsgBoxDriver.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + viewDriverMsgBoxList.visibility = View.VISIBLE + viewDriverMsgBoxList.notifyData() + viewDriverMsgBoxBubble.visibility = View.GONE + viewDriverMsgBoxBubble.isShowData(false) + CallerHmiManager.updateDriverMsgBoxTipView(false) + } else { + viewDriverMsgBoxList.visibility = View.GONE + viewDriverMsgBoxBubble.visibility = View.VISIBLE + viewDriverMsgBoxBubble.isShowData(true) + } + } + + cbMsgBoxPassenger.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + viewPassengerMsgBoxList.visibility = View.VISIBLE + viewPassengerMsgBoxBubble.visibility = View.GONE + viewPassengerMsgBoxBubble.isShowData(false) + CallerHmiManager.updatePassengerMsgBoxTipView(false) + } else { + viewPassengerMsgBoxList.visibility = View.GONE + viewPassengerMsgBoxBubble.visibility = View.VISIBLE + viewPassengerMsgBoxBubble.isShowData(true) + } + } + + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + cbMsgBoxDriver.visibility = View.VISIBLE + viewDriverMsgBoxBubble.visibility = View.VISIBLE + } + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) && + AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) + ) { + cbMsgBoxPassenger.visibility = View.VISIBLE + viewPassengerMsgBoxBubble.visibility = View.VISIBLE + } + } + + +} \ No newline at end of file diff --git a/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopPresenter.kt b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopPresenter.kt new file mode 100644 index 0000000000..0d690328cf --- /dev/null +++ b/OCH/mogo-och-noop/src/main/java/com/mogo/och/noop/OchNoopPresenter.kt @@ -0,0 +1,8 @@ +package com.mogo.och.noop + +import com.mogo.commons.mvp.Presenter + +class OchNoopPresenter(view: OchNoopContract.View?) : + Presenter(view) { + +} \ No newline at end of file diff --git a/OCH/mogo-och-noop/src/main/res/layout/och_noop_fragment_hmi.xml b/OCH/mogo-och-noop/src/main/res/layout/och_noop_fragment_hmi.xml new file mode 100644 index 0000000000..ffdf7313df --- /dev/null +++ b/OCH/mogo-och-noop/src/main/res/layout/och_noop_fragment_hmi.xml @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt index c5b48cecc6..7429cdc0cb 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt @@ -296,8 +296,8 @@ class HttpDnsStartUp : AndroidStartup() { object : IMoGoMapLocationListener { override fun onLocationChanged( location: MogoLocation?, from: Int, isGps: Boolean) { - location?.let { - MogoLocationInfoServices.getInstance().provideLocation(it) + location?.let { loc -> + MogoLocationInfoServices.getInstance().provideLocation(loc) } } }, diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar b/core/function-impl/mogo-core-function-devatools/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar index cf19b0896ee9b746d612acfabb9c828b46bdfee6..c8ae23b14428accb5df5d3078139b1f1455f0885 100644 GIT binary patch delta 23729 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 `K;gf0(OpVEhCFaEiU9X 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 AJ^%m! delta 23729 zcmZuYWnffC&|mJoyCj#pT>e|?{a9%h(lXO*i-5%YQ+Bp1O)s~_2ES~ z*;^`u{i<8Yvfnwz6nnnJ1!f!5_jp9O{ z_}N7I=UT8>dq4@4$4~ne&DBlQr1z}fl+gD@$w5tYxV zd1bGAe&Yj>pevG~Xr#YBl(Sy?Wd$Mu12@BL8bK;g6$k%LG&5P{$Nr|_Bpw2HnAR7d z0&=O%^pvdEwaGmW)3R_BnwHPBFdm_|HBGxnUf)kiUZi|b+q8$|t*>huM^u246lA&{UvQe11N1=xVZxtL-(byx-9zX;#Coru_1FCsXlvhVflY zg-IYKyU!kYvOxAW9|0&J|9ZT++)llvYB=$>hGK#5@>( z7=B6ez#*4tcgWGeuN+1B(Un zTq2~a=8%0ZnC3M{MOZdKh!MTJLe#4!DN{)YWWYEQrL)LBC6!L(AkKhcgy`N47HerT zRFJ#0GM(e1XT{V{l?ZvUtimaIA`P5D+~H4@!<0;r5QGywyK8oNq_W~i;vs(%<%=rH z05SuH6+X}_uU1oL5EW7~jIsx-YDpcXKQTkjxMX5Ikl8@VBj+Y7f{caa z@rp{lv=G^*k+O(pt}h41PES_+Wo#4W92pD63$@%*2}TwPy^i{)+|)`b;1m3^wbGr0 zKzg~wjAX?kr?gc9QHacJuTY9eP@Ci9lip5B8{bgC&?>*_tSllM(Xlq&l)c0Py1k-G zUofwF59K0B&eK;(Br0@KmjLD<(WW2NWYQ`%SkCIFG=GPBVi45Ox_+8fcm^o1FbB|D zR9j^r2TEZ30^S&k02G5;wCx5@`-g z$x5S?dhg@x;@AMFx4r4gEOHd;-z7o7fp?_i+?L~&8N`CMs_PJ8XOw7BXp-^|>egc< zP`3?(`HT=zZNbv240xmey%X4|rku`-jGbu;DqrHY4G&>WpbK)u+dvRrBS4x!ahuyfi9=Kua&OEhD{#WLWN@(?9Us(bvf``&=ov^4ma|tYw8=`a_Vzn-FYi^t z#QY&Pn+#v4eD)!s<#0$rXb*O|biFc(JixNYY3qkWANpdGvg#d^b%Lz0S;-(~+{zI5 za;st|KI}dyV8aNo`Pv;NPIi<^xeuuFm+f4w0=>i;8%IKibL>=lA+v;*TZsy2|6Xn= z0&?0Vd+b*NNggH<3>{+oX}@r}Vs2&OV<`8dX5ICy=Rn{xTu&T zr+)?f?$Me}!WPWCuTGFa2=f^w!6@2Du(nCuw_{)tHl9H0%a@|5CnvCl!#d?0DENmfu!P#D|;HzB`6%m>w_;m)-6uj`uBy7F8xd z0&KZ&bZOjkL1;l=lx6zg%0QZ?r-Jz73Dk43iD3A`*U)xKK2fF_<%C3uBh(74;o{K0 z%6dfUhb1xdsd5BI7#L)j_#a0S*FNQ$vJDxq0qM$Q(dX|aA8=Sjn-|L2_vBbb_bJdk zQ(r2IFI*!1m2wT)4118xshhq+$4fW`a3_Ov13RY+5~trPS8yg~-wBHvC`L@xtXr?B zT%MQ(4pj}5YfLJioOGN7+;UzbJ?CKRPO?bffrTzft_x5n6AKms;#vo(7GIdm?!gg{To!!RI5?;lzv?+9y)ogZ>ncQfY}W-1Y*hLqJCRFVD(}AfP{7b33wqQN3h5?99LyOH}O4 zIIY4gD9rW+)ovdWW&lBN&mIw1Nc|Iy^%;;opmrCfD4xK#Z}(! zCVs3^CgI)a^AhSexZ-{#)%>U#wlkM-msD*cxs-YU)!_;ymR7&R5t>|RF6vDih)50 z7H{W45Rc2LOm7*EX~vcRh5+ma9r+PYLV zRF-dOBt8f!B4WP+mlGSSyeaB9xvYu01QSm}eV%*AG89m~rP`BnNpBYNR2x-87Masl zT}I3R6_I;VRT~jN=n^8}MhQ~F<-!iCoup)sQQcyFDrBx>5p=!FomD;s>UTbw+*Q5I zbBC%WWmE6T*4>Ip@VPe49C|V6I4EmU>3E>fc1=>tn%iI zm4&!xQ`D*Cy`DUB*>u%OLemzi`Q+spxkkZI>|3EZ#EI2l!RQS2ac)IOFp6*aXgdfF zmSyIsLF6OeQQ8Tk^I;9aj6jjJLRDqXe6<&43uxq94L}9un?-6-sslqP%@DV~fyL>t zOkGKa;{F9H10~3tM=A}UafVsue5YE887l;w43u%J)WIL%$e{hJ4Q4ds-!*DK;)6Vd zyFrE;fPCWccW|ay_PtsGn-x|KT4DM@O`{17pE;dk+EG~Wd7HT;MAG9>r>wip2&<3f zx>RS=LyV4-Fs%Yf={v;blv&5rymZIbhXRH!;aLq?0Ix9{>1M4<79iOr&RNu8ko%3<+^P361~tQ=ZSU7rT5efQl!7#i6asO3|*sz$^H*iy5-62 zhw52c34n@;q_xn|caO1H<;%a-Ta-LLtFEop%rfSwx{@yB`pcWV5NMtskLi*<3?A$z zC7QYQRqYVqlx>sDWk`xX6fg`Gr@q&$;>gElO0qn6;Z1UF6~KGeL4rezwaWiWm`ju0 zK593h%Cu7E-Xso{-7aH3M0`~b+MNQ1q4M`~<`Zo9^K6o2*M*9V4Ui9GJ~dClP)SD(^K4>Seh}iiqo#QuMnHdm z6}9S_<3+|sXuErBnTwDqK0*!i%*iBD$4OHI^F*4ezrmtR zc{s()FI)O*u3Xm0jMl(Qt5a@oYUb;M{+cQSo115mG<_&w7%#rs4ExFT7G|mz32H7P zi#*=Se2r2-Ur=2abb~F>Z|}7;^Mg=d2&I@dz#JiGrkRa~ZQw-ft+1epZ`_*jrp2bo z>mAIqL#To1D*)5z#wcLT3W--+VU>%fSsXHMka-W*mjuErN_5QPDdWs#D5+sVV#VnV zW}AF4)qIJHL=U;VHrqU&9Ml&{4xejYNiN`;!7xH5&o{3poUT_ET4bI`Y3mmTm2zZ* z`3|M6o;vdAZ{}$vuf;htHfI643(5-T&5H@I4@LYNcRxAsqIos?CjmE+sd{qlyJvnv zryEQz7>3EKkIntbHN&z1vDXjkYuF2OJUJQqqa{*IZ)fqBK)69pg2}NuUywWzVBwwJ zSOgLvb_@%&iOCk|m+4l^Q1bKxmY0(QZ89m?@-spK*&o%jP(%zv9b)5;klqpXEi=h`AK?`cM6GkNc6q&lg|k4XO7O2IF=HcWx(^<# z@}^miQM__-c)^n1&X)2NG@nCl_GtkkaWA+F-Oo&s>$?*2YuzBr5(=8(Uw}Ynyk(`2 zuyDu5T+#_LaFk^fM?}vrz(q*td2guT3|qp)+WShN=w*lMd^X+^PVvHpff-gIt_R!2 zq%?Ov`Ndb3;Jldd8NEGDIdzw1EV?Se^Kf#y;2z5jh24cO*q2zy>Qp!5OXhDHWErN zq}G=#7b%#y-&J`I9Q%F-*E(Ib@Fx5LAvnuYoMz~olmMAAvd<06cJdF)yUJgdbaEqY zw12!VFGy%dpntu&YvD^X?n;ZQ`ja*hze)|0)$Uumkd*hS^2!5?g9snk;(25lL@ zMB(F_bz2GlM(&pr>>z&%6X^7p0%jG|yb@vopY)q9J0*(u;(^Z@Yj;@Vj_9N{;L zqFn+MV$0Pn5`Kjwg>GS!y}AcDs9RwBs?|LpLX7woOx`>);9Oo^o}9KkfZs@AgDx-o zd>s%?@%j5HO*DOsZj}CMQC_ zjC6`~Ed%q*3pK5`Nieh|m)JYQ8ZL8cTZ2iuUw!NETv`TI?7Ix{2uZQd#(3xj;gT?I z9!Y_;bBU!(LCUxc>l^wgrQ;;vvM?e7gcg+>Zdsp2p?%Qg;7O@A%sBtn>Y@N)D=F5~ zVV1$3ppVFwa^9d@Z0R$nOIFMi)R>Olxy%BX!{xrhL3Gg-qep=)DEU>9pgbr=Ksz9u z=zR?$+_G5E7W(wfyJ5it<#KBgewcKYvm_~^pKl62elZB*86mnyBE}f z?87~AZ=EQd7ABA15290_ei(C#)8%5!;zWL1h_D{ETjk}4L33%^`&79oCrG0r{D5%F z&&H287`pYHY!=a{qRlE=1_j$>x?;OXZTx+zoDgXH5(`s;s|{!~_gRVty}1tieT7Qy zKsi0eMqOCK`tsouT#Z9T(v#OVm%?e_Z1P%u+fKs0r`I8m7qX3^%EZ`Lo@BE~F!w4Q zc^bC2ea)-d9>hm=w5{@G1-KR_A9gf2biopEi4+z?PpC+^2`L%zrHx-Iz^Ec(#>xS6Q(2fp-<k2y62DWVpl0nYM$}svuNxnTu>e;@B;y z)~%VgPHb!(P~o}*>GY^v zOi%GuA$y1{wZ&GGPsjSTZPZ{$laK~>3#hk>K6l`5u;GG@H%`NKi|8F{4-$Lsfd6eS z*#sH)0X5_pfsPc_!zvBxfnwxnaLYdcQ=a*YZusFm^X}8bwg;9bj zM|0zdEbwM`Ukeobrr1;Dey2V0!?3n_0AWpez+sgT*3UnPsDy~}r32Ue%@}*IJd$kZ z6wk%!w~mkWtCd3@ZD_xld$n>4oN>9molm&F+I&66?vPzN+W(};eL(oKo1MPh>kTtb zq%N_;*YE!Jd>ATOb*TLfMF|6r)b6A0{6)dHo_%sOr+)tkkspn ziwHgoew<(r72e12!3jb)f}*BpwuBj6hp^G}#~6UzVnbkXpoIR!#}{9p=s7IdDoY=+ zFQsk4$NcJ;eID%yI!=NBI*<#faJNhe3U<&>p7f!BVW6Dg3jVeh7W@0+MUgO@L!9;x z36{M(1ZU$eAsY`1PNTg6Vg(;qbu+GrVA`kjPER7Xu-)4AmaJ5fYvkVt){`HMdP={>BQgU>j43WZ*=hvEzl zzQZg%eH?Tg;XN)_O3!B?<)8Hq{tA#?Eh;~W-}g)l60PnytIL}k9pBTw?4$m$)EXr( z>~-v{N!D|tiV|I(Yr!J5L$E_$^$)p98@4a6eAe%M4m-!z7Li4y78i1he!B)emX(LR z(CngDc4$7?u|f#lp9CCSeNLfq!O)Gt~`0TP6)q0Lh>ib zH+4fat_A({Va$a_@e=Nguw+f;_sJoxXx$8_ZL)lukOQ>O!->Qf-AD;r{6Sns3F5h1 zK&tpyEF$DJ^yB@u&@*H+IFl&$bqux0qrstJWDERcF26{B3(crmls8z$g@rDowe&In z7ZJLGYQ~2<-8htAS$4Ey0diW?P FUANLB7g1}`YWxLp(vIX>f!gHf6_u3$CnT? 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 diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml index b94d506ace..3518b967b0 100644 --- a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +++ b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugShaders/merger.xml b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugShaders/merger.xml index e00f878c26..9aa6a9ec29 100644 --- a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugShaders/merger.xml +++ b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/mergeDebugShaders/merger.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugAssets/merger.xml b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugAssets/merger.xml index e523a0dda3..d4d9e95df3 100644 --- a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugAssets/merger.xml +++ b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugAssets/merger.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/compile-file-map.properties b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/compile-file-map.properties index bbbf8ad5e4..488ed8575a 100644 --- a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +++ b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/compile-file-map.properties @@ -1,63 +1,63 @@ -#Tue Dec 27 10:26:55 CST 2022 -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/badcase_record_edit_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/badcase_record_edit_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_record_template.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/item_record_template.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_expand.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_expand.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bad_case_search_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/bad_case_search_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_audio_bg.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_audio_bg.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_initiative_bad_case.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/view_initiative_bad_case.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_inaccurate.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_inaccurate.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_audio.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_audio.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_search.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_search.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/save_button_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/save_button_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_cancel_bg.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_cancel_bg.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_can_disable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_can_disable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_badcase_config.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/layout_badcase_config.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/rv_scroll_bar_track.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/rv_scroll_bar_track.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/badcase_radio_button_style.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/badcase_radio_button_style.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_ai_data_collect.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/view_ai_data_collect.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_route_enable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_route_enable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_good.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_good.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/ai_collect_title_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/ai_collect_title_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ap_badcase_check.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ap_badcase_check.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/flex_divider.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/flex_divider.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_gps_disable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_gps_disable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bad_case_selector.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/bad_case_selector.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar_item.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/layout_status_bar_item.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/case_list_select.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/case_list_select.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_topic_list.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/item_topic_list.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_delect.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_delect.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/shape_size_check_true.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/shape_size_check_true.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_ipc_disable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_ipc_disable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/dialog_case_list.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/dialog_case_list.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/layout_status_bar.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bad_case_dialog_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/bad_case_dialog_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_slam_good.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_slam_good.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/report_button_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/report_button_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_error.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_error.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_trace_unkown.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_trace_unkown.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_ipc_enable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_ipc_enable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ai_select.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ai_select.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ai_normal.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ai_normal.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_unknow.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_unknow.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_un_fold.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_un_fold.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/shape_size_check_false.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/shape_size_check_false.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_track_enable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_track_enable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_normal.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_normal.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/template_list_bg.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/template_list_bg.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_can_enable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_can_enable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_audio_normal.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_audio_normal.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_net_disable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_net_disable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_not_credible.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_not_credible.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/dialog_case_topic_list.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/dialog_case_topic_list.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_select.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_select.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_case_list.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/item_case_list.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/ai_collect_selector.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/ai_collect_selector.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ap_badcase_default.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ap_badcase_default.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_gps_enable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_gps_enable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_net_enable.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_net_enable.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_audio_select.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_audio_select.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_num_bg.png=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_num_bg.png -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/rv_scroll_bar_thumb.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/rv_scroll_bar_thumb.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/case_list_normal.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/case_list_normal.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/case_list_selector.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/case_list_selector.xml -/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_passive_bad_case.xml=/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/view_passive_bad_case.xml +#Mon Jan 23 17:36:48 CST 2023 +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_normal.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_normal.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/template_list_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/template_list_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/layout_status_bar.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bad_case_search_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/bad_case_search_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_can_disable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_can_disable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_good.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_good.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_audio_bg.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_audio_bg.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_select.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_select.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_trace_unkown.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_trace_unkown.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_track_enable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_track_enable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/dialog_case_topic_list.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/dialog_case_topic_list.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_error.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_error.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_expand.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_expand.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_num_bg.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_num_bg.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_route_enable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_route_enable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_slam_good.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_slam_good.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/ai_collect_title_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/ai_collect_title_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ap_badcase_default.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ap_badcase_default.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_ipc_enable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_ipc_enable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/rv_scroll_bar_track.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/rv_scroll_bar_track.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/badcase_radio_button_style.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/badcase_radio_button_style.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_inaccurate.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_inaccurate.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_audio_select.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_audio_select.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/badcase_record_edit_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/badcase_record_edit_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_case_list.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/item_case_list.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/case_list_select.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/case_list_select.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_delect.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_delect.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_gps_disable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_gps_disable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/case_list_selector.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/case_list_selector.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_gps_enable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_gps_enable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_badcase_config.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/layout_badcase_config.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_can_enable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_can_enable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ai_select.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ai_select.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_search.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_search.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/case_list_normal.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/case_list_normal.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ap_badcase_check.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ap_badcase_check.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_ipc_disable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_ipc_disable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_un_fold.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_un_fold.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_audio.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_audio.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_topic_list.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/item_topic_list.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_not_credible.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_not_credible.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_net_enable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_net_enable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_net_disable.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_net_disable.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/dialog_case_list.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/dialog_case_list.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/flex_divider.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/flex_divider.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bad_case_selector.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/bad_case_selector.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_ai_data_collect.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/view_ai_data_collect.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/ai_collect_selector.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/ai_collect_selector.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/shape_size_check_false.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/shape_size_check_false.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_passive_bad_case.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/view_passive_bad_case.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_record_template.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/item_record_template.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/bad_case_dialog_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/bad_case_dialog_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar_item.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/layout_status_bar_item.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/shape_size_check_true.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/shape_size_check_true.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_dev_status_rtk_unknow.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_dev_status_rtk_unknow.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_cancel_bg.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_cancel_bg.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/rv_scroll_bar_thumb.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/rv_scroll_bar_thumb.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_ai_normal.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_ai_normal.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/save_button_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/save_button_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable/report_button_bg.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable/report_button_bg.xml +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_bad_case_audio_normal.png=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/icon_bad_case_audio_normal.png +/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_initiative_bad_case.xml=/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/build/intermediates/packaged_res/debug/layout/view_initiative_bad_case.xml diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/merger.xml b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/merger.xml index 3d55c4fc29..cac57b4622 100644 --- a/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/merger.xml +++ b/core/function-impl/mogo-core-function-devatools/build/intermediates/incremental/packageDebugResources/merger.xml @@ -1,5 +1,5 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt b/core/function-impl/mogo-core-function-devatools/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt index 7eb86a3560..0d6c5f0f32 100644 --- a/core/function-impl/mogo-core-function-devatools/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +++ b/core/function-impl/mogo-core-function-devatools/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt @@ -6,27 +6,27 @@ 6 7 /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml +8-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml 9 android:targetSdkVersion="27" /> -9-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml +9-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml 10 11 -11-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:5-79 -11-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:22-76 +11-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:5-79 +11-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:22-76 12 -12-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:5-79 -12-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:22-76 +12-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:5-79 +12-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:22-76 13 -13-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:5-76 -13-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:22-73 +13-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:5-76 +13-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:22-73 14 -14-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:5-68 -14-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:22-65 +14-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:5-68 +14-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:22-65 15 -15-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:5-74 -15-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:22-71 +15-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:5-74 +15-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:22-71 16 -16-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:5-76 -16-->/Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:22-73 +16-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:5-76 +16-->/Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:22-73 17 18 diff --git a/core/function-impl/mogo-core-function-devatools/build/outputs/logs/manifest-merger-debug-report.txt b/core/function-impl/mogo-core-function-devatools/build/outputs/logs/manifest-merger-debug-report.txt index 6807946bf0..e84c3106aa 100644 --- a/core/function-impl/mogo-core-function-devatools/build/outputs/logs/manifest-merger-debug-report.txt +++ b/core/function-impl/mogo-core-function-devatools/build/outputs/logs/manifest-merger-debug-report.txt @@ -1,61 +1,61 @@ -- Merging decision tree log --- manifest -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 package - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:3:5-52 - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:3:5-52 + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml android:versionName - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml android:versionCode - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:1-11:12 + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml xmlns:android - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:11-69 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:2:11-69 uses-permission#android.permission.ACCESS_FINE_LOCATION -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:5-79 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:5-79 android:name - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:22-76 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:5:22-76 uses-permission#android.permission.ACCESS_NETWORK_STATE -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:5-79 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:5-79 android:name - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:22-76 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:6:22-76 uses-permission#android.permission.ACCESS_WIFI_STATE -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:5-76 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:5-76 android:name - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:22-73 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:7:22-73 uses-permission#android.permission.BLUETOOTH -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:5-68 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:5-68 android:name - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:22-65 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:8:22-65 uses-permission#android.permission.BLUETOOTH_ADMIN -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:5-74 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:5-74 android:name - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:22-71 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:9:22-71 uses-permission#android.permission.CHANGE_WIFI_STATE -ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:5-76 +ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:5-76 android:name - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:22-73 + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml:10:22-73 uses-sdk -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml reason: use-sdk injection requested -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml -INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml reason: use-sdk injection requested +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml +INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml android:targetSdkVersion - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml android:minSdkVersion - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - ADDED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml - INJECTED from /Users/mogoauto/Documents/zhihuijiashi/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + ADDED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml + INJECTED from /Users/emarrow/Documents/androidProject/MoGoEagleEye/core/function-impl/mogo-core-function-devatools/src/main/AndroidManifest.xml diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/incApCache/debug/ap-classpath-entries.bin b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/incApCache/debug/ap-classpath-entries.bin index a2ee5a863a954e632624b65fb2c2da568c963685..217fe6e44959e855aef4473c69ec464efb9cc2c7 100644 GIT binary patch delta 904 zcmaKqy-Nad7{}?le7Vzm)U1|l9>2|3#w6fOD$-r3@oM$HN_`xZP{;%m+F_-!vhfreOobj-sg zfg0I7n003VVLps-NmwDg=iFdlL{mdyMG-|=N~@YUF3F?Ourj7;VNHojVg%p05jY`? z&7uP4_-V@M^-)+?3T_E&eV05|TpO@YppbhHN`zJm$4_?#cCEU3*<(SWyw5O3L4$3Y zg~wM&(6jLd7;2WbR95PEoF&wumW92BMZp5I$RP;lhwIm1S-*WP2y5lu(V7wF)=YUO))h}PBcnQv`92C zPBbzwHcvB1PD@L+n0%AVVDcJKB!__Pa^Nn(^l&1N@#JsZF#_w+?MdWWJ2{>W%?MZC zG=a&OD%B@HHB4f{FF_z65XNcF3GC7M)X>u8Brp6=EG_BD%O_~OfEy9zp Qv4?70BTb{l9d&pl_LoNNP>$` diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/incApCache/debug/classpath-entries.bin b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/incApCache/debug/classpath-entries.bin index b3fdc122102aff2ae4107404241888056407280a..b9d889924fe09cdfb2dce4573b0d17a56370695f 100644 GIT binary patch delta 4397 zcma)9Ym8M_70y_~OW^Q^&M?g7eWA?UefI0@4YW+>0Rsc`fL79$O84Gp@6G`8x-(>& zMmp4lR5WU5mI)>pf>C2=8f%O;O{|Um(HQkd6B83P#zcL({jK+R{_yRFcW*SjI92{~<gMN^NCw%$&1RH3uF${CQg~1K!DgjFmT~)?%A*X*JdsCCU+onRblZ z%2_)#?1pXHI<6)s$H%G}e;Gg?M=UMn)M>({rZ)8`c!Gp8D0Nz@%Fxu*cse?nK@`1} zOU`W5c4%L{39c+`gu#Vp%QM;U_v|)!XQ7Q|v&x`Q8DhZ-#U5r}detfLS^SGt08F_m-ZFUd`Fw$<SuMew6Fr{R5B^EY^GHymEu3zeuQ3z&Yjb|$Lk`~*Cg)*a2)v4vtKT&ze; z{7ev|tYZ!t$7rnmn&D7dkE4q@Uw$vOFdZ|Bk-~ltac516oMfCafsi4wg`4YHev(Vv z5{#%w5%y|I5`(<9vav{z6xd;48&C#dcu1Qx@x!XHQCP8*x|Ai{FhP?z5k$c28{&Gw zmavc_C73d&jKCtcPAiMJ;nq@RjDW6jDjTb?K zZ0dn8^w%)WHoa6=uezxxdNF4|+tdmlY|?WbHFIArm~HNb6$fjw&~|G!cN8iVDvPwg z1}v47a$h5i;zapg^z9c5>CYRyym?Py41>SrEnNkT2d$a z%5Z)AsRH02Z{5)y4drSTfZW{C9!=!rVW(}`*%N&+ClC5Jc0OM4ALQ|_Lj{aM{)1ip z(Km8_LXYe#yL$R1%sEBWGlK*tDM^^W@2Pc)X(_mG?F2q3SMuWtPwqZmklosSyxs#~ z_w?rn4&K|-SE$_h11DkTNG-XuO^2az@2Nu9Jim7=v;0GFt*uWN^g=Rz-P%((83Sz& z`tG7Pz5p$L?o*T|6kCp@jy=8y8fN+{8eSj`>6#)+`Y z1jAAaA*8bj6VQkfXus=%D0Cwe{HpkR^u1gaSH<110H4X|DRcy0$B)9uL$$fotULN~QFks`2%Y>gyb{+S_~SR1T#UX| zPrDg@lYFk={EX<1zM4}HXZm+yD7sNc-oAPPJR_&?UV8!K&V9!USJKN%8d*iGiIJn! z-&ATuLLE&~89U)=J%V5EV;PDN&Ntsb73BzgV2N|dBKYh6$1)*=34ZoKS6DHh67M_k zm%&E|9x1G@D-U*LY8G@qesHu-Eq1|oA37Ti=TZ>fJ9MzUE{T2P;1GPYuZAOp^7-}) z^{V0J>tV~oPr~0f)bvBX{N_&y4R=9d%RDPceZmMP%wlekQSjS`A1D|hWMlu6#I^A( zfg4Rcr`KExKSw4eG=WncStGwwTNIL(aKVL5kP^YY7p$4g6?N-LZs zsZ^2^8Y31+jH6OfNBln#Jkg2k&LuV$VJA^c1xGG6$fjvHb1KEoA8rDF=}a;kUZEW@ z(DiseRJhgEn^{7iv_*7iAxw0iiE=-i|LvOS(9_Yoxk}z;`O`zM)GKJ{x0{F6J(%+X z=;(Pa`eA*qANO3!w?gpt#*xtsy$h3Ljt*vcVmP{gJKA5kRYAAfd!+8F|3`0s;rI?7 zo5=i22m23?9nP%ZAe%mZx^Br5mPn^LH%3dDdX9#yG~D^EYOv>q2KMwN1&|(mOXvEY&GWqtzSBP!b!L^Jd!Qrg K&B?9~bp8i&L;=14 delta 4555 zcma)AS!@>96&6c~0TaexHiPk>1oHpj*#F&^gd{e$F*sgWLP--Ma+euwu>DhPNR$Fu zs;EiTR+vMpR#j8dhb*Oylt{E{9{SLSJ~dG)RTZk#Hj0!=Nu!FsG;dAs#6tL=8Ml5L z-E+@=&Uen8kFPBH^Q((4PM2S<9-fL%PgN&s$7|-ybgkN3b7v;v$?2);GoxdpXU0y9 znW@n+cw+I^nRgGCUtHkzXP30Xfkh+GxTvA+|A|iTe!OUZ`TGl${lwz)(7L6e;ig=8 z`>rxcq)mhoC`q`mQWz_wq_Ni)F`7_As;6T!K0P)Oci>LeNjr&z?r2^4r3LDIc1bO& zW$vbWG3AsbN;s;KLY6vaxwlp!#CXhOjjNOK^i#FdC+pP0KbO>-j~Ma<8Q}>*N>HQ) z@q)`l1d*I#E~-;CcQT%?m$H9Dy_Awdk{iq%5)?Z`6f%f7M3LnPQA-Wnf7_!lNeU5CsDT8VWwJX^HRB3 zAZ>&rC~-KJnlpkiw}MfO;Ct&iA%dXSQWZIAn`)rGo}Xi6xq-z!U7V zlJW!z&@Ck2e6P0j!FvPs>Y;UWfAsULH#a-*%I5P~jxrqDvNxJ3<~RvotgVw@hFa?& z{AG3K@L#RF^XW>Yu+C$g2pa+&Al?uzSj=TW>x^p=RN) zZNqtoY-w*kSRa=93TFyDe&?R7LlwAwXLm6?j@)%9>*?3v{lSGn|M9zr^KRhX75FR= zp3kNr#e!4Y9xb-|Kil?1V?`X#Z10Lr7ZGl3-xqzOh)}!dv0@!x+_NWdZfe!n%OmhX zG^Yk`*4MI1Qp8bd3%gH35|>zlkhGdgCb&wFMZ^l1DEMuqn(JIB?->SB9V;SDrIb57a(S8VSr~((RY;J+SwI8Xksx(Iv_x2YJkJ-_74y%U%)p+k@Ysv>x=b65SSOVxB$cNY$>l2ObXV~tVN zyTqe70Fg=zbBU0e#vHC!W%Sc*Nu=|zi!Fx{RLe%_CSe6MU%zI5)ys zayYs?zs?n~jvk3F7GGEiZ_&r2?33Wj3EstyMNq``CpMM`gEPD@x|Y4&)ZYo8^B1Gn z^Moo)%JuMpc=FPkIX*Y_r|08Y@fB!Nz3Do5>jjYZ$B%Y3!ew<7R-+8z)XJq$)=%Z3 z_K$inKdIBfM5#4anS^PZIO#c8Tp_|^=4hBY#=zP8c+tvIfsgK+jQr3?r^LR-f=q}3YHhArU$)dcJVc@|N(TQxNQ*in8!S4KmZ66wi-^>kM zQ~wTlt7{!>=sK3kNqT-7UeR;RPGhDt<3v#r8)O_cMoO;<^TK<}m=gldcDLubD8k0X z)ZipU*cxh>NfJfFN)TI17>3V_xTLkAZ$0shTg9*o1Kr15dK@;eV1k6Fcem$u0EWYg zqOBI8=QYC=g;ydE$s{&>(%8WBJsY8^r)8dA$412AVdT6DstLE!OF{yG811ljEO5*G zh?!~L4xjZrmi4;==X(e8V3*eWZGCa{gKXMT!W(_ZqrVpshW1>m&u3Hr#rc-`rEtCf zLiBc#n9F;g%T_=Y4(^-GEtl}`eFt)TDx4qKUpy9aZ$>`+VPtnSm_J+x Ia)0N40b<2OWdHyG diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/incApCache/debug/classpath-structure.bin b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/incApCache/debug/classpath-structure.bin index 4c93d6e3c55ffaef2d933a3323a555cdc00a71ed..c26b65a80004eb9db8eb4776ae41c12b69e4ac93 100644 GIT binary patch delta 14115 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 delta 14773 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 literal 11743 zcmds7&2QX96n{lPNt34eDhH&N4XLVKk=me&f|MvUyZLBgBSj?Hme5j7?8&avU5{&z zH%$a5?wmMr;lc^^#FaBg#6Q8ULi`EvX1xC1rO6N=PNb~tXOCyzo8Nmg@Au}}@9@eY zz{`Mt=kR|9ZX2wlAGY?m-eFDl$Y3sgwCmdjx0wCNq+P-pYkT?Fdj9{2CLhTb8Tt?!X8!PZJ+)*f@z`TTvDQ~bcp=HhDc^sT_6s=hVWafppj zD4y1%a9>qx%eHvAPHfXsD4sFCf@<0rG6)>q*@Z=_)?vAby8jAy z(z+jAZI2U|*IBbhxX~)2@mX*0cr;GOx)$Bn8~9U1Um4v~-;WDx zELt_zZc`(Xo)+64Kf^bwv4h#4P=i`sS`8qAcg!`*ax*KqES(CnDPWo~<`TW*HFwxk zea&lD+0!Z|_FRR7q{`iTI93kt$GDC@y=`aT#@y3A+gYF|<>@sif71NB987ICGe0#{Ir#C@WXEJKlOZ6;O# zpC<+%%=L@L?uo*NCi(oJQylqpwu{UdaL{8o$W%=P-pooejo@LXbZ}zh#ySKJx+H@@ zrjN`RaNt*^JN4-L&_e~$qY1Vibx%HzTr^^WMA9SOH|Dted}Ky^Bz~j+XUG6*cp%mS zW>|}v;n`ByH!{Oo$PCYxBENYspo^1XpWhBC*#sLK4k#D%v_3CKcIguVZ)W+-*egR| zXC)Q5m2DKvzX*NdaiF{eXLKRW3=U8tHg|*UFRsHnbIZC*6Df#mvKd7;Z9|xWEGjfpgy_ z*SdbI-v{}&d06Bn2$aoCY8%Hek=f>g??S%!yrcrlnXd+2%Z2MW3G>Zt7MXRBetqA{ cHp=Urm!KuabNLud2(^{O^hrK&oA_Q z6&~2C!wz@%4C^RYwQS{MYiD2DMkv{Gu*Z#3o@Q^`m5cjT2VFbdRRL^7CeZ>51JR9t{1+*eDM8z z@_qUO+P7JU3(59)kJH^pe`)Krp~}zPgeQ4=nXOhDwN~xf=4!pxTH3BxwpKURi^^gd zmUFS#6%HQcE` zP#|YNgPanOQu*;~WjrAVK?+v;Mo82w(oW4HYzxN(Dincfr|WZd_$M!|%~(x|*N^qp z7KiadCF$h2a88>fsW9p2(N{aOG!Ywt5EI2{JvLyT*g^Zi_K-b}kE-!V3>z1g)?4W2 zqNR6LKU(8fmD~~TQz0GIFU9O=#*)EH!|1BPfmtZ5pk4SIUM8qQ5je^QfRMsOyi!KN zQh+t-PjTt|`Vn3wbdCz9BC5*sXzSyrLUZ{Pyvv0~$vWC7dKe8HI-|vNDHQntHN#+& zDDXyP4mX^2wA)q#wx-=hHCRM07n147yIoeH&8nU-2Mf;&I~lLNgEu*uHYj3YkR4nk zmfw>4jlM)bL72KhC;}svFjwo5(iL|OU%!-dTkBq+Zug6uSt-Qd%QLEuDS=KqGEvz8 z7vcA;B?$bHb)^ZvrI$)&xHEe8eWCpl-I9b(>Y_e=K9wYUk@}1>9sHFZe{<4*o$qdE zBpnigQ>{`YA6ArhtSIf2;cmuliQ-HONH<1PLfmx_609I3l;O|O>v0uqEJe%&O;SId z(8=t0i^<*a4DX>?Vg=S?h1Nr5`)CE$V-2mxO0DPCO#E!J9xJwl={M=vw5l1OhQkv`P<V GsQCq~NZ<$n literal 6769 zcmds+-)_@L6vhvT{~&G_1V{)KwGxR$Js>1*0*EwCOHuzo(uN8l!o)sxrZ_W^XOgCU z39dkbXV|^qQFw;E*_(ZbJ>%L=3kmAt2xKa?wPX8?&##{E`^NqAUpTo3a02M-7=2%c z$FAzIz4o?Y9p$U0t3qsU^`vWrl1&f$+$a@j*5aPaHL^MGRp|E$m)ys2dcC{|pV@}S zP)FDEo>6RGxxEfbqp7ZF_r$i~x-Hm>T2xi;2Uy)jX2)U4IJ2VD4WjF3?dP-U=fm-J z=&}wMl5O)or>lSbo}IUb8b5gpo@c2tT`AYA&Fbc}rCPN)zfmi%FRiWS6vYB8WJ1vv z9xeomo1FIlH&in9A0j=qUcQ=-L;%D6$#CitEM_9m7r6681s;a^qL2cpX9VC0-4R+p zRjr%?_yqHro&dMarNkho-G70#Ox<@w)MR)V&UhH0&kg1RL?i+S?0jDh&YXt1OfU`ZSN~k&D8tSYJI)DTB+vZ@BdBvC;ov(ruKa_m3<|cAw5ur+Zd?}#YR4PocaQC zLOcq^<+sWNLJn;9RXrmlY8K0;W-+zW&*v10z$7B|=^DJt3hP-Sq=f7L)oO{oWO0%f z`2{p50g?omB=pBuIMXx>>sEsaB9~sMgg0P;*g|*L4UjD-Tb1NFj84ugtPjx51WUKo zPQ0qED7hv47eab!r;wnd=}OKn4Wpw52d0!)F+2MZUXLRciNKLo{6Y#7;~FBe`JXlD zM{ePq{|nxXgL7mqWl>QvrUT5N!kMKSt(mF*ew4uRALis(F zU)zxwrUXYC!A!MJ0#}MeAg@fXU(EOx>w#6aN4brv6x|+Xz;II(Ov zal&zI!XXhj{*+=)5$=t9vIM#NY$abjr5FKkf&c5w9L)*DMm5fcc<0Q6od#XkM5g}J9!mBYuOvc(a ylsu&J@y!gJG|D?^l#fI{z2A|iIFZN~Ve_l93B8fdaCGw^-#C*!;=>78T`}>$~J9m*%GCl@#kI=A{(n bXQl)cnn>>xtnP~N!nBo`#=SwMg delta 109 zcmaFBc8`s7&07Z6Dh3AT(21Nk)Hmvf7N-^!>*waD=O>ny7%Q6n+TEuM;UbQK^DTiNvmy>=sg~NU5O7CJmuZYB`D1_7aVEC-$VfGuFdcT`S@8z;_)0~gd|?;Mdhb7FSwb-Z>$9CwmtY$=jG&W^pG-}~nK-n{wg zZ+QC{;4P4kH{{qs!>bGwW@7jbNt$+5k( zzJdgDnD1j(>=Np+!1&67%1Xdf%T!G@|>*+rt0 zZW|<^-4ZY~MAl#4J*LIVBD z{;<3m^K6rIwFl=V?5GKrmSQR58Vj}0qOo_B1LGj-Vqf=&87r#NxNgHv7ct`O>RBcs z0mV*w>?>8pg%C@A@*ZOCiwk4Fcd~Ea#G63!fcSV5>FcA)mO<@`MXaJ8PEu?I`BHgU4!=TrI?0*5q(F>tP>PWIHL~D}8 zR{{7sU@H?)5jhb`L}IBLZ4ZW7(jA+L`|ypLxMOrF60AmiCW=Ynrigju3nSmCZ0)(o ztzx_JRsm7$KZ+#FJ3iukwrzCr>M>17Ky{DJ`!B&$11!g)h&;lUBOw^w5=cbcc-nYe zJy@!7GXI1x)ZoPEHjCV!31?bzurW`{Od-1xOxmoj6~e5!i}&)rkSZoJA4 z2aDZq-{={egapoM0IbUG;=uywgFoPBHQ6Uw%4v5rMjy)Kl%~ts%%rbjaZt^73kH0t z260B6s$4t?&oft+zZut&sXI!6gJTQWI;TJ^(o-9hb ztBi$j;fbQ)Nqu{obk|M8CM0l?g8|K^dP7lVW7bI#(miN~4OmqYG`a&ZbYGsjn1IP_ zZ3c?j*L^6a?pn=MSB(OuyM{`zc9valck5Q0FF$eX?V~1qcGg6F`2MX^t!`QNs$)dw zZuRrTgm+J!^u#~kNqu9}Hd?W5v?K|Ht%S{-SpCyWa!ayPIXx=nC==X z!Bm&wfa$KG63BvihxV39XT|58tp7XjWHrw_S@OJ-b&B-1GSb_GYS+i~5wNFxPIjS; zh1Mr$NZa^stP^ExNo8xDC|fI4wk9l}F~LQ&@y(_tOn-i<2CY;Ln($up-PSMPDHcEN z$_v?sy-zB}IXBTrxyIqM`2S6Kc-Bnk-A(6IF|-pIwFZ-!mn9f!-j)fY>9f**T@Ah9 literal 14115 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 literal 8118 zcmds+&rcIU6vv+m@p}v#cmQ%{IY^60jKZQ05^;EyIJinX$!4+y%Q~2-{G4YMYAGUFiXB!uflC+! z&UQZTdIwWF;N-`rPJnT?IduNelYKMHtzfTxd8RdCq;nVMba(~zs89uL+9)L2JG$S) zhh}+%L7={v=R{=c>-lu9S<`h^hxVBqO*rqqZ}3(FloT(sO(mrcgzbp9(qo7yeH4i! z8w*_3VGEJIkO^=yET)rAwEqsg)2bF#iO4+k znfrgR8TbXSbg;Rnvg=qnhdtY8)RsZall>uq0v%y2?SXrVstv; z`JwYXy!^)qn;;lf0%xchCo!(J17j1c&Qi}(VtTFt)BX}I#k`EeI7xbGJosHpH)=ne zM2m&NPsjBe!XWU+o&TZCo}Ns_;Xdi_(ykVrUE`8ySCKk9qam^+nnA}Kc`S4pdTYG` zxKz6?fYqRvB{5T-sF}x|sG0GJnki4z%!U&+bDvx`V6|bA)`;?%NRi4QaABuWma2`Z zJ(-~@HPz9asZ?ooF9%hr0ke7~?xUmhUAU~8yfdY|Gi&nBJSguBczl$lW|ZR9!xR!+ zJ8ZN7*O_;iXn?-M#|!Wv4y|z^ExCt6xD!-IP_R3UBF7t+In)Ds4bow5|a+w=kq zxPOYdWiA;werf}5pJZPenQHj27YGj=k@mwbO3_l=9>9>JUHUV9x7D4VXE~ lP_Et*ioETBrMSfqj;iiLPqn~;-s)umy5s#A(6e_{_zjOR+m-+T diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCasePresenter.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCasePresenter.kapt_metadata index adcdc7d9877b14d7b202f04b68c5567e63c00ae6..7a503314517c6b8d4db7144deca714953cd4ba42 100644 GIT binary patch delta 652 zcmaE=`%!m7mc|bK(BjmhV*S+I#G<17a($QlX)dhxV;_4zr&%_T}PzNgVkmR_DAIv7_@dlD+m-*xxJ~vXe g)br1r{6Ull;>^vO0$-RXCvbzgOoun?i5zAE05LTN@&Et; diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/IBadCasePresenter.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/IBadCasePresenter.kapt_metadata index 1aa4ce15da8dd020a6bc5e58d249e8308d03a476..69f4c459d998defde8b29763d3236bd4b2675a3f 100644 GIT binary patch delta 505 zcmeyX+NL&Prp8YF(BjmhV*S+I#G<17a($Ql*w=bMg~YoHk4Fd}ju^nd#-^v#dUw J69ncm0RYMkz3l)1 delta 483 zcmZou`>Q%(ruq*3(BjmhV*T9w^!&uql6-xa{N&Qy)Vz{n{i=-2jMB`k%*5i1%#8R{-r!o2A{tysNb|?09fXh&NQeVMhy&u(1J@onA;Fmg{{d2NmAEoH>$SbHoltii*AuByJh8|2r*GcA z@Au8@FGuj)A;7aBe$I)1S76g-o^@Eh$1RVQ*pAJ7yt5Zln-fNN99%`5F*mSwkz=C( zTf5}YTBU>Pw|A}1$CZxQOS+LX5-UR5Rh03KS~0rmq6d&u`$&AP_y(8H7m7NU;N zh*R*{J#2GpjV-e!RC4js0k)#|wvzXrC0@mqpJ_H4pKXjcKU3h_mWK$n?x89YuU7Ou z%==uBIsXjYQa0t37b7YlA9;Zmc;15B%JHlrib~kmf=>WNg?z5N4DmcVU?EpSM<#&* zudtutjygoV+DuC~Lr)E*0R#FA?)C@J7V)qSghofze7PKnCmPYaJ>^(0#8``$2Ifl zBgJrp#L!_iU3g7xlG!BtT3}gGSpZfEt}TQPVT&Q>jA{YMS6cu|JUJFpevQ>qgk%yJ zR;hmBC-_KRPHq(v8@R%JMT%>%TH?ar{bH0u)W)t3%WZ4|w$;TEigM8=M?4%B!$&58 zrixCPd+`N+Y(=FhCJ9|9F20HMkfUR+O4BE-2-C;ez$nn;YBu(xO0(I=!WMRJU@gq% zu_KjkYK*4Gg(Z`~Q|ZW$Us4%AE~6#FLq`jNF}@EQ>aJX_=n>JPA0adNkKFU#c`SDn1TGvk&{z4t8+~aV<*1%p)cF zStfz{{vJDV4x{$*fV&n?x>+gqGhSVRHFZgPYhhW3%4g(Hl{zcOyb7YCmec~x1Ncr| zyp%96B)KPR;X90GM~(8nID;%(VCN%T%OFL#H# zh?cBP?h{&?*8|7g|iouyc+3XM5$+|{A-Fqh#Abs&Q>tF=~VvJj5+orR-5RD3MNK^!#>p=`+BUv%^yZ2@LXV&fDL@SL))A(S?w+3UL{a18V~Zq06)RxR1JH zBfE^P_)i5yvAZ4$vnc1HAee3$)g%b7{0qOTV;fb)t?pyC2bJ4Ju}r5X)`b4MNAQ_C z`i$nvB1%b+XSV3+GJ0!y^PS7tyiBfKn4O*&wF9ey9BT~+fjE3sK+g0s4T4p=$4+D_ zlfdvC=bQTmh&r(EMUKMN=A|E1Dpqp%@kDCF18l^CJ!QbsYjw(YS#oGp6E9}&P+`L+ zP3vhc80((EX(xkYr(o_je5^2{5?^_$z8KZjH-ju~Mjj|M-=}j4q^CKEPCr>5$B#g> zsw{qV0P_5A;+*;E*hoL_q2g-qD@?Rm=rEZK$t1v=*7}PbtYk1d3^rtP2Y-2{ z-A}E%(IyMbv>R=J)&A@gCKs7vqG2@dirX7tL=6~g3`O4Kc*<*oOzL3~E_Sqyid8^VAq$*UTe{-=Af zcwDWE6=_EGq$$O^8QrVFjKsRR8?S3KmPk#pZotyrtUBk-C@9DmkAz6xx7-Z3z9`3YIHNH(G7V0 zv=V-$?SDJR=pHF$Px%sYxL*@1Ab!39H@eMq+P67ARfKjtRXal_^{@ydNihWHli!N} E0lL9p#{d8T literal 17853 zcmds9&u<$=6n;e@(ljwjxghaVB&xhpyDO@SLV}7CH%&sFHYBN=MnE*#o!Hav&RF}y z`Elb8LP$tRhyy~11LD*JM>udof-?vH1Ek&}ab;%KYkT83ZQK{Rok)@5v3J({<;}P6 z``(-V`2jq)2kP;YBxVgdL%fn4z0J5Mw#S2Mc~pbNyYQ=XE23efrzA-%oU6i30?Ok^o{H5H zc9)T;#+*elCuT|2r?b1%QKxpYQ(s^~-PgxoP~#U` zw7h69$;FhDKeO=DkXuzn(w0*F{8&9yvpLlGeK31?!YqMJlU^EHzuJfhn+%W;2e=*rOP$FxAuej3n;wA)7Vd%u*F(G;i=V29(jV0+k zQIVrbpwC`_R6rD#P6Qt#LZ^}p*nQTVX4N_@~UD2ux4kt8-UYLZP z<3~)p2`b;0DMPVU0@D00B2&Wjg;=-4G5{+da~~9v+EFYh%f>uJNheB(u8x){NzR zaRM{ftuc>wqB{J2<7%cUDGack5` z-&!J^`Zp8l4wZZoMH3yPW`yA7|KJxqXjL-YX*L%7P_{jE%0zBrGr)iM0eprBzTl;r zj8PVqg)2+9g5RE7dFN8Gtcf+2-ew?2-N>mE&sn5VB)3y75pQCSN6`Y`5~z@-BrvG` zLz7Vl8kLa|wF)|>8Br*$G2t9W67=Xv~zsnux zXQ7a<8NhP>bsw2lcMV~z%P)tsT|*Uk@et1#>_Y~nD%K>>(@j3#ZJ##1XIn&e-g~yd z>Hc&}cXwOWk|xGl#^R=YP5~v{f|1sc@)}2T<{A`oFDr2FP;*InOSUh)B|G(&EU*s! z+@U7aOHJ3MdyyBlI{|K1)$K@B2N(h7OUo z*0814u%*_JByeh@DLCv*a9A+YW0vDcmRFidLAD5Fc5Y|cxdpF3EP0>r`fry6-(uBb tk1NS8A`SPeas{NHx8QoOnI3jE2d7f_j^@&4DCAyNU?|Ik;B@v^<$rv{QeprA diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kapt_metadata index 05dbf778315dff1801eb8061e4aca39b5adb9003..de0cc31341871e564dd26421cc0aa163e0f908e8 100644 GIT binary patch literal 16535 zcmds8O>f*p7=Dpxo6m{_4wV4WDiN&J#&aO0sZxQGZ5xFqZOEpZwwG#RPd0AtnUy`e zOL71~PaOCG+(4oyIB-RR8y9{+5B!22P*2=AF&?kIG2WD>eK&L*DN=S4kDbTw*YnK# z{`drr?E$gyHtJqv4&2*}>fJxK!55O*CBvb))U2{&nzd;QPnXA5_a)s`SmK-21ItcKYBk`xd zVI2t^+HyTnlT^0M_om_Z(87#{<*Mhi>oi~kG@7Ham*Hz@&eUouXL8pWjRZFzmj`Ic zI%F!Xy4Q3NVCHA+;a|}bQ-Vx+eCaQ^jud;h#HWjln(sycP zz9XA(1Ibu?Dvbvw!Q=}xOoC-z_gLqa@rh{U2W(7kn~%xwXelVTEINFd*PM_seni%y zg8&&EryhAc7Cu6)V{i*8 zGiB&3yXqjI42J|`A3z-moVFqb3$d`d*pjjYI@OpDn@G^ewg#q}hGUZ*OVi1*Z_&&q z^Qm>#6d~?efer%Ve>i&^dxVcqm2!vq#+%Og5L$V&?I)7>z)zWu=D=Y565K`#IL(kn zDnqew+GRd#P-%27*CA*8JNWpy&`Ib(;h=wGVaa%38ajif0ar!Pq+B&im=DTvXg!yq z6q`XBOlCP-Q>coy(rx}AA|mpdkSz?ec;gPAds{G4Ne_Y_-ba;F5i zocg|3Zt5WLg8hL>D@KA(3E+AAXJ{Tixb*Fu3|S!B?51v2Nfp`3if(K4DQ}RP3_aeM zF9B$0{)8(o z^5gj$nsM!TE;Gcq5>4PgrvZ{i`U`Ks=SUW&N~?9 zkY0*e=!d-=Lz_*K4j;XgcpVa|6T9HxK$Z8*DaRM-xKfVc& z;SQDorRw%n*XuGC+N}hP9r8PlbpkM5O))awaE6Y+KC=!fz|i#`U+>Kx^hu*lQ*9x zB+aJsN&32C^~8?VlXItYOZ(Il3ofKrWv}fSMVE;THD!)&r_YkGZDmpW z+4i~9*=u;eaAo$02NU&)0zHMv!cra1t5@8mXexx*aeZrRhGxeT+;+^+?1Z7&J%(n% zT<@|&GP`YcWsZ4N;`_#QM&JCPNp`zC$!@DjcDtV*Yv(q#z$@J6IXtT0jq+7TT)BR9 z09(*t_Q-;*$b#J?3wBBtELc2XgTv5`x4M}=H7ZqJ+i7`i!8^t3yR(q5zsGZRCY;QD Otiw=RNx*RWQ~e*iB}l*k literal 16483 zcmds8O>Y}T7=Dpxn=e-+aHs@`R*t|c+T8;!O_d7NxNQ`gv>{HNwwGwKJF%zT-LZCN z9g+hGdg8zj;06*s!GSA6+_>-qdf*rIfO_J_iP>52x{IAalGh~TNI7KUnYACkU(Yk| z`@?fMu>LS5-@EEcEzRIk={_w3*z7pPjpcMna!QV#%HB+>HYoN}-;^nlXFGh-flr ziO=&Jq~X&W+tf*(>txTpz=D>q_g_fXFXZdp_ah?L2?z_Fhonu^Zj8@hKavWPks7Sx zoL3G~Y?etx0%1HZU%*{lT$V^k8ZSFXMDIFTZ20; z*FgZId@lP$4hJruC%B+M5-fyuMz`*no`S}{$A;v-@sRw6mVAQid@EcCYi>kocqF!> zg8+`rr!0Ex*KUh}2rf9ehyCx0E|*EYbCu`)H8~Ny9z# z799i(QR&88Xz|76aVV1ryvl+-&@ly=Cukg6wmVAi?Km(!TaQ0QbEX`Y#9mCtW#RmhCh>^^sL1mt-HEpU`izM_S&OC<;r})2F(}5d*0&OJVL=SL#;AYj29J#~MfsVTK z1inUsPubma7QU6q?f=wH(^7tj@wTaAKUQL7A(OfRC2d=(90T(^Fxg5iuk;K}3{j4& zIZEY$`LLY%Zhuv#4g!1h{-wsV< z&{C3}m+G0bLy#FS)zD0<$viq-rgix>&_UocB>Pe&)r#&%tmr~MnLlu7G7ykX19(Id zClC$Qf#xiU#$4KnHU!D?@^knR55nq;ce^Q)hacydE}S|9n9uwUUm{`7LlqCz1dLeZ zuIhN>;o5v{=3-@0+pkoTVxU%C;k1b7EKwoUjKebVrsqQ;7Q#(#KA1WPz?H|aiG=9Y zgn53@O)sR?a+@{>Y6!^sl})TG`XWq+sCkb?xqIb0Jis!a zOv)~IT<+k^QwM=#GqZOROYNVoW)PWfHX|qDCXU&dj>M@~)L7>fyxQl|0_;AEIf3qT zlX1RR!0+69*j(7fdk+ho-dFE&xN^qRMS&YuihrXB-jh8#FHH3;)nPJMJU7$?uo?le zU?N{is9q^<=^&5{T6MHPIQcAnHBj^}VE{ zi_bBy^iE(zxm?X0l2;H`hFyGw-v6HXWYtiwpU Nf2&lnU^Fi%{sy0F(H0nw=@Tlg9R44ci)@+z5l<@KcTh{Fb(E6Wv*FR^HoUq zxB8lfYE$)m74hEdq4c#-vKR1Orj;7Rbb|#xi#gp8`;-N2NArlb%tlAV`hK#m2TU{g zPM^m-iYX6S6sZwiR{k*LQpc3ZAW|ZD5~)7-HGQmB)e74j@RdDIQ7z5XHbuBIu*YfQ zely=cJWd?>G-N{3KHFvHZAYI#wlxCt3tl-BSx4Af1L1EYR9y0?3J{$m5V(UV=6c!q zPNQS3In-i65v&ETTM4ZC@Wm-snIknirx$CJKq-Ldab0lLs#xF~{5U;SC6ww)wj$0n z?+QM8s0IO#8l5z^(Ot7g@y2SThC2&w?;lK5(rc}QrcZP(R3S9Z&%sxhhIt@laMUc$ zWS7BjS0Xhfoxt=gymSUseUt09=3z?>rEYlbDtKwF2T$Drv?!#|ON~l65KMJ}IfJGY zWVUl!V4q^GQXf)|ql@9YzvO#<#G>DmYQ=oX~Hc!I4sPS(jF zg!~2N$S5Rq0@4vVZ?Vn|l@MTLuShNQUPZicX5ArGVe4-J;Inr`_dYn>jvutO6jW zX9Ktdk22N;Nf&~oi%kLqN6bY77{PcVHl7I5a0KItq&y%g$J3Gr*D`@8&^TM>UQSz} zaAX{a<>ARo`GYCC_3rMK|f(4IY<7KIU+c$*N z9=t!{h2tgi49EkeWNBD-Yn4NyBK>lCOrc}r9BMSQOBb#b2T{0MT({vuHi*H+>|Yly z7g}k!Sy<+VI@Vdw8>h>=#>@edr%2X+dvNRMQ)7jhv(Kdm$|U8k%qO`-O-&>meb$iKO4{h literal 6219 zcmds5PjAyO6n}#i0TQt55C^1AtdXdFXJZm{(Q5Io%S6lm%>8^N2RgMoYx{LAtI6Of&dS zpT|6ktu&TsMOT%dgk0*_Xc65+^aP8$f<95}YK?98`Pu=esFh|~>muCk+w*nYujl*2 zw}~U4hD=D>V|&b;cJu{gMUMUtQYep^(9-Rh-El z$G%yLyfixpFMXQ?ToupiHrGwf!-h(vu6fN8_-LgAPo4Quby-NES8AnjpP4o=XUL32 zm~ELhSjfxZK}Ya*YB-sI!=jB))x5k6?Tf(NpwIXljrs7ewZbNW|DY|e9KpM(L1}u> z9LiIXEJfrR7?Y{NI7o3hf_Y0+j$X3z30_PKyYo$UX(uq*{GU$Gl@IXIEk=c*1Uqn? zrql5UDGSPxMMx2Q9;R0VxC)Omo&{+Zf;0=kiE`OMMKF#Cw@Cnli6HMrFqp`I_ao!MwBo_dOyCK` zP1oGZnF`c^45L+Z8pD`tG7KXbFpLC)7sU)1M!PP!s|P!ynjBBu1yz_n=n3=xVEiXo z>j-vScKpA4TS)D}`x6cvua5tKFi=X4O~`JoG9)JkUoMX+bZnfVMnko<;d*iWgd4?m z6E0`-7hK8ywc%Q!hlV?aWp1crE%kzNy1ZY^93Xv)WR156i=$7SD$Kn5{NRN$Nx3U| gaO;mP)xE454uklN@$13;?5wp*UP<>C&sa-;1D13bpa1{> diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/adapter/RecordTemplateAdapter.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/adapter/RecordTemplateAdapter.kapt_metadata index cb65e8933330714c44a2e22eb0d360b76647115c..141d9d32765fff7d828677f67444fe52aec84283 100644 GIT binary patch literal 6562 zcmds5&u`N(6n=xX0;B;~5C^1A&`7I&XJdkO(@{mPJeI0mM=m) zdDmAs6uV;E7m{wjjk&Lw;M)P+CrXGxgm*~blZfISHo+tyLq#QiMfKCc77d33qUhu4 zY9kHU*TtBQ*4mk0o@o=Y>Z=Tyv6js z$)Q?iy_K#1J5(fn91_NHpX?L;w$nd?_LK(b(gNsz>2%|UKVbfzg{{jXMLCrff@}@? zt|5!4TGw&a>?WR$6&qj!+_KlJ5N;pg@B(nN0oLr!Zk~{UgLGeP7X@>*{PG+A%tGe? zwT9qrNi}Kq7#%$kgMi9rH)Te=uh+1-u_;A7T<&-|$2qXRm?!S3{pIQ;(&b0+)4jvi z7!PLM<=8^8Q#uz)a0viwnfZU)9X|xl55}Kjcc%07-wp= zd7*(-a!k$jAao2py$`EXY zDp7q2K9>Tl?vFEIPsO!LDX)?JPztgsU1p$W-C3o2+=K*bM-Y^OX?57M_6xqdMyzn4 zG6RDdw5CIxQED(Xs>xI`F_KHB(4@`%ct|(6VrpEeIIVwmF2@v4u+@ptdJHel7NZFX zoLT6r4nn$p1h@uIt;l3FCS)`wWVDkN4IVNXhmwp#MvO!z<4_6}I-YT>9^AHj6$n;R z-^)Z9v$;`U6AP!QubCySzM@opwN~@$D=K6U58_#y&h>;sqlR~IfzFZ29LN+>Wcs~C z=2*JRxbomj!3!r#Z^^>Qf#Ao6f7f0s5@b?DCMS$LcVEuBCV{yFnrcEuez=~WuHi=h zx&v42Lc7|#r3U~2 literal 6546 zcmds5L2uJA6n=ws0;B;~5C^1I&`6toXJdkO)hH?;p;3v`>yf0XvC9+qp<%ZV#?hsdZw%sviy%J>@_QY2d>-QA zL090A@AF-s$8`5q8u^0pXg8pTL~!0u@E!?#l2E+IhL{9oAZU!AQ+ao=L&HIz2>LKz ztp-F8_=aC3G)}TJNh&zr;(i*^NF>r0J4jiVk>r5kCw!YX$$pQW zB~)z5sH(R!N2h}IvBGW5>$n5kJNP~W*mQW++Y^UpByiqbuQg1e?37!6!S4y=&I?+V zM~#?D!t5}5^oaKZ8rRz-3S!Ozd??qjy09Jdbg$P#x&h4)`lSUUGzz_TW z+GJ5M>MhF_%sy$&p4~DM$m{zYYUyGNWP4$^mhMy05;Sb^G!k{Mi$TV5*doTqaQ}ODW0}J^k^3HY35ru}e|9^vSvcV;)eUU*){@PfyY`_QmPVCsuEIi$-2Z2sdPhGx*?@LB9(5a&_K~- zx@~xHQ=es!sA74o)M3=&N^Q+7OjBD+OHyq`h1#mEj;pQ6NF5%eqc*K;2u7odbg)6& zD5MRfYA8~TUM6j<+-8yR;G8d+tG2{)8CMJH{UNea>1tP;!#;v>0WL-*49k?p{ zaY+ITy^)z3u1(I^m-HYBm-Vj>ERXg0aA)jq>Csaye@(_|*~02b$?rmXF!12+=v`9} klP_?icp!aJ8FL=o`e#pfPZ!%WC%*^x_1?@;XD!r!0OG}<*8l(j diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/adapter/TopicListAdapter.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/biz/adapter/TopicListAdapter.kapt_metadata index 3b7931a1da545e508d3f0f669cfff6f3c6fb82b8..4286ee370b9bfc9cc3270f198b9156f2103d3384 100644 GIT binary patch literal 6712 zcmds6&uSAv82?%;*ann>7mGqM9hst;2uFudW^7(yMp*=mv^aCqdl>q7xFF^ z7*5fP9`SpKc-Z&(5N&a%?-3??2s78`)P3snHgN=c%(r<3w>qS9M3B;pBE3cGbvwa% zifX+Wub-W#=R3&5l%X~rVEMGEcd!qHg60RjG$%7J6j0?3bq*9-gb_azD9smv7(}T@ z#FliRLMa6(*pTk5ZMWb&5RXJ;p_R)ng&#! zv$9XHAazQHJG|o(zfcR)92&?qq;72cyx%QVt-mnSG{xFN$^o?2QYJ#=$|`&^YMf2V z+)>k*6Fy;p>I|l-APFRExUPQ-EAZAFR(X#PNL3I|Co0uvAfgJtuKKELi2I8m^Hi9i z;;2-eMNHG+T-=2{gK)NpP-vEUpNWE1%|z%geTH3w5IvxbiuJ+_#$=lR%sqp)IdH~O zSC9mJ-J>>~ec~K6n*1;mPLPg_k!cF4TiBa_j(1uK!56t=7_@5S7Z zlB?+5K=?FzH&!C)T|49)v_d6kL({u@A>ptVc%!(ys`S)cwjJL3nf9lP4 zG!a-}r)-`oTEcoOJZvN|c6bYJ|FY4$8`b6@=cv+b>(aco+LZt95X>yN6YbFnMQs|X G-#-Bk)6|s! literal 6695 zcmds6-D(p-6h5sLYy*nmjYXjtFS6L|JU~j(rlE~Qq*!xNkTBUDlSy}H;_f8<@m}m( z_y9hD;DzFaPvC2KDc(A>f6XSFLdsN{4Fr;z*>fh}`Tz3yH{3i0SOWQ4kng+j(&8>U z?e+w6d55yOzIYZc6m2Xp zd_%8&;`xC%JP;ghb8FxdCVZ)eb_cXavEQZW1>fN{+;K?lgdn9B#cIpc?K{EqWwl;T z*3YlwdlqsrWvGXTSU#=mCzyvqA@djB=#yC#3a6?=twRMCVZ_S=NQ-448bR`j*p}{7 zY6KP?2f%M0xTE4=mjfwrBdTka)Tt08O4u-uui#aUX1V^eq9QzOq`0GRXu_Q zX;N~u%N?6|r3PlU$El5mat*1C9gh$CmAY{`D`hGU4W#TJYOUlUKyIwTSFN_$qRbw( zj6UHL_}Aw(M+HeBuHIqkTUvz=`k*Shd`RkoxM7x39R?z*=7$Ae^$SU75u}|O6I7g3 z>T?Te8qMW>IM9e@hX@5`l@FLG8TCBG{mKv6*ND&tWmIgI<~1PG-m|a=J$=}Wr>(Fp zZCODQ=o0I&)#k@}aH+yBe7r)~WDo|as%6EXm5ikBA5mNGqpI54;>Wot%@WVEE5uVa z{^NK~g)<* zQX?AK9n3oDmGCI*R1R_ys6Tb`K%tYRAiQ3F7AAoiNxyJxD13tF`kd{0!7?ii8gYnw zl1MB-E#|cptz{}&%T$y5h6Kx0V<7|wB&~2M@3Ml&Z{Rx$`n@A>sMVLzQj~7bGY&GF&GUdf@oDwVF84M0fv0hQoOC8vAE>*o;R3 z1I&!WQ$ z_Ta_rLKVDjU|9o!e2~fTOa3#-^9MTIA#{LT30yrvLkbe_9@iF2Siziv=JREus1=~* zjBkkrhzwp3Mv38=f-=_N4q;u_?Sfj0RZ}potgsn+!4HOOgSjMHLyCJq6Y1s*CW>hg zY@%V!sl~T2fIeA8yr1PZHOKosTSCTB;Y%wYZ~ct_`eHQ2k_d&@WJ}!Yvi_fMY|i5e zP0QPA#+q*hB&L^Wk~6F~lTUQ#fysi<&A;FgT%d^u9u_Q#ss&O60Z+;a6dL%TlEu8% zY6;%a$ODH|CFj#k?U%eG)v`csFCq0xC}G>DXJOr8bjoYx WFM{-~UeEM)@pU=cA1ONCx595B-_m{n literal 3281 zcmds)%}N6?5XZAcLBY4^MGrM6FCqo|L6O!fw)R@mY}!t{n<@Ed**=bE?;i9Kd=<|g zyqI07-n?vJT?2u9kV*I@|C!0-8`<9yvPWDATs$}O78TATa{{?k|0SD1l8z53$x4)2 zD#0u1dBCs%8RDjI<5IKu@S>9t`BJEn3nwLaqm^?nJd|(&G3<(@2io{~ADI& UdHMUfc|H5C9PBQX9PV19PkLIVj*2b$ireUB#h*T#LW*~oHqEq_ z;m)17eb3!tDZc)Ji1Eyu_h*A$mI2|RF%h9OMT2yElake#tB`pnMHQZH9S}PN+HV_l z`?_ITM{v_vo^w=aF1o#49vldlO?B8h3L8@ZXh&xoIyL8TT$_I&e^`AubSi7{1FUsy AU;qFB diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/Repository.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/Repository.kapt_metadata index 671653ac1f9a69376aa4f1358235ef83da11afbd..e5117b3b6c178a57c8fa4377e086c27cdf3282d7 100644 GIT binary patch delta 915 zcmaE8{mFVlipEa;(BjmhV*S+I#G<17a($QlH7Xj zpvbajASQ0%(RxQA^Ay+tv6b zrcG923?@mvF;f_^>Njs>GGWvq(lJ#G3@i*_7p-8KO{@)I^^9!uNl-syasqq15s{A4 z_sw_DcZE2ukhOpEN{$J{TD3WmQ<0Ha#Xx^doovsYMuPf47I1(uGP_Pr=b1#T#?6Yn zIi$JDi~ro@4MIHn;6Ny`W*{=;z&?5@Fqv3~fz?|IwUMO0MmUHB_2#UQhBjotd8#i>Qb`l-2zMMe4L`Y!p&rManjCB^!Qc_~Ht hnJEE9`B|ySC6iw>&X`=t7)*+WhomT;HMy6$5&*jRK2!hz delta 157 zcmeC=Xyf2q^Ok|Nih+Uo??ld(>bvwqi&Kk=^>g#n^Ak%;^7UQvlS^|`^Gb^Kt1>b( gN;9)E6N@u4C%E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t4r- deI-HdoXOLe{7F*3f;o=0TrM>^e=;|VGytfiKO6u6 delta 151 zcmZ3G_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nG^4S dC06NVe&+d;XEXVbp#B$YYI1(L^khC3X#hJ&JBI)O diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/db/dao/IBadCaseRecordDao.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/db/dao/IBadCaseRecordDao.kapt_metadata index 68a6fed91d841619cb5b5c7fe82e36d4e3648029..bb376da3f3502e7bb805915dae7e65022eb8dddc 100644 GIT binary patch delta 238 zcmaDQ^iF8PFOB2+p~b01#rmnaiA6>E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9Z= z8T%NCRy|pfaq;9z=03+N1_l-eO`oj9vPAuy#JqHU|0IxU)(phj3pVK$OBg9uFWJn^ U_MedzXg6c@#0goGD>*&_0MG_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nUk|w zmrOp!_=*Jeizinz_c>_#R538HFk~f`CFtd#f1}v;VYZ=2QFJP9QxZZnmEyqUy4RBpV diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/db/entity/AutoPilotRecord.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/db/entity/AutoPilotRecord.kapt_metadata index d9ef5a0acd03b41949dc9200fcca153e30cf41a5..ee31e982c1df0f1cea053795de6be3017a12aab0 100644 GIT binary patch literal 12384 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 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/BadCaseNetModel.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/BadCaseNetModel.kapt_metadata index 05ab8cafe36a16473ee9c9413ce3fb894ff6ef8a..8c444f44a88c85cc3b7a605310c21b6bb31fdc73 100644 GIT binary patch delta 236 zcmcc4cbjj*ZjD3wp~b01#rmnaiA6>E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9C( zS>`hG_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nUfn? z=CLrVGfbPjk=bYRMMiIuG_of!gn={~DcfY`WtP}!XofM6U@;#vBZE(Jey)C16$1ma U=VU<^4^pgWVrJZ|$ZEv|08;-~*8l(j diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/api/BadCaseApi.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/api/BadCaseApi.kapt_metadata index af91d0bdaca94ae3799b5528bafe36c6df71f26a..3d87bca3e4e30bcbcc7d33b7b6cdcf1c00e9568d 100644 GIT binary patch delta 163 zcmeyx{g->fa*c!fp~b01#rmnaiA6>E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9B= kndeQ;VVp&ZhPjhZF$IvK;V4HH0|Vpx%)Io?d@OGm0roCG&j0`b delta 155 zcmey%{fm3Ta`glHp~b01#rnDV>G_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nH$er lFcPbFvOd#WV%1JOKX39QW_6Cty!0vt2F5p=1zFxO0sv2tK0g2e diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/api/entity/BadCaseResponse.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/api/entity/BadCaseResponse.kapt_metadata index d4d3b4ef5a9945e8bae3496a7dd05d0d79af1f2e..405ad6bd9d6a02d57accb4832c29d52d44ec3118 100644 GIT binary patch literal 11260 zcmd^_%TC-d6o$|AqH=3Dt<-XDCAyd_h<9v?SQJn-5=a%aj6^TUBxVTA#56Wg=;b|- z`Urgm7F~7KSAZwzJM`E|W=5ops5D1R4HA+Q$CrHb=lC4^eE$u%j{t4~{+00m3A_zt zgB@*cYu1o8xgN+wtZ(kcfsSOn9*TXgrK~Hq!NY(n!4k16RitHd$YP-x-;J1vb)*m3 za~{s&6U##F%2nfp`C`>n~TBw!65#cZ4Jb8JoWLjI06)PB+t3%TYF5<7)A zL_f)7L)F{^Rw}_eDqvb_UN^|B5pe6%ERDkk6}Otub7;@XUd27Vp-Bst6cQ?yC_>BfJW3}uNyrg3xuj~j zBFY{z&dg0x0}*lR|bWJ?UH@|E#woLrmHrwIvV zn1XY1aYk~Sirh>TM|!q=C7&zJmuigwM(tUU`;Cm<(`CVxj3=Y8n~qG6tQl1hM3T#~ zC6=Cp==Ncg7+tW%<5<|>*RiRrpNI6cw6!HP=L?`|yRBD5^9g+Cix< ziIg5GigYgZfG(j@YXlrPtt%bFS9+=DT(5~%kKu@zDQa~Eoy|)K)dh{7z$ap!XihE9 ze-o%R0{`ndedz>th^aQ+`m(p?U|e(t4Pt;O%PcS|uQ{}r*4#!bosoapTBav3WTw&@ zfu731xuM7dcK7yoTbi7P_q3n2gQjpAszl8G4_IgfZvMDj+F$bk0pJ1jo1nv{&A>pj zSb-s9_|5Go)*cMzSLPVXv`F(FV7OUK-Ilf#hy!e5pE9`-zNzp{Zo~}!NWMvB^gE?8 z`dKQY-%4flF_qEBR7O8dW%SRbGWuyOI_tqmKJfV|;ne$ZzV>(=M)Fe8--1WjgL%r% z+?@UTsR8$3G^;5#!p;r8?35D*TjdJe#a3yBg=x^X4)ywSLk9hMX%+5ZbF-ml0bj7Q z_7J+3eZkAQL!9r|^FW`_5x74<_2L{xZ}U_Le_g z9P4pgZLx8t$TS#%Q5@;QxMUbRvX#X#%nUB}zX#j=NEm9nScCg^a(3&uyn$)Bg2x`* TYrAROrh%3Z0AsCk@n!x1rFnb$ literal 11228 zcmd^_%T5$Q6oyZGi5Jj~CSE}kTud+M+Og5N5Qv!sH=>Z>g%myIOu>?yjy&fAiO=bE?kw-*A2d;2hvzg#Y*9b*egS zqqS^UM>W-As&cXTuA8Mss%)_#*0@ost=ST9q+AP@i&dqiQTaN{gkgMDGLac+*4Y!@ zn8Y`p3%#l`EyhyS5b%q=)FRieZQeDCO{uio!5SL-l&!8@mRz?ad#0YMY2Iv$>2<;E z7+5)maoJgIyZYny`S|Yh-q>`WvJRISTjpyVYmpLD<)-0<*#ZNn>~Uu3MK zo5AslB6vf^%P7O!1ucDVlelVcnS!S7mf&8iXSB+(KNI z5gexi_ef^aJgyCPu98es*aGg101>(e&jr^i8AHs^1e3<$TpDH{t2-2egQFC-r1Yq$?sobGHK@iQ%DNS8tq-P-7m} ziD6>=i!cutaCjqdGI!^rdH76>6!q!dnbV=sHTXgd6g64^J)BNY=mAnhPZT9O>0O^A zYt$Qo6Lc;YZNgW2p_W)rhf+6TgBU3)brzk>Bg^z8og7C$;1e-UG^GybG0D>zf&cqB z9-*!fL*4b}Yw<#O(a;Wbi20!?i*Ts65a8xnv_n3vjq;~012L1%2)GQOf0$)+Mw18W z;cn+f6Y!RHPKRd(Ct#ikSrDwy2%P=q)B1`uxGhYDyAGFZsNqs$;PUQe9fqyVw~u9J zVi+p#?1_`D;jov>VtA7F7pn z0qnPBWXDzReZWZHP4$c1#}@BaI~m1J4vP7QvF$R{iea?>?k`>4#n#HVt9{+;E3H;8 z6zPKyxPv|I8;{(=hFoE_4?BYW9q*w&4-$s^ZWiF08=TuKt}WprD|i;e)xL+;W4hd1 M|KV=$y81DH0M9;ing9R* diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/api/entity/UploadResult.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/net/api/entity/UploadResult.kapt_metadata index 20b4234735f2a755e06c439ce41152f40581e746..f2df2d025e3296e83ecd8f6aa356eb86a95bb703 100644 GIT binary patch literal 5066 zcmds*L2eT<6oy{~NNp&vfCYlG%4WPsd;ky|T2+y#R8d+%3IxYv28S6t*iNhTD!l@1 zats!^37edN=Se21NJ=THD>9KHc|5k~&8Of0d!BDU;noSjO~Bs@{_nwCt}}Y_x#MW2 z6W!w4h}Nf`;!bMSip3FgTBnw_S(l*is#*L>*k0!x{R zHQ!&G_Rk`-hSQ8mMLX<>;q0q_oB9{$d7Z+W5UW=+o0JXJAdswL=2+QS4dGo7S=k=v z!rF6i>*MhB?Cp2$w^Mxe5GLRX?eNhtLi}64kgju2~||ESvmBz=J?T`4!Nb%b~Z+NNp6z z_?#YR-2Wj72R6Qy2k_xy<)I1O`2G*){AW^0_dF_}@(jGbnA+ummCe=+eiy00+VtE6 zm1(m9>&4+fDo5aUapjK+t2it#g5gooT2O*K#3_E1-y(HiDA&i^mcZl5o%u<)xDRJs z*TBZKxgbC1tK literal 5051 zcmds*!EVzq7{|W}khU`500#u))JuG5{Qw{?Y(kaTg|P`bptz1nT@pLQ&ZO>DCh-KE z`W9UJCS3Xid~ut0qTSe}TBE5{$#HDQ`RV`tzt8#k8}6I}+y?w@;Qs-9;5wnFy}qT1 zj&z6XOmx2Hid(5wCln{lY8@NeWg%xq&`hM-NUO5}Rl-u1N-C6`P{PlJ4u*dXGi1*c%91Y=D*TnN0lR{y%0l*?VBhdZ(Od5 znTqIv&7_K+-wZ%!0;>V+ceuAsOGv2r>b!gntOQHQ&jO9OJe2=Qi==uLzp z$h;s#5juoR2(Fn7oe5l0%TJ?u1YIv6QHuwYVkIE$iivLw+zT@lU&*Y!W@`Jl(8iuj z&+198{eRN0FVow21fQ>|J2Zh?KdyGPe<78$FN4bIE`xX1gmxuf6|=Mqzl79aYj#+I z+N{}v?ea(ftXzVM`MEvY>oC6* z1r6-XnoBaXTg46h`vJ$F2t30_T$0nbaplr=3EVq>)rN;Sx4hZK4`zZX0{72#7Cv2@ UTM+Eb+l#LRn`Mx}R@plG1BTaY2mk;8 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/store/BadCaseStore.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/badcase/repository/store/BadCaseStore.kapt_metadata index 7d10370f8003552a4e6ae6f5391e98931eeccf58..bb87a0815d56135d62bf8cd6354ff0235cce576e 100644 GIT binary patch delta 576 zcmdm|a#CeNmc~K-(BjmhV*S+I#G<17a($QlIC1V|8MYZDsjpz4Ueh aGYJ6oGwA@+fHi}AdTNPJ;$~R^MJ52pbKkcB delta 582 zcmX@9vQK3~mihtx(BjmhV*T9w^!&uql6-xa{N&Qy)Vz{n{i=-2jMB`k%*5i1%*hYg z=1$gUj3-HbFjFK+>I<3cbnv>Tih+TJ0nJf6Sr(IIi6Yw!V%2Yc$fnC^kX&NTa6lhy zHL*c8Z}MG^9-?iT$Z5_yivKgi!kiL)sT}^*CneH&j0D7jkJ0WzyG5_#0XsaL>|?y06w*(BSyF6f)pHgs+ zg3AMFx#H4PVZ%hfAfw}HA}!5Mm8Hf`bln*OL3H-cGbsm!ZDfv>IjJQn_;c-FI>VZ>I0wc)cjl z%;!nR=`e$=XGNE`g|QO=s|th(2^^;KQ!z062lQRL@8=%ZgP7b=!=qdHenyb&40q|D^awao|ONCUOhR*aOI7= zy<3ir&7BItkdS~3#y&kg^{0M^*N&4i-yB-qxt#jUGQ@hr)g~=fcl4$oz~=G6Te+s2 z&~NXYXK&nZ)$I$6R_;3X#eezm2??BzTpo!B-~xP`1VmXrM7%T~BC&LXy>;ImNvO|>}W~sXqSsy-6`*0t{@tPtEO9jv{7Cx`o!YxOxpWa zaZ&kmmn(?G^Sr@I{S`rfMTQTc3>o>W<-0Z0i@2`gaFV1`c>F928&h-QGs{SpcY92e zPU76MxCIOG*Ltm%ZLl5dg9cpB@7_M#-d)dGoTDJKm|IZ>p-@2*IJ1f|5Mr~4?jUCj zj-N|)lQSu&j CasCSc literal 7512 zcmds6-)mDz6h1=hD(dbktFR9Xf%YMRc19`6LW@$OFXC}d@ zuljGuzVG9{`s$(y-CcySz4J!ybXl3hs>ONznuBb_nrIC2bg^ZFa!8H zh3_kHH&79Mwtrx0q}pmXP@3=Vb!A|MlDi@AF{@O^&__asLbmDc^s~-%i%HhzdM>If zY57wN|I#hPwMq72U90Gt3c3-O*5LkPzbg&|Gy8(J)E%|X+8w^$=hWq+gM5o3iaW{r zMHgQj#z)s-bU-5}Bt2j~hO51~lm${zK06g_Yu+8mAyfx&Wsx}i1)nO>>HmpW6Hyve&b*<>orZ9E_UgbkDA%Tg~K2-td-a*f|_MUXP?mJ#b<&GBNq*vbgj}ZGp z7O7C|^^w8Sqxx9cj&nV|Xy}#<{Uh^f*UHRo7v6*M1uN8|$Mr^_IhQBBxPE-?e;#9I z443HM2aqKsaI)LM#lPUbZ=GQeO%dDd$Glo=lvber^2*=tC#1d_$6INSoSsabzErsU z*5A^tI5%^%%qS!zF!Kif_BRC&V4a7 zf%9MdvkkYEoG?LfH%dkW1cCzuG8!O|u>nF2)+g@q)l-P;W2~6ydndh!bK)d*;tQ30 zqz1nimlfS+F@g?$GiPIyy`76C&c&|eQ{60PFGdiJ+^%WruQta^d2^V*oJqNFR-eK4B<3>iVcPnK{c0R;IJvtQhFi2;KJd;#jobqI#F+!ekawqO$2e7D)`G^jso6gYRV~t zAGjAX6=LQSrQ{_(mUQAXp+iiBqa=4aN{$%SxGhg*gSZ}RTrnIKfzu+Y+z-6CxN06*_i;E2$}Y;m%n})w=|pHKQB5(FrBnB}n z#cJRYqgq|9jCidXX_osNL%c1z4`%Si5?x<9e0a44T)GRx)>vvU65px65bY43Bp&j- zwhxS-Hb7WnJP915cE&*as%cvGjD>3`Z>KF|5isVyIsbfiU`-Pbx#0RmX**;#3MKO! zzS?P~Vm&pAf)U1MVyUHa%g*$*o!7=Jh4*$?{DpddIx(ArPAmep8SQ@KKs=EF(ARNnLiiVn(%MTb?ha>bDGbAm4B2V;{;QTtYkiehRdpFE%!xmYD1 uul{_cQd@bexF%)Xrcj21#a)-Pf25Izsp!F@^iv<6+%O&J-S}$DgZ==e-a!=r literal 4263 zcmds)--;SB6vj`X+7?=kniu0Pcf%-81jU@W~Sqz8H=) zjzl2(o{+RZh`Fbk;C-J?h!!GL_>^&<@c_S?Uh71@rTT-AXKlhsKxH9X{Bkg69V#cx zqwpJd6_qNPo5Wh+*TRb<%C$1jWW$(^7*Rup+u}$xND$J-ImLDjc(#Tri^gGcf7Omx z=i`gDDe2*eFpfuLLd@MR_Jhu}!IS+9Z`{mRczla;X zB~lO)qgWj+jc~0QX_kANB)ko{4=&-mBe;?9+2DM^w{#PPtuvuRE4-6vF4zhmruOl? zb_WnYZ2)(KI3D{(>5O&uWYZMvF;#0IZ?h;95!j4#KHGDqhx?2({i3u@Fq>hL`3FDT zlv1%i^N4~G#b#=zrE<&7^tD~r#jFP(-Jn<^eP`-0n_E7ci3r>#`Y#aeeA(pS&`sIw zI*H6z)BR+ivl_Y5#D&tth0?@T$=k$*Y~n)G#InjHvBU&CVr7#>ojfoi@WJjiUCo_+;a0C7(W^YYnWD zPj-K@vQk$;tGFg#T&GZmy*2-8jXr;~t@CnTHg@}Prg-pZ_NfO?t{4t!oeDgo}3w+|qH)m(NmtN%3T@wZp!p@~TbH2`e=R4={^*79%0Ne!rGsSPhQ>scqV%J36)S&VHBZ%%EhafqRHiYT7C$J+(}F#TFt>Ttx&mv6Znq@J)SZ zV~dZsk!8^%wM6x98xv-$h%_u}H0l;Tz&cZ_^c5|mrishPSanuWy;X8XyJL#gb54KG z?+;eDEnRIRgQy3nhxn%_-SOHXa|}O(;^gnhRB9WWg<7#Jr|lYih+uoS(?ARt4R&0l z4V=})_hIrgp>8nCAkDn8B_}N3L5mDa4YR6)N<{(?1PKgYXZLbUKZT75NHj4kQnGI} zvx;^|naS^L9T`?$%2P4@8MY&0!EZ_pwJ}Fy0Rjh%P+p zCLP12|D8t!3HUBPUMHKVM{=?jwlT{}K&0b1H1P{wN4O;1c7`lg=yYTSV6Ft8A^^ah zh@&+%) zX$S@4N>n*PNJnAS5C|q>assd(7XXwD0U$^~j_5sAfJQ8g;Djn(AbVZJC?|@yae?Ct z^~%s;k>s4Dp%xbu8sb{CBqt2(7ly%A0;74p5Owl9qfsI)76s5_ITC$gH5$`bN+n5S zmeg!a*l>V5l<*Yr!)ufDh>cZ!Y#wEmE6S>Z1pb-wcXNcPbWC2x$K$cIl(HT-6i=ju zq5xlFVOO1Yj>o0LIJZVf(g$8l(pJ*Dx2 z{~cHvDqK6oxHYG4z2nt`Y_KYcuOnbeA;hSVA(Gu4coT5BKDc~Cyc(@+4O9`0up;BTCWg4l9XFQ(qJ()T8+n1B)nBAwbS+anUvT>iL4UZo zW9w=c8AR=%KH^VL`@);Y%(eR%%G1x0t2K6ZOO0|>O4BuX8^iRT)kF-J4R%tdO`O-n z&tdW%q3$r-Ag!XZCnYN1L5qz_1GBmdN=*(71PO#k**h6?k6I1fmrkJ3 z|HUDK1k_}`Yic`|ceSyDSzZnf9i`9IPk0gIgmBXtvRTQpB(;CB0v}`8&)tWsFntd) z{Y-a)X{2;L=@qCzNWX6JY~4Jn=)5MfPzU^Gf(g`xy{A{%0$r^bW$TBRaqoRV2c2pW#B zMF~&#-n%SGj>HHxfaZQ)k%~|S31Hhx2y#|U#=it`Jdl-6wvtBTp{z)h;Bz9xs#EJ^ zQu2$_YK(Mz=)dF){?7mX6j-$J6hL2^I?ynEh(L#!LD)VSS`F?Uvj& z-O}`?M}rFFMn;SadamYgc!T^{*dR=SmEk_OIFpH#I$<@^7_NIR4^j?Z84%Wnn&a!k z5+C3%t$_P<(5k^&P%s*`ZDU=$XEqoxKDGPO3xnDUq=F*LQncm(%hA>zT<7Ztne@B@ zyTk2-e00jsSHq%zwI@sub2R~Q9%GMN2Pyt)B5H?4|El73y78;m=|!@I!6Fke+*ohY z-l2*8Zw0b{iT;-Oi3>s?$VOWeUNaocqXJkCMvE9Byva3kl&;MTvKS4=b03^b&k{e1Ed(J Ai2wiq diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/ext/ExtentionsKt.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/ext/ExtentionsKt.kapt_metadata index bde9cb95d47e4537fd374bcf76f258717ba2da7c..72bfeeedbb8800f4cdc8a5ebe413c9583d20f069 100644 GIT binary patch delta 438 zcmbO)zg&L85{-5Gp~b01#rmnaiA6>E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9B; zIlCr@GM*((!)2zeq-Y3dtzuwcVVJyt$#}9IOA0AkyCw&-?k7#dVYUj=G`wM#fjY2| pQGT)xhZAYqrFsAW delta 425 zcmZ23KVN>r67{wEp~b01#rnDV>G_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nUn3< zx+aG)o+U~BRi>>ZsE=Z;Vqjolm@LRLg#=w)lfzl}6RUo+9UBuPv5LW7{=_ab*?^G^ n;-3FQ? z7hZuoSMIz4;z77@;2l^yac#Ge`m4gl_f`AwMr19;UWLZb9Q96-%()d}!PqL#> zDuNM}QhXw7!aIu08AT}frC|P+6dm+5X^C~wph1X@VduUhxVy?+cJE&s|^s-3-I3BloLlggk}@AkITE2^)iDn z<--Si5cb(1Up9*-GcceUZv~lz1gyVlSUXeS;H|YOr!Jx%<%R-o1rO`^M^J3QzO^Zb zai%NH5oa2PGwjMW8L{kAb+^n2O%LF!Jwk%79BI*Gq0n_IhhE-${HU> z@Rka;(L>fpztTK0XjD$0dDu3To|8i*PpP?I*8!Qt1BvP|Ey=qL+5Ah8CtrAF{mgh@ zbaAKW8!>S6NtTen&5G@Xzp!Z!o8W7xv=qmca(Bf053fT$y^2M{a>=2X`~%;u6JxQS zDoMxmwbi2PHf_$@L8%*~5$ii=5lBejl5>9!=R1*nQybS%hZ!hkR!;_sm9t55$^0lY z0EUPFX5mRPiH!y^*BcIEuF*E}bypRho;#?mjvZ8DrQl|BifiT+H=9%3!kkit##kGd z9(HC@oez)G)hWeqNMPc(k^OE__L@X+;|oGJr+VG&60i!-i{~?f&Ao6+Cc8zMc)p9` x`HQ%y6=c=99-bABU&O&&PJqCC?qL^ZQbL5;bhQhQ#&sju8@HRezpAKQ`VVvyI?Vt8 literal 5593 zcmds5O>fgc5S>aiZIo6B#DxPAQgUz(@xlp-qDpNVT0v5wina(2(bnENo7%gPcN5VZ zx$qabbL9;GfM3Fe1OI`s^I;nzxpa#vH&UeaYIkS-H1p;?fB6N=V}M(Lza{+NfftSp z$hgY4%>jS8}LW zsN$38P)o8Sone5B6h`2^A@6gldYp9Ru53}yXRUKaqKNVFQN#uh27bK15zRMdH)$j{ zQK3Tu$_44u5yjnxx3|wU;;^y~Z;X$sMz@_Hv(NOg49_~!Wqy%ic>*nSSYB`K78rw) z3vbOaIN{@T&D1b2m`63cHeezWFe>{=;gmkXOLKIZG8j;S^?z+}m=NF;i9I+mM}iBk ztu_^ID7lO5hQul~nG)J?>cN7^= zmvop?)MKxxTbr*uU}{io6w4projHn{h91+g60qv+xRd%+c%~{ifwH>tF^Jg83!nGOGJr&mi0=Z5<1@lcvz0%$l6k&o%fmIVCv6Yu1x!FG6NMlEz|6{jqT2p*>NK;{h_Y*L;N59 zhh~>nJqSgskqyl7crf$c`}n?Z-lniK0@wz#a%Sh@j$uGXk9|!7^w43bxYHX-rUgpJ zV?$GUCS8g-|A-?HJIbV9B|!UL)lK9fsi!+=X2 z5-MGV!fh$+bEe4+*3qV(&+QjZ;>t;xxN=nl13&4g8t1ENN7Z>pp<*PULXtj>sJWeO zisL73;3!VvD(g!n3xffbW{6D&VzL4t&V&^DyjC<0Q+E8$?P&bGYrUdG}a_Q4_$^KcZZQ=TA*|X zJf<4aS0qU>ltbZ>rU~sdG^f(FX0Kzr_G72nZn@o;CkJMvr+BE+f;7@dZjnU+ms*)d zVibw7plT$@1Gdnip3j|kPLjrHm!z>Jf{CBrx01Y-J;+);NQI09R7f(WF*UdI4RQXa z4I0%2+~uuQvoV-ZX@=Ng9OhfV;YvuMuj`He4&yL`kGy<1Tk@ec;6obudZnLw<9=D* zC?*z+yRTxprm)MRz)MXaQChKzIy!;wa>QR6%o>6o*N%+qjdoG66pzShxK%{{gUYtx zHY<+oE;FigxXG)PpG|K}pmg}BKH!=8h4-MGu^K8_)Q95@_6ZjolHYr3Ir9;yWKsJI DHg;#Z diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigImpl.kapt_metadata index cf70d3244ed786dbf76978800f8eeff2e4a775ba..5e5de99eb3ac07078cb158cb19bbc1101fc64c30 100644 GIT binary patch delta 250 zcmX@jb%AR_xW-of(BjmhV*S+I#G<17a($QlqBTscn>bm5*^dPE6|7YZ42({b|1(KWR%US_S|`wHdjT3WVEzCA literal 1355 zcmdUv%}&EG49C5}_;?BqyTGC31^CcZO6h@JHg>I|khLyNjGA;3dnS%NN?(HmZ$MJ0 zkhtd5NRcc{{@eM*_WLKy_5g?A&cxjr#DWytmz8CT3d#jFGT*jZSR|c4%N@5wwPD^R zNN=%V_s)!aGgGhie7#8FgFPA9m|lXnme?JMR!MD*lg6^e3b`qfJyJ>uFKU^*N#;}a zx;|BePOFcPygwRBi2h12jbMtSW)G!E;B7N-^!>!;=>78T`}>$~J9m*%GCl@#kI=A{(n eXQl)c*waD=O>nyl`;20UsfdZ~y=R delta 360 zcmdlcx?XfbuKE%E(BjmhV*T9w^!&uql6-xa{N&Qy)Vz{n{i=-2jMB`k%*5i1%*h2T z3n!Z~#*m~wnkkAT^>xhM9C^tlRSXO)43h;}%!$>!xqu~xkyyoGpG;+oBSHP5$$QxY X^>P?MVFh#?(;VUgY|-ZX9M>5E(+-OU diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kapt_metadata index ca8d064497d4028f0873026aa9e628036ef963e3..a09521ce384c0d5031303660883f1b1cd2addc00 100644 GIT binary patch literal 3290 zcmdtl&rZTH90%}XG||Mjz=IyJS7MBDDHAZ0RyH7>nx@n--1ft*K;%6<`3jzW1E0ot z@D1FSAO~-335+F6wr1;}Prhrr_iuEtKxiK&M$$QMAMx(^@N#zIK7bJ3Lu=0EC zwb5;U4+thAOqS}kf{{%ETeA2L3edRpLQh|vp7qz#*b<03a`MLFge+rG-3gKcvaup5 eb2bL(I&U`q4S)VwqAhwo`)@g1rWzeBulm0*3Cb-1 literal 3278 zcmds)K}*9h6vy90LBVe^4|w|>XhyGa%N(GV! z0fk%tePFU=8@>|R_$?Y z_2E(-2ao17mN{BQ7I_f($@Nub-DwFhPFc*v+2PSd1xCdj+Tf^);s6(-Xl??L5|ptf fQe$OI;apW2f1Uo}?VrEP+xcH*w~#dK6|Kn^)&Iu{ diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kapt_metadata index bd3b58e10ef8c4515227db91061b7b85b605bd76..e0f7a03008f55bf2758b7b0199189405ad523cfc 100644 GIT binary patch literal 8840 zcmds+%Wl&^6owB71f?JqkPxLUP_;mUsAq$Opnz0Ds0vO~k~9beil)xgacj?1o=JhO zcmWo$0r3nx06X?+knpVgDAuK9HY1@;e51 z4CbJ%#+pD5Gg-}GE~%|HsUa*zYjv`T1!FcxHZu(@j0P&mvvg+Wyo~~;*d*>$Wo{lm zpk+>6j);R@mpw(dnbC9z6&zt&cbQdRa@iU&gj`^r<*{j#{Bwf5+oAAwGnTVq`)15| z`)AtwJ7#d#Kn}JjTEm-IUY*o*ZCywThps{;`C3zj@_emQdRWWp#d5x;7gG*pT`81u zWv*07Ka_WHPl2a6IYtF}Ci)jOeiBF&^+D)-g1ZWUG-Q&niQ7LODo}ifB?TxPOqw{@7i3rG#tL`C1G9TR})Y z)?bNEUV&u=MA-(RGLohKs*_D(XHwq7P9K1(0xE{hxYtq)3YK#vSX6+8(Y#dU-OR#Y zy~Ixf|F>L!{tL+W6iKE3DMoXivkYD-yg*?^0iUKXq};LW0YsGfrbL=#^fuwbWzW-| zeJ{R&px5zV1P0^4&fW%I_q3LqX(u9er(4N`Nac*S>*JY305Ad*zIGN!XIdbgX@PW> zg|mN^)+X&xQ~K>9)9q9Kq|qG=MHd(ie?_{(Kz_Lv7a!z*sBJa8R#TJrklKUhX%AX2 z?I8;{;@57g{g;(>GCsD4Ps_L#Ozl~ij-S$g+W2HY9Uo~eDlVP%bSBNynY7kan}w

Ts-UR~3$RH?MHKdtVg}hwYqnj4TX?TV8WF8g@0^|MYlxs3*YjNV)I6_Dtkx Y&&#C|?NaF3*WReY!LT5}Q249*6Q`5pUjP6A literal 8813 zcmds+O>fgM7{?zFh?jvhKtha-muUl9#F7gVf(@im$}~t<=(MgOS*qvY} zz5oZffcOmDIdbQM#P>j)5LcdLN!O@_t<+OVCrxUc*l~V&UjO;{9S&{+902^=hySB+ z-xi*^SzlGACmd0=g-@$14Q?wYc(q11h!Vn;rYjtqD7$VJ@G46yQJ$TH zPv(-Oz6@6(4JFKb!ftq!D~YSKdV{SpBI^w2&xt&7T$+DL&ERfke77m)t-Im;sbGAn zIljFM>D#797&lkR2Ep0A?%Y^Y2;t~WDEGeBL}78RS}r}Q=B(mkzG@ZI&16k0lg09E zshoNyAK;+|JMnUYEBZq9)n&pU@XsC}`OO!2pn*r7@S02gzT)VW#7}snfrLkRgSer2 z@cx=dk35FXK~V#bFyk=pSWKoHM;RV#z=1huT_qFbMQ5?GC-yLd7HNIbzr8 z(z+{1O#_ww0r{#WzsxUSwq3~O(~RQCYp^wV4C72?EX*&yU^T24G4FC^M)`L-TS+sb zpOam)Le21z`)(YDXmvG0-xkSq8G~3Z|5ngFvBX~hN zC2CW)L2DUnYeiNgB4{05wrnm_!p#!(gre9#K5EE%ROqDK4~IW%@x!euxIm@EmU`O{ zg*2nF>Fm?JGqW%V@TtA-v`^cxqQTZAI-&{{2(+Zke2Y6SDj(~`lv~u9>rm4|NnmA! zGED$!&={TFgtuB4wOUeFQESkMjy?#30KCzHwbk^t7TjGf7&NNmH(*HvP_a%qx-p8a z7Tut3Cf%j${g_k7lbw3} zv_cwDqn?Gy*>wR-4+G=z-*)~*xlkHV2 zoN6Ddz_GZHL&M0zP<#}Wbt7>>)BdK%;!_;~jFK;Zrr8IXZQpktD)5C>cnC8_zd&1J-zv}b;rT=EE2Mbt@Z{HWoay-87}37${9?rev=r%|~H!WHaUfDot6 zwxPZ>jCQj8(guu0;FSdi?{gkBNyeJgOAIg`ILe26-{6G>7UHHVu7{Xl#5Foejg>WM zSRhd+(c{ushm*xG58Otms#-EHgO3gBl-1LqX4wJD6O#JmWkH7ZH(mMz( zfhl~$DTHPLr+fj*0-Ur%$2%lL3>!Fz1DxPfNGvPB%S?9>$utX8cRpLG%d=63ZB-Yr zlV&M?`4Z0N=gE3Km)1&z`j;GD^(+$I=Jo4we4*v_Fj`M10(^L~)Eu1~g)Ko)w zIzI>8Ecw*Dy_VtOIBsNV!_U%&pQQ~C9{n?oY>Z}P&SFGh$=99gAGh;vOg8iWmU13X rIaw7oP1tM(!o#@(0QiMumlcQ$JOga;4e ze-L`=&6_{NU(kd19(}v+Zc|EExoLz_Cv>z3QZW`h2?UiNs(tQ=Rb`>kH>WF9(=JlOyy;H5v9wCWc7I7ij zm`^!X*M02ndrh6+`UX4o&uG2cJ+!jxpKxT*b+i|zNQBVAuE!@DV=FPZgaZQ%L^2o= z?Hd(oWWD6E32?8+;)Yjv<#`+UyYRIc{W}0u3?1}9gaQt8Jw3}5|CKEMd)f^41VE}pc zv-%9Mvg6P6f3*n@^O#YjjBb%Kx<$%x;PF3G$X2$a@|5=cNhAVmk0`Xvj&rVWUY2g2 uEO=RYbY*4T>e|A}9C*4=RozjQ-ROXK%F%_p<+oFKu&9r4ytrnfnSTIjrFPQ* diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/CpuMonitor.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/CpuMonitor.kapt_metadata index db512e29db05d95ad5c1910ea6771bd54749ca7d..4a6938d57211363c42411ba2d6c4e086b814ace1 100644 GIT binary patch literal 8351 zcmds6O-~a+7=BwU6hR>IY&5o--58j}lL^F#{lLaz2w)F2u@1XKUF^=(-6;s+2lx{_ zdGTaoJbL37c<^fc51tHnXFq1UB^G5$NJbKpo!NGGpJ#U7=Xsxg`U$xMfJ-3$GUERl zJhYgL4qonXx3?M{794-QN2x>G@EJYz ziRUBYV$WlHsLZUMODOjdrnbi%d(C4z#Nud`t*{DicSvQQpx{_Sg%rc!2!}R8+4}=sI@MCLPkooal)C7*>_BTisrbZnL`M zbDcTJ-i5j{2ew%ED)U^dF$HlE$R5H2WgaX>IeEi%+yY0iqzrp=c|}9W*;weG%lonQcG$Mp{z`e&_*w)7KWCE zA~!dZL~I1$iKrDiN<{8kV*bM-aP|nm=d7#ex{qh!k@_o-cS&3$eNEw4M{oy`LNsuv zM+~#9p%hF^pH(CWrJxiwzCs7$d`qNJq7|kb#b_Srb{CjoZnSP5jlpq29gX)SGOEQxw2q~87)F~B4IqKF?$Hu;>NBb#e<867qo9lx1 zmB_u6(~ppXun1_J`rT9AS{hc8%scUW<{V6=@=BOa4VrK@73XbUv>tbRWXf?FqN{u~d@ijVa(5yON#Cnln=4M|Wg_cH~U>K``(kV(fKfJ_EW z7>{~Un2*2V-gUBiwQ{)XPEI1IN9=LfjiH#1}K+ z_CFfs>v0VldZC-rI}B?>#Jc7}hXv!Y(aOuZ29xrr0Yw2dk&)zXd#|IWrvKnC(w`ej Jf~hVyzX1taLty{_ literal 8322 zcmds6O-~a+7=9@hiXf19HX2*aZVYVV$pm6V+G1ld1h9vih{Nts2HTltcNT^41N;e| zym&Ivt2cgu2d~Ee;K^|J-LG~*R>_nQ$0ki?W_M@zd1mK*pZD31KOnyka0&1?g#T;s z&=wtQe|tw-9nlgSws7gjmd|a;1mAGzE|EgCJv_*n6t1<{^_Qb&k$I~==Zv@Dll9c2 zZg5gd5MK(bENs6+x%6;mw(YYWM!aoiEsG^lA+0v8>`^PYla<_QhIP8_@cNlxe5Ny|UU^ zsBf%PR;&79AHFd_g7a$JlZ4wEM)~2|S#XCzAS1gkicXhs6ao4zdhXi**}bP~46~^p zbQCsA%6r|TGFEg((`;x7UR}+$s9a%=Vb(OneFV>y7rhk*0V+}0C(_O^>!HT>C2Ly? zu1od;!8fNLF(~vLbz-P2_q1L@NuYVGwV+s`{ewC(a{y&!W-uwbL8LHr3=;Y2fs(^o zfSqET&@egVze1Ma4}-wpOMXv^u9mAll7mO;?>pJ0ad`CfL|+|16<}gS@D0-TsbQA& zO9G=4gJeepA62@T0SI?o!5s9Su=eHBijQa*{)Y|$oxYO}S{MY*X#SyAOo++kMaT4j z%sl&@nKP0y&(I{jZ~R|`e1ONQgp@FF1Qi9@Y}2BvsbDC4fj8$uK=O8|PBwQT`zZ_p zX!xI}-ClU7t~S%}kbcPrk-t}6@6uvo!4xqECtlPaqKmSrtziZm{;cldr-+UBU7BeGTNcH_|0+}##7!TOr$zZxSI0rHt~Zk zCESF`)L>xf6%vmN#*$VIrXzjd_kQ5k$&u6Dpea19?|~R5+&M82U6$dPT<)6)Fy3!B z0+78LI{?}1G+`tvKVdW}Lnpmsl^IMO?>FE|1SKwBVDebE3==^=k@peqq?f7TpqP@r zaYZm2R|K>1WG38Bos>BhF3I&c0A)^eGf@p$#RpE352Y21#0smB1T`2-S`8>6)Lsh7 RyxWWPS+CZ!pIklF`~vk^JIVk6 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/MemMonitor.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/MemMonitor.kapt_metadata index 4cdeff1c11ca3c74effc7818fcc838d7ea9728a4..1fc1e9257269f53c374fc0da5680854988617042 100644 GIT binary patch literal 8141 zcmdT}T~8B16uqUk79oK8YBaIM?8eZIZzd1}(t>D92w+W0Vi~qWUF^<~-6;w`0ppJ_ zz8ZgkiEsWB6W@3<@zuNErLnb6O<LmT@YW(te5Mw1>9!Fk)olgtv_F{;$A28Vge-Rv-Cu@-zbp1ag>4Qdm| z;ctu*H#;_E!ZiqMI^1e*IQ)Q`!l?39UM8(JEgw_EdzBHrYR<9`+x{oadHr*7fAR^g zV;VNGm~lXk2;MFC*~QlaagWVHRrU#ao7!t^pI0nb6q>Y6TSQP5Iaq{>GzU$@yuuxu zs7=8sEJ{;gawh0oq2kErzz+fo(%83`Ru#mZPQi*aOcYpVRxwr^^I27 zYigo@DUH5G1xme0=4g7w7hN4;wT&gmA;+HhnOBjNMQDyfN-5So5htDoFt$ATN|Tcc zQR4>zl=h)8K82DrKbRsMZ_#KK}>+36*YZFMFw*7 zFp^SO4k}^Hh@szu?hMw(Oc>!Ah0gx22znNYu3}$gfG9}(-GX($3ME3m?jAi=rxY=OU15;}H{y$uvS$+eBF(G&9L24^S`WH~ za#%YQ&7gKDhPUf*Z%8$LCk#z}A9OcT75&N-9PW%SzaSf`uv`@GU_3giK>?x0*`@E> OcDt|YOMxz*gMI_`$?xa@ literal 8113 zcmdT}&ubGw6n<$;Ol_%EucBa5*+rVgo6sVyO)+Jo zq${{l;bzyNOnBI{z2CJDY~t`XC65Q1gcgg1g5J(&2brylXwe0p5&wn`LOne z>v0V}I`& zl+CbWC`XU$@Nh&CeLspzLpyp9>xp5-2@ZEI&|Q#^b~uBlaU=!^-o!+T63=)%o-gP8|DRufVeSUt1K8J$eJ{forUbb;?I97Wt2#_+ z-Z?p!3^OG=DZikoRNvT>GDD@w;p68am9)!sf|=kNev|KpYeTr8TB}R4rP#UP5)Gj; z)hbJmwCZt&_Uc`=O}l-*ea*@6R;0L9BNKyuzJbGyZ zd4|L1ufk5qDoJL(A=Sv!SOI*6tsnqQN#s`;>*H4fe}A(l4N}Q?gaC38$h+W2Acd9^ z11harL`WeAAmAXV3v3N&bh=opwybIl5{AVOwDs1#7NT{Kex8=>BwOp=Yv=B&-y`y&JY;AaS# zYOC;>#P(R>yw89N67{KR(Mh}W9*!oYoQuF%s`pU4a*VehMOeBSp_mrUp0pqYY)n`X zW3>?JW5XZ&2d@IlZ_~GU%n2;e2n{hDG1b;j=#~RcJ^&hjR&_=@LNGC4f4t ud6P<)vTgUtbztd2tFLg3s;`(&u5@{Og>^{%dF8tbRMwA$sK7$;t^EM?D?zRR literal 4234 zcmds4%}yIJ5T2+&K;q{Skh%dShr|z1#DVam7Lbst<{G(PcjFM-kv$1NPr$ph7bKpi zZ_pE`-s%mzWH~I2Vj;z>wA!`T9(%r>`M&Y5Kd^iYumtX^xO)>0n3m+W*GD3CqPt8R z-u*FB424$Rn2#xHJ+SVh5~vM1e|nx%MH6l!6p|abC*LeL>7Yc@5o&U%*+_DQ)>#(4 zk?0F*d%{gV(ML2H@S__}(v?WQQd7v`U^2g%_BWsVr#rBQ5lMw2eLALY_WZkUU1I8f z4UT=RM8bYWYLLf)`u_zEz5HidA-~2zy{~%yefwEiq>Aw{{hyFP<<1j?ww6Px98-h| zLPf%vR|>cYFqlzdz0nC1g%4dg^+Z7rLkD5y0ls^IkZ^225n{b@MpbOIh@DC~id0Cl zFP|1HKqe&cUy;w`vI@)#AUg%96rWI2s8R)2In7^@M0>)OSNrvM2Mj#IPaj}v?Ob6Z zmteW%zJik%pD$W|&YGHk;bMM}CnUg40qHClgH1;1SJh0BSTMStH5?@D%^wb-9_Qe< zJJVHR^JPf}TQA!k*sxfrR?_i>W(U@bIu1LWyK-#K2B5|t}1h&*<1-u{?kWgGuq9Q7_DTtS7V{aV?d&l)9sQm|? z^Am{A;HkgDKQMMu+XVyFh9WJIEUkCrS)a2rXO2IAgR3V1SAc#Ey4K;DjR89uPZAcO zi$fbDF+5DAop>mRj+pWU(T{0SdI?6%8L@7d_T(Y9($sU{3me2DikS#_6yZl^p`8Xo zCNbmEiO_R)Bb*33VXyHOZgbZc+sA@syRfre+FlU)`R?s(zFo|hyT_5u0`5sR;Zsge ztG#jOLz3Y>g%_$3S}~uBeJ>Ci;%+>Et}<>rOm{_O)4}S9++6~>E0O^vx?%P;L{7Q> zuKvt(5x78+6a2kJ&Ku@VUVc88F562YPr6$gazb^`tLNlmbddZlO2IHK9r3$xpp5^i zM{VG_(f>IUEb~A^GTHLizmN})wN-{sOQb@0 zT(1i|sxfu!E--_ED&AIt^S1g=izycYGW+dIvfDGTlnEL0c-%!t7-mn$<}!nQW$5B4 z<$i2b8tt1=_93-pzSonAC#qEF2^U}mt`#2-&@6_1SUYE`;qJNH%7LGG>~;D>)pf%4 zA0{lgzc6M#N_TT3v+148rg!EcHa8qhN4_xO_Ad+^i9o|4KcBg{RXV7`*T7o!u3uTC zmJfG|#d-r!hN6~O36(d+R@+U$i} zpH&9?2fQ+k&`9Zo9q@?R2fOwN+QzWGSifh9ho@>G@Zb`_1E%_T%N@68A8@?rAJ0GW zoCH=BIHKP#F1+LJ<+T@55s-bAa1rd-ml7<3?)fQMoegBZq7EFlVG8gV%?AzAyh%zgKBv9+;eg-y*uEO2SX9$H_ z5BJK!<;q{pMloCnl}qCTPoi3^dSk4gzo04gie}+X)n1bPdPP96R<*lutEkT^*|YL= J;r0cU`wLwqbUy$9 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/db/MemInfo.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/db/MemInfo.kapt_metadata index 0f9700f96e2c75fc194925395ba5ae0153424375..b4735b393e8a06c1c2bdbaa879d4e1d994af8b26 100644 GIT binary patch literal 6996 zcmds6-EPw`6h7tWg2F)DO#;EB-89oWi(esaOoC;MRU4bMmA{+HO}y4y5|6|!+Ma^D zzCte$@4*$%(F@*z6Ss}C(X}NV(!5Aj?HtF>cYOSvpM3uf*N*|N0bV)$O~Xq^_~f|0 zFNrT|qT+~kP9IZL(eNGXrtw<|e=`g{0ng6q$&d!|TlZ?NYDF4-5s~ z9s*pEz^D@*P|2IjQ1qP%%w5Pj3(drRWe!#{n|qDPGO~KXDj9gtk=Q>@f_$gP?FDN? zxfzcJHL@c^9@G{MR0s0?+6Z+h5;)tzqc!aIc)wuTCaQqL+Yu@lir((CzoGEklfi%2 zr+-7?cSat7p}W7;a{^|fM?dgsEZbKkFetuX;u!KT7fOG#p^caI-atZtpYUcZr3}&s zK6oes%xxYS>mNT%4*v1wagXO<3Qx==ha5k34ipLeOY)x_hNp&VpnXaMnZQ3Y6ny7A zz&|$=JUYg26VTw{(U~4`BkQymB)w21FlP0yS4(R_IVNKja z2$vPCbrZv?7VKt*&b~CL7Zp-b=2kVX7%y6%%~ZvUtg5&WaFGPA7RUVtkgx#2UAU1{ zk075kOE86PU0Q*MC%UO!?^jyl@w)5)w@-9!)lcQ+a0lh7es@4Bb5#RUeOtYd&h6BM zx@*I7FYob0P@A8LD?tl!C1|1he)BV~XjDCR*1rWaBlD(PXdp=@0aNK-3A7L+ZFrCf z2gludG)AJSsZ?C5g&3rzgeqjyLJVS3LKV_zAv*b#P`UgiN1zkTsvb;1{*MdIYkvaw db$ft?WrXmv02ZNa!-tXrOGo)1G-ho9zdKwFXC;UpB? zw74C5)E5CR${HbSG7>bHxy3j5I&oaOen`#eCFbxYOUyfPYO^-0& zY?3y?r_+6KabHBRf5YpvE93*xrWNK<{a|MnW`HfYAnu1C&=59*H>r2KPTV%z*AsVl z0&YnH<4(6v1Zz`0!S`nHbuJpTr6ueu3$T{j*BvT$kT`Z;5!3WFBqFL zz_`SB%pK8UzO$^KHIV5yrnH76fs=t9eW5a7{DNU=XaNTArnJCF@Yay`^+eyD4gLEe z@#~4cH?{YV-23eT{c8yxBfyt4JH8}=VNSooFwI{rlur_&g_rSBKQe${@b=6$8JYth zJm5Z7Gmmu*jGt!5{^Zic#dC0kr&}ki zUucOPBjWcN81Ufm)KIvYcG-(tQb-aQ(dipB&N{H07IR+kem!+LLJ4%hN^Ob;_Cwcr zofeFehS^jHDyfmvZy|AmLL#@^t~IGGmW{7kTH<9|OI&2MNCH>y{oCu0835oe+=zQc zkd23Bn8UH^q`;$NVq(vSjg@G=YBRv?W1=PHL?I4$P@jE<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9B; zSb8UWF!qtAp^K@56b*fok2BkIR538HFcc@2P3B|qCPnu@J;L;2@G_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nUgoL z^-lI=>?28i4^sz8>Q6E|a1ebmuQGb>MvkO>(K45w{ NxsXwOvmwVRCIAywjGq7i diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/db/MonitorDb.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/db/MonitorDb.kapt_metadata index 25d737ef0e97d34befc9b965c53e1e571902a723..7244587088461ac911cc107b16e7daaa47389c34 100644 GIT binary patch literal 3037 zcmeH|K~BOz6owyB6E&W}4K82-vllTz+881<#waV3X4;NWr1QvhKw+zQaP8iO3wPeY zgRt`sPN5Z6kW6Dp6Pq-hw&~3LfB*Nrw{O^)0BnOga_ZcN3l{@2>GmWEu!FXXg4uUN z?n)oI?XeM+i2YE#T2G-;>L%rPU;nj~4X$ ze&(j|s_*AfJz>$mvy0vwm+2I&70xOMY<;b1@=Nw+yJ~aYG{{=mkV#}I@y9EIuqFeU tl&mPN;tdDO-5MIpcjn;^wDgJ>rqT#_@n+T1J2rKqd^56r0#vVu+b-v-arx`T{LYBn0Xrs zTXGbp!^Tu14ny@(aESqNEYh1bHLKh)uJlWz)it#<(`fZ{cqi8(3*yl((nuoF(2jg2 zWT>{_Uc?8Sh8|Z-oTE)jLrzfJfg zW16{w=Y%VgoK~v+%^HwRJAA-P=AUkrT_!cF(xt))kUNT9LMk|tcKp1TjT`}GZ8)B? z*;$&vYj!)2+9`+rjhz?eBu6J;tT$FcVC!pDbzgF~&?#H;^5AOWLJ@JLv>&ezgH;hw tM8yiwDyZRLxlBW6`7K}3-c54>_R>}#4rg3XuwGBFUQe)Ig`24uh>U;Dg#n^Ak%;^7UQvlS^|`^Gb^Kt1>b( eN;9)E6N@u4CvRYyGg*T%m?ZV~Or9jD-vR(LxIC`_ diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/utils/DoubleUtils.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/monitor/utils/DoubleUtils.kapt_metadata index 6f8679c5f9a90abe894761f2956cad45d32656c1..a23c5b9c92cc8ac0a180a73ed7aad87f4536ce64 100644 GIT binary patch delta 309 zcmdnTdxUpFjK)^|(BjmhV*S+I#G<17a($QlSv7I8IjajP)=ivj%+?J6 DroDBJ delta 300 zcmX@YyN`E5jQSS+(BjmhV*T9w^!&uql6-xa{N&Qy)Vz{n{i=-2jMB`k%*5i1%*hj( xCQcS*^d(8XG?O0*>YtIIHjlN6fq`kmWJf01$@(lIB=jF!#I*v;_9@TZV(hDvKZV^gscV=M~z}=ddf*9JzcT8CK_RX zfDir$-+b}OecY%08-hPUMEnERrK_iUs*)_$sA&U%^tn~lmvc^?bL!0p*!CP?E3ls- z_B#SsBGL(-FD%laL)v6MA}N}G+)W~iNiyF;D`XgN$7I%!1#7&-zCCjf5T zoSB`xd9_i|^TT_HoX(H4>5wkW&=e=_W*FmEeM zaBlz*RSB1kAlU-2=mbd{QSLT2OicILq|UP;NC~`f0x2TN3QDPnDt_0jftU%HXOgOl z;YWDngdxs2a*by=qnXXySY{GQppv)u_D^ts0O;sx8xv91Y~GZ;QPk}?1WVrt6Emtd z?ZvhcO2akBxN4zT1Qm}iTU<3OmT*K8z_GmXhhM=1Cm)JplA+ruY@svG)(r8A;PE1Zj-tE!dZfhM#Z-DY{! z0*Gw5egr&nCNRiJ`=M1>amGm0KC`3@m0l28TGXmK)yO}NPZO6hd#w4RUfF(&jpi@A zcud7QaMfnAV*?z7G4o-8zbp9sUBQ>{3Lcy^g)9*;2ZyCx-Lz24IW{$s1YktXs!io_ z#j3z+ykEqQQM zXG!HEgU`VkovSO_j_vEhWmDE&jh3cTmV=e}786aV>7yI9KRLPaU{q%o`{~Vfq;lTN zD`okql-F+bYx*F-P}Z5n%F-AwrG6JX({2Lk>g=DQ(LAUdVudYDjvG8BB=s(`u&5I~ zIBg0RHg!pEG!U}fO;kH3&dItlUv*=`iE^$7=L`jDd%gZmF4Etx6ua+ds73nes`X(> zVCY{qyzA?X_;HTvO@KTJqP{GAJ@`%M=G!i{2%ZqoYT|lcEBmZg_BFZ(XARM*b?WNF zT7{_`NycVP;}riT&f>>85s|zK)0OhLEW-O#Ayqa|{$l1Xa6#c!dBLKrYMy2b`b+(K Xg=I}~LJ~`l%uU##u6!6)e>J}V^HZU2 literal 8659 zcmds6>uS_M6h6fZ);nH`b)_oxvQakyK~XAV(N%oli6YgAHW~J zgZRfk{t=(R*ARRJ5%C3_OOl-=<4T<_Y%CNu=Qf!y=bSm`%*XGrTEs;?o3uj3@^)Np6T7y30$uch?f z`cddP9Tx}AlDq0M?SFq~dztdx|ALz)Rwg5~;)V>Iu$=oJISh59{olSjJ2!pzdcB<6 zhi~8+Z68PXUD}?dAr4v%*T>E3jPOj~4O)&QPg(QB3yw$v`k7*fN0r1b-7v|<=k zP2`J+;-RGrszy1J&FDK2N#LoG2YEh;&;#T)Q5a*xf=WJ5StUhg`+e8|P#%Sts-Vc{ z(t@(%g&`=5em83WXQ1qS4ahuvZU-w}${Gjcc6u?S5C`isA_>$6*KY563oUbu?scgK zB$YZ?lm-aU?hioB0ph3A^|l)X$d8>UV42vH6gjqu*`)<)&zFq=>VX?HNoU&gP$a75 zUdZJ+r3Gs5S9rEQj}l2BH{kQw@DI%rZyC|VqY!l@p|sHKn*_W*XmqH|5YP1!XqZ2R z1UH?4p`$QL3(@`yhT|VrFe8eTayjj@N?H&eXh74@X;#)Wc*rJeXwVT!VBHr1a%MQT z2CK#piJE7QWRX$}Ax&3WQkNS4Ykg91000O;uQkF zL9qD^f-P?lEI3sZ(zyRT9FlU?qJ>J#(W;FnBk7!;Oad0v623;eNP21z->)f$C z#ex~FW^sukMK|}I$c#XXs~ykqH8$sAT#Cp+p|F67&2y3kM^u(nPP6wsoK?B1qHf!^ zDx5W?eXEJg7)rCT3}0iS0Tp#vlf0jt)mSj0GSm0zO>(4i+`lKv@-b2Vb8}x&oBx8c z%1l?5#&{8RQoNaR3`kdJA4Q>AP%Vh1wiG#T@U)Ord&ktGO0?iiQ82ZsN^+x)kmYWY zbYWtjtO>J|CQLX{%(dWrK|$K?*S5(;@_kDB_IXCKNS@xm+28Z@qyf1e9vH8du3StCDSnZo#>N=uDrA`jApwCXOUyv!Za)uf$pW>zwdNT!E=d zaa^Y1eL9uO8pu8|a~HXw@T$04NvtZKrVIMZdA-!KqBtdqnd{^RY)cM&7)^dPegjLK Bn&SWf diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/report/IPCReportManager.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/report/IPCReportManager.kapt_metadata index ef042e1007c589252116cad75eb8369140a445e7..8d5fc018a7bd6bf19382a2b94027dc28711a0392 100644 GIT binary patch literal 6202 zcmds5-EP}96h2#${-L{AhIY3D;tLyS#M>2Fi>i+1YV%(t#aYn-9w#xXGK+LcI-PT| zt3AdZpclK_&93(hdyMWKM$(b3WkT10#!}UQVUqIsc=+l3@%;K1Y@GpYg8F=*zMsG_ zW;r^0ej-uMQZ|kmC*$K8jb+B@I3cH4GBy#2lPTj8`NMW#MmlW4C5Wmb@ott+Cq|)N zy}r9#UnwMbjB=b&bb?Q@lD0U6^Mh1WYdz^gUqX8MtYgL7;G}|Mv597kO>VOW=iv-DvC{MuVZ>9YkZl|D_lBgWz4^ z<+7A){s;$lrgBb6_+)T2K5~P;->{m^~f z^{joy1Ob)juOi)UeFv)8u*ljw|B5By(=hUSdqva zW)mhmGt83=(`MIPfpU?mt4YevFFGP^lx9Q-b?@0*(N{O-u73+p?3hc4ketm+CR8^L zw$E&X$rsv{9@dzG4}XSVN@ie!z~!(1jdl@KcTyrRHV2xmZfT3lqwf_Vs&4kR@!IlI zP~x@rmZs8{UFKeqQCoX>1rMw|;r}`Kq7qnpV@-t`fLn08Tz$Yt<=F@xRHfr08#|@^ zE7J08k&RpMs7m}&+5F}*tHG`1a0E9B_k)|oXaxPzZZ7B9DRE^evF?~Qwa$)I&7NG% zW8qA3;`A134%N{79Z&j9X2)4+Ec%qeJRFJ0fVaL2+qPy0PZcRH0me|2XDd{YW$`xn}qDu7)q{)yP6B*1! f8(d?eB_^uC)QaAzOt}zMF28jqetEaD(ZBaMZ3C%2H_iIy ze0`yh6fsIMW#|YWV=Z0c49@RLGqLhD1f^gM75i8)%984n@f*11$cWrlRSn@^*e`c> zdd5j=Loy->R^&5c#0G)$`S_`Syedme;DvkbXyEQey&b>Ziw1u87ccO8!DmFv$1t+` z6n4uQ$|)n^-QNCS-wnEcx2jIF`Vt;2g^R%J^dj$nVIOPj&|eBC3y<0ML-$VGTb9Gv zAaKEXcI^@9BBMmQ-gqaDgb%{V>kRg~VdMspx4kTSE}EHt;QmsW$@|cfE#`tLxx5ao za+EZAI>t=bvK2LomFMtlIR+@BDkS2Vh{F^f5KnyHv$_3&T-$bHD~d3BO&T+H=y2VzkiE!pl=m~rz%+2%Bzw$fgG(> zw=SrS^y#qh!%jg0zgxh{FsCE$8nQ0Mq;aE zCYy(tC1hBqOx^gw^h%wPUT{Jsbf2;TH_svJw{4Hr$f2p6+4Q@dWY`VJADONZ>J9k5 zc)bs;`~yv3CIceJcP6_T5tF){NJY{?iuI3hLOU}wXVPZ}TM{%uU37^OIqq^@1qu`igI9<^f{(asPn?3kXmts$LxHMsz7Kvbxng|ykxU?Ph- eZF(C_G{-~*m`2fW3)3w`h0A5K@RJoHw%!2x^b809 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kapt_metadata index 9cefbfbeb157b7c8f7ceeb0f79d08ec2d2ae76c9..1023d6e89782cdb68019ee64f90ec663f735dcf7 100644 GIT binary patch literal 8066 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 literal 6441 zcmds6O>fgc5S=2R;7RCQDkAB-6*WUH~oc+x$BQc zo?!YCGrSt6!j(~p?U5=$u1)k+w!)T?<>2Ke*3~R}ILjQV)g6EQoVq^Oz8;yK8+r{9 zs#j41$HD+Qbm3jYwM+x$_kz1lfq%!m0u$mxqhqwY$S>?0x z$zux%oJJ5P3b51$!EXY?uXuw|A=e@1sRZC7l-d9cpZm7McG6t|mt80(0HCzCzEM~! zE~oL?kMDsEYjaua5w3Zt^hF=BE`D=>LL6lR=z#bmPT__x$il~{^qAJx zV|kc4O0J!^iEIL6XOx72al0jDZg)sMjNDgccRKeBs*s702jN0^wh6SC5Y+aHrnXl! r#Rm%yGSVSqYPy-Bo`$s7L^NAfwRku4PX3XB5zRxkcfQEF3JK^R>~Do@ diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/CanStatus.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/CanStatus.kapt_metadata index 85c81c2e0fa9000bfef2d35875554ddf92b7a184..2019bfba9a45cf104dceb3fc158dfef6ff561fae 100644 GIT binary patch literal 2902 zcmdT`OHRWu5FNxvB{XHh1_^d-l11wS@LQCqR1|@Ps6;lYo0!xku_1Q(^b%Zz1sCHE zI8ED_6)Hi3M2a+?IQGobyf^dq0jpzx6;RKTdJS-V9;5MKC{fHq?)f|+-tCC_l5*w+ z>7ssHgt=+^hHxP&%$opNtJxH z2RA=CL(BeQgd<^fCgDVwh3KN6X1Q;>U&fLM0Bln9tTaEl=z`ISs4 z3oTnKi_EqEe;}ENz&9+{xnjOSrx-3&IL|)0Pj$sADLraya8?Y2kVq#}%(7yjM6+Na zh#Ujg?*1Q2EWic@!fCNWIG~KmBkOMgP$ID0T&(l!no#wi^(!cpwF*2qER=saYyVh{ zP8HZD+3b^!K8TKmhVA|oFVU?aENVB~!hc5_=hWY$B?FP#KxUzRRZ pb&Um6U%9ZQiBDe*wgfX9YML`8hjVSQ$GKLHBvHDLe% literal 2892 zcmdT`y-ve05I)3@AT(uQL4u7X8CuV%{0tC51&9Gri7cs`n$#t+p>`_hOYkCi&({)tZKl_p82Bi{l%YNzVs-lWj%QxipQVbu(uT*s z*wBK1jd3Wfo79~UvjE+7`oxzF+bty^AJ8lYNKgIabKWJE-7F&jW*gjM07!l>2b2Yt zttCaKYAh8ZDGB^g;d-H%W4I{>3l+|rPhJvEvC3H+)eX2VhCx82laXafAy9l-FbzZw zfor#xsvZ_B1%<&?u{1cQjLK7MDdJZouzIvu$JhCw;=$#=fKbvL@Zh9S_@zwzGc_@7 z!XC*+o@C;wClgOSn|N&4pM25!UOo&N`CtIsx!eRJZv`S n1yf(Su&WVIM~$-tGaIU!GO5O$NoCG97+R@rPGlRlrc&!0!jv+@ diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/GpsStatus.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/GpsStatus.kapt_metadata index 9cd9f0c0219c8528f833e5a5c1b21a03a6bc2c9d..1bb05805d10021d54bed99c4c3927734c0368113 100644 GIT binary patch literal 3159 zcmdT`%}(Pm5FVtZv=lhAf&+p}BGLK*U^%cvRrwJsp+zE>%1un_Zen+B7btJTodZw6 z9iD^>?|_rE#7KYyK0qQx8jqZK=JU)q-}NI*UjqC9{Y>e%4qm_$blK}Gl<5-bEiM>{+iCVIC- zn1zDV@Q>hq5-4=QTinA@OuP|6>1k+kT7xEoIE$i@`Ww%FBMK3q1XG6k_zdf>KOT7= zcJrUo$ye^7^_hPZ*;CmPn5nYn{{Sa;`IG-c97|_EyN(#M2px9QTi$T}QdY#wPiWgA z(!;X%n}@`4+us_2j0DV(7zZRD(`Wu7RTk-)qp7V1cMAKVm>sB1`3_CUr^d5hQ^0gXxIBW! zEd-V)rY$Et|Sy&ib%}>;3 Bmumn3 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/IpcStatus.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/IpcStatus.kapt_metadata index a365ec1d87d961edc92121d3575a340e52ad21f5..5542c4b43d18d5a7f953123f2db507d1aa973285 100644 GIT binary patch literal 2604 zcmdT`K~KUk6n=n4L4m7AZ(gFf8t&X@4M)#~t3axKFzGBW4N8S=T0G zEI4-q6bLLv0U}ILF+t6t)t)7e2*W*>*zk&O0^-XF9`=3ygwD7%^5pCQVP^ZB+SfiG z5KEv--rxpyTw+WJ3U@<`-73@@y0a=OVZQQ}SE}$WG`*Qh1af6ClOZ5@TlkbY zny&m7QL45+kjzBj8_ z$COb~*G#>$K6F@t3E2`f{se&k?_Y{QcK^qwugZZ0;Up0Vsr>Yr4|!_Xf;|%1e(3tu z(Dkd4>+5hZf1)UVd>|;q-UvH!+=N1G8E_cK$|4K?2@dh@a!pg#chq6-o+9*88)11Y19;?^SVi13?CJo&Rs{0Vj& zxN^{_^T3ugd3{@7-}}1veSLm|%{jmZs3)gJ5iE!MXg(ZC;+o7hU&9#E}it&LkkG&`Jl$P@VA^9}vTAWf6cv73_2XNZyeX%3QR+4k6$#|`mOA^T*y~iFFgQttK^6}__pWXWTd+@JxewL8 z9;$skR(lf;7H>4pPc8zbL=<5sv0G3|!~zZzTMM!jj`9kBLS&#(P}XNQR2NOx VSJya#nF%GW3%3`x3B{$={QxY!!khpA diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/RTKStatus.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/entity/RTKStatus.kapt_metadata index 267cdb11b1096929ff264a3609dcce7a105374e7..87097edb3d62038a012923057b7bcb7685ecf9a6 100644 GIT binary patch literal 3559 zcmds3-A>yu82ymgMO(USP>Y1bO(U)K1MqV}sir^?2sR{oQ<=o1E{V-zmkloW4&y1P z#FLD-*xl}TIXh{SLJ$&|Rtk|KInIy$ot$&NbNd%QTm#I5I_A{509y_Z&~>jbQNTUk zb$Cd+X9MO)%30SXmsoP{3nV0#1Az#WR9>OOFS|$4#Hve#19#}FAfdV&;4tLh(KdGm zfqGOR%-oPu_aNkb;z+c|Kl2v$eA2oiNH2xPOVw#`;YVAj>-l;zKe2_-K>?-=_3lWzm;i&{JS6+UJj+CSBQc+KkM6OrFw zn<3J}qSxdusabX&5Qt15((WF#LbVS=rHBzCS)EwNGg3-q0^+UPs-cl8rf5sbi;-pw zqcDUWGs95Kh!L=7#)LN}!O&D3>y%NsIhij;JtVh~{DKW5R!q$jlnKn;tKL+fTGD1Z zZo}dzGwR6L(2=nbM@9=O&!x#?8myp{j%_HWQ3I;!IBTa+e$av8>CM{SFj{0R4c zhCBBzO=jAe){3Ahg|Se`q?5-zJ?Gr>^bS*Z0F$6T6Y4t+8xHr;U9%;T&s|=3c$?JE z1LjD|S-nB7vEGT&*)f?wg`8?f#hh5JAtp>6>4YN z3}}mD(WGdPZ}SRvJyN+PNS}myCzYsw>4ob{dcG9T_uZiFARkkPTKF2P)xW=Wbmj7e zRE1|AVe>D0B$aDKNGeP3z^Pg3s44*&oF delta 279 zcmbQoJ(GJvtonNW(BjmhV*T9w^!&uql6-xa{N&Qy)Vz{n{i=-2jMB`k%*5i1%*hj& vD!;=>78T`}>$~J9m*%GCl@#kI=A{(n ZXQl)c*waD=O>ny;YT`@^gXwPQij^ zwb0(iCPpo*VJVtr>&mOPsbRx1mAbyIV#{he$iXUZJ4iRNfp?K?tD0dps_tZx{!NFU zsOIQ4c}q*RZR;({T3WkB-tQpQtlO4Ruh`b6u3=QP7A#3^G<9iLNA!LuxZkwV+G@J{ zn5Og7;e5wFYz?(k!$h0vwo0zmimkb$^KAUx(XJzn3Og=a&cQYy=Th0Ktkd}OH{qMEt9GM_7D zrRb+q zgpNez6IcdqY&20(-Qu)sw-0r8Y)JRcW8+0mh=$ir$v(Ve2PbI49Wt77hjlhMKkwtf zc{1w0LXH_kK5Nzo$iybV=aWAoPVIFVjcit!ipGb-9`5+gBh`pV%~;Vh9tD^@$&(z7 ztU0(AjdO6LtHMK~>*X4ZM)nQVqA|lhIaEVOgM@%c-FopPw_c=p(xEqao5-+5~lIDgat!N@C_A^m{dMBfY_j_k%1-KVp+_Nm9ocFifdzrsbe>Zv@ P@TIGv&Mz^XrndY6$1m(p literal 8766 zcmeI2O-~a+7{?#q5>YzX{{PuNPk$W4wL^fbK>jX~*Bq>9 zRtp{08yK~$nx$w~TUTB?riKm6RCe?|6-#)g=xJ_szg}l3~rfSxZH!?jT*@2|=s-bH*C2VmCr3r=jQ0hbhOV*B_6tWi#!8L(__1-C(nWwNC zpM+sc`T_(wAM$Ej2&+$3bbWGurjL63h_R#kwE?tLs@t4>H5_W)-Ax)ur!CF0& zObO3Vr}1=6;Pmr-!7vTHnEa1af!t|G2d2qsRw+=8jUe!;L?OMZ$m?lE-dvTq)Yvg> zu%(en%V|a0$d=`i@o-Im;Y0PUMRLma#9&x5`N&c>L^4Y`WjR~SNSTqP2}>Hk z+0)3E(wx$`or6twdhv2&Xt8)E@DF`8zx|y(6`CW;aypymQ8ZImSc+!7RFNfxU(rk% z>}k-<;L}j2e!&_83vo@rtL!Bz#ayxUtjMEMrV~(PK*I;2k#Y@>6ehnxi5&%fAGcL5 zF&wdcMCZS1HN6db-?VT|V34wZ_$`iWH_yi9KkzwY=V;8iH1`4q{z+zpKAi<==*VBAbRF$5 z+4Xh{#-lzBRH8A%k~oyZ-UZ13k#^+8ejRy{cHJFY^g8llS4%p0CqOj}I{a3N30$7& zZT1JJeu}vCn(tB!_bUg+7h46L8@=vF6<{nFRbecAZh_fw_?JwhAH9Es!@X$S1igCbABO8Q16-O(SzQZMFH-Ii+jQn$~k|_z03SS!(He}z?VitoxfBV_f6ggo3y@EkbIgNzGHAUfGCaRaUlI%lTB++u~t=alq61ftYOtcuuBWdsU zO1yo*w(zAj=y*P0gVMN$1^4|6Ry?U+!Hw^LzF&BN91YVT+&Lgl6FqUAN@Gqm8li?# zYqXSz&Vx?V;r>Ou56#NN;BggQmE)Y9-7O^kbqLWSwB9B&lRj9TJF%&`a-BB7!z#L# X7qDJ3r<9R)DI@JtMnZV>XKMWfPwG#p literal 3627 zcmdT`!EVz)5S_F|M9>@J(hGtjlpLHrA{4~MDF~^YfJ$&6TG^X;Q+tPc$0aGh)ZgI7 zFYpNnegKJC$4&!Efv)huksM9d+4aoxy!Yn(D_lDR*a7}@_}Yb0gqb)?W+XD4;yA)w zjVFbPNTV6Y>QoY9YK0|9g%y(&KZxf~`FlS~()+PW)l`y#bMe}$+?Hp^f>4YwDl%or z^4U5m^h`^eXz>D{;eni{>R_RSdzPr573l1JTJ8_rdaznw%OQ_MCbbbWc`A9gSKfnT z;<~r?VCZ?kKBjT|>Ye!48_~RV^>)64@_oNkMPZWm`iI9zsWx-hr&y3S%8DqF#wg}P zxD1A^Lxwy5gpnylz>D_|o*Ix44XHV;uv&-e_dm4|s?QMmHW8XISFDV^{!#l{HsxZCY(h3!4~=nIKeChi?xX*V0EriFM}n(nZ%7Ai%+8GX=*$!>q~ zpDxghl%*UOZ6wgn3B0+|`!1QW9IKqX(wqq-O`M~SSyEYJ4T(x?+s7UD;%#7S5Lwr(xw{bppK^N9!UE_Ca;3W7TNw+ZX^#)$(SZCtL7 z{PQ4kBGIh6YD3qeoTb` diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/can/CanImpl.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/can/CanImpl.kapt_metadata index b1a3efbb62539d66dd83d40994c41baf72a65d3f..1319d2e3b3e623eade6a8d7950ab262af2382504 100644 GIT binary patch literal 8854 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 XL;FOjPc*`(?%B0-{s!02kJ|qM&{^#^ diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/gps/GpsImpl.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/gps/GpsImpl.kapt_metadata index 6299522c7afcf17b310429902e91fee73fccdf6d..dc3ecb54dca691b8a62b507bad795015ee1b52c3 100644 GIT binary patch literal 6439 zcmdT|O>YuG7=EG9*w&l22`3xdL^gpP51#sA(ol*R8nquJ;-TFxQ@XG_LuRIE`wKki z!T;gS-{4;`F?uu6i{AC->@o|jMQJl3G9-lEncdmhhxdJ+=Y8M)fb=Oq3gjmtzq9bb zr2#rUY6=w42HkTh!+VFv#1$STdv)A#1f@PlTsY#GqeGuQM~yZ|r8X}IZGVB`hQ|eF zxDM~oF2{@`95{^0%hsuT9AF|ia!8#~ul|_PCUyndq$OH(8a^(bU=%(O#ShGTa?NNX z`EWen8$YuV=Ayvy2x>YVN8YWmdAlVf1j(ncp|y;}z{Oq%Gh-2W1w}msC@J`qV^aZ0 zy@qvN03Nk5G3fmx5>QFp&4bh@*wh7KTe1YMgoHrMO^5VPSknVyXRTyVD4dIeiNRKYQ+XKOWc17e25L%o2YWF2$C z=*fRei--jDZS>3+*w=$%#Uq}$pRK5BL3(>4eS|=T@b`sSHaAQX-{F}SHj9NL?6zX+ z*i!Yzg5kD1`3-8LfyFR0e$IhSOv0PdprYbtP=-Y$&`q-o`B#q8(BSl&D8lDaAQ}^v z*4oRJ78QQj&*%ibJ_tt}ss(d*=)AeKnEVRcTG$PyMN{2n@;yA!gd;A!7F1|nEjGG6 zfpKchWi%b;Vj)Jv*r3S3s#Z{#`r?TXvNt;gvjb~sm>W1;gXw;i2{ZlUD%==QdBM#A zgEg3o%8~=w_Qnp$&8q_oruyZIT)Jo5;rf}AD%?`3r(CS9T&%5JtOd7Y+4zUgU7{ow z>%Xj%oBwm7E7KON_V2wQ<*}8%Fwxg|NdgJjS9|PAlP#smj$85E?n%>%n%)h4dv5*; c7hCW$MnNmMhl=Acag_vlP3=Vf!SPY`H@?1Z*8l(j literal 6415 zcmdT|&2AGh5T2wzq764_rJks0B@(HPIdE!Pq$*8AQ7S}#A`uR)yKxeyyLPm8Qrair z00-WK6Ysz)AR)LR!2!6#4ezdZQy@)+tco~N6tBHIYk!&fzL|Ob9VX5I#zB2j>N^7u z9PXjBR$C&EH~E3XeR9y~GDlL*4(gG>aZ2(#<>Aql8xi-KVM18kdOu&Wq?R01+!*2cob4_G(DVQ;-`mm?%TkiG|Hv$Geu z*TGEbhOG$9!JZicRFr+p>YJ323U_dzq1jw*WZ?)&;38>{m|@}$Y?)!A)WIi;8nU_S z$O17OgUO$;V}=10u{)F)K5|KYl)Yj&7}M`fX+jWI&(>THSdqeA@d0i&5&57jLQ4jiXu&))4EFNnaUp|Dh9vLWWib|NqvK-M$jx4Tf{kz zX=6v%7z=ji+UYM)yBbvN%fOSwYitr;T@5JOYc3A2B$6#uL97R ztc+|ID#u*9K?9@bC5;b(Hg(J8?xpM2Qeyfu>>5Egm=Y~bD${S_u^}39xwW7j)6_E} z5(tWx|I&z?GfXTOi!mU!y2Ko;8M%a|=T5y-eb_0O8CX5T?7-<7O!o^*$n?imxG|vG zf|~;-YcLzuB1fvjO)y)U*Ml5P^=lMmI!V^y`niiL+|qHUlh?e~&%91vb8tIWj3Mdm z3TLrQUtnix{?CO-pmVU+e>PF_Sj6=v3V$v1)%{R!FA}7@5~O^id-65v{fm4eNvryX l{UBFgn*Z(g;Wy{tc?^M(V_zzYmx-#P#%p>f>fen=)n7#pYE%FK diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/ipc/IpcImpl.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/ipc/IpcImpl.kapt_metadata index d173479befe2a674154d2eeb1f175ff96ab234b5..ec7faa9e8df5adebbbddb5e712b545684e093371 100644 GIT binary patch delta 583 zcmdlbcT{ddxW;Dv(BjmhV*S+I#G<17a($Qluc{Cn*{(lA?IRj delta 569 zcmX>qw@Yq9xcVmj(BjmhV*T9w^!&uql6-xa{N&Qy)Vz{n{i=-2jMB`k%*5i1%!&0^ ziB~#dG7pnCvC1dcGufN~}I$m`$48#py|s`d%)3V%1NqpD?+FyI&yP XS~HA+FF7MMIUDFqW~I%_JW9*}LRr{h diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kapt_metadata index 2d1015f99b07e5ac167d44becf03b910e636537d..41ab2e0f91329f7b84834d8a28167659e2a3db5c 100644 GIT binary patch literal 6756 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 diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/flow/trace/TracingImpl.kapt_metadata index bd8001b414de0c536e8723618e7c26144483b83c..c8ae1fa700cf9edf4eafd843d01b78e4c14dea1d 100644 GIT binary patch delta 645 zcmZ3bv`uM3w8l>T(BjmhV*S+I#G<17a($Ql6VciC5kR zb(R!I3h|nzPPXRECSLip$theUMBB8#R+@63l|ZC5a`O U`FR>Xz_bL69!B2HngYCx00p_`qyPW_ diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kapt_metadata index 9c4b9194a89eaa87ada33a0d598ffcac8333f536..b86fb63e7c460f144feb85104c0b80f128d45d3a 100644 GIT binary patch literal 5090 zcmdUz&u-d45XPq>h*VY8dry_f0ZYZJ95@jnk;I`@K}qxPiZ<(oF0s96y(S^&zC}-! zD)rK1Prdgg`VM`Ej%`c~K~<7Pij0KtF4(*CW9FOB{_z*eHvk)euV?sv1rC!wx%o8G z#Fszawu=Zt|5ohcBio6mp($rF#LVzpncXoJt+o* zLhFqsAS+lw`1-vGn7;rXa9w)s>(+iJx z#f0xuO`C;9h5D(@Q5||Na!N!!(!xV!4_KrW_78&n#}|yWlaFIQ;5f^8ae<-Gel`Ra zja_UtweEv1gDi!f&RTcVI*&6h5rIOs?eZ`9_Mq_Z8W*fk=bG_xY;A3xoC{mmm2LQH2slmCL-jtu6w|epa81~zIb6u}t$a7`vO6LWx>YlWkcdEB1W)3> zOJ!hYdA7Be`Hd=;bmqdaom@)o;jO|E6{@)H0{z(W+W4$3XPz!y8m5JFn=Xab=28P% zW;t;ubQFQo@1oqZqhKz*&!#V;I4*mx;}^9h+%;Ze?~Jztxrne8nO;V)IoD4bzt;+py+1 n-oAM}1Pd;fHn%c~&~*<}ElO zA#ve`#DPcQ9e4-EcAPpPg0>qfHjqlaYL~n()V7dVMW9UYj2;EFxsYry?LDI-z*A z&cf{rh4F9vfY*BWsYuV=Mi6{J6*m<_c?b41F`Ts8rbb_S3vJEl51bdR)6U7UF$hu- zNJ=`b;;a}-@8G2-hkfafX@JsU42We0bqF*W47kb!vTAi`;D%DTm&6l&&Zf-cq#G-G z?(vS8@B^x7!&Fizol2k7q30r|RL^52JQVeS#bJnzgJ9?J1tYEW>xlO`9%bBEUZ}C} zHF?Ej7n@AAbF14RN};B+p53s{3i+0bfKmOr{2e~sD*E3I3znyI$@n-iII}t}9ivv)v$Ch7a$wOcXJ0mYVysJ^e}uCpdnP%m27p;E@ZG-a6fDJ*If|^)vT_QK`H|1 z+V9bIm&(BOvTS=lHyRbJ=iGf^C%KTy!v};nRD{NM3iM$|Ys2#oGUlF>rLJ2w*U4h4 zESKug)XRv!M2;d*`u5*GrK4T|Y{H|0vj$SwxslD@!V6Nj3H5wb=uJ29oqIF;g@1&d zyfCr<^uol>-iz3o`?52mVS%$A3&${mWfPNlXgl%H_T0nl-hHV}3;2pj3dH8KXgZ}2 sONL?1aXf!^cL)}oFD-6m{F-iNE0<_^n2*ljF~YxYYw&boccIJu0&Na{4FCWD diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kapt_metadata index 6f0ccf939521e453efa3c7362795fb889a933c8d..39d48ec04d0530e71a6ad3dc08f34e509900340f 100644 GIT binary patch literal 3242 zcmdUx-%i^w6vhwG@%JT=%0UyMj z_xn(KT9EAeJZ73Gh%nMj4x z?(B1vsb>_&ToqIMUpSgWdq_SHiYa^x4(Aa5_4urqvK2J)WG4`q@|wF8UNLESP)r9p zaFXZ1l;VXHx>9WyQhMng_#DznwnZd*A`tq%I>sgd(568ByrAxEL~u8U zJNx!z99EjInj+z68lf%A()z?ukEAxiiLU)#>-qv*O(2lw``ae$CVYOCFVE_V9XA6` zIW>6!Uc8G9oqYICho1j76cRow9r!f+87QRW<$tESEWzqHGhi*tj*odHO+o5dkUAEm zd)q?lD(vPBo>1aBcDw2QFg`oBhId}7;hk{}Z^jtzIO8(jFlh9X2YcJuZc++4DTS)g PTL9yu6vq$HF+N@bsa&*!+V?AQgKOd&m@K!&B%y$U;1=sx*+P)gM??2S{MLEsfn+@t7BC_Ax~2DD*! zoB^-UjtWh!-YTQ=$_>aVl#^k56e2@so;!~mMw=r)eNx6IOzye=g=x;t)C>aenp#)j_)WGvswdXH0yfp$ zp0!JITH={{hNMf_SLQ4Q1)Z7BL+(`R9Oxvn*o z^tli#*g=oWXFMmTpNYz2> z$NdHkE&!)}AZj=TgiB6CF_mALCidaYNKkPmFiwuYLOse?5BBB!`n#wUKf>-visKYX z0|`f!b`~t+5L+ZZg^PW`IzM#-dIeF6w#CjN-S1LMG@-hSZJ95YUibyO4+XK?6=~cU z$=iSkh<%mvep2KwmtP8}Likb;ViAj5BK;VH@?nw40gkoP!JaLc`_!{bAJntIASj4< zej~~X#0wCpmEX`T2HVITMvA~WH|Z)r;Ds7IM(V^=lW;1($O$_}jZL+X!5JAe=R95n zk_{#CQg#p%?}WvD1<(+qE%Dj(NJe!j0+I0}&9=ok>TwO;4*6DAhG*(qxIO0%*ivF@ z_2}?IKko2Cj}I^Okm||dg?{AlBDsrRI<_8@w{`})E7AqKder@aYe(s zRW=9tQVeFqzr+>*+|DkC7HIH1t%4)3K##lvJ@X1yP6Rm4X%d{P8r(^rJhWq>x9voF z(+EsnLr)x?#X03ex|`1(^5p(C)XRcmRE0?RBg&C`GVA_-bQ&0A=IzI1luaYNGwD_HFQF0S`Tzg` literal 7366 zcmds+Pfyf97{*@%i;x&il#7W`$a2^w&^da55U~(kv&Mt4>WK{7u?(~`n|8V^BpyBJ zM=nfHC>^KYo^1B`0rUR8=yd75e6uv2-~xDBmZkWt+7ey( zhSme(2kJpM6dWz{R_GBX0@(rG3h6e*!4^eN_$pt)j!Rbd2#PvHX@_&vYrE?Hxu|_E zYdZ!Ga=IoWJUkGqU>{5W*)XSQp+;=kf>C46bkC1CEv$; z4H}dm(*Y1Ym;xdcrlFKduSz2a@Hz)4B?2d8_6w9zvDjOY2PfZu3h^Us=74xSzayDO zm3C%q;u1$@Jm;kIMM?bFE$9{mDOwOaha`WO+Oi4NJ?yAFvFw^J(Y-GS-KI?6awcs= zi2xH+>?L*meCcIyEQBuw5tfm-Ci9NGko)<@y6Ix(NaQ|cPT50x@+SlZ0Uun0vZ}EB zVOseG&0?tKUR;z2TrN|t@*Q64p<|`qOEn3m(hHn4VD$J>GZ~xQA#=H+MG{%j5-la? zF!EOV+1CIKG1d}a&5RV(j7%QotIbYPCJcBZZ-_mCi?`#vBR-UTvu3nWVV<;6Va6L3 zW=PFsqr&Xls7TIw_Ez%K-6P!z!H|^> hLsHw@18+am9|P_TzNYA!^8BOhZaleaz(jh~`~z0l-@X6< diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/ui/diff/StatusDiffCallback.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/status/ui/diff/StatusDiffCallback.kapt_metadata index a94ce1c166713028577caf3c40201ed8bfbdef74..55ebaf1e90d03e3d09f3dee09051bc80f1b32e46 100644 GIT binary patch delta 416 zcmZ1=xx> zCo3=plcL;&DUNvMvnGcy#}cpHgtdx+frVl6dB)Vq`m3-|(F`Xb&6f)~zgc9Yf(HBPl;0}0tLo838QXU=!deEbH5BY-hbuM6ru4mF2| z_^7ojamYQs?QlW2n;qszpR;Y3?i0y*5Me2ZL-D5mtP@5&DvEJwl{L9doEC*o_*q0n zglR~G;0L(EolZ!Zj4)xY;J&*q_%3xMuJanN5-*_DLyGnNaC*N5KWqo_I2Lq$p;zyZ zBN7e{iO=vZ*(d7XW@ATtQh^^k0^9To#pc0E#}C{(Y3C97XLw+Y+-JVbBj%s5Y>YXy zIg|8N9&s0@VKIw47J(rb`sQ*ihtIq45}ssn4+%NewnXS=T^dl2$UI71;T^0PlVJ0( zO_=Hfd3^d6cy0__D_m(UX(F> zi)Hc)G|tR{cE%;EyEHn|5AY)rwUk{fj~F4b2%K*9yLNf%9;kR=X1I%jHU*7Z@e+xd z89+=f*UQvfcw@{8XUiSQ+kU{MO@wMNP2Vf6=^%!sG94k2z7yd#adDkSkxE_b#GUP( z`IJWOe0HPh_wdk|wCIpI301kAG1EWJ;K>%XH(4tEYv8d6oKNVUgAb;Ue%4MMX)*0I ziAPsLYkJX9)8k>JSlN1GyvIoVPm}3f=24+yzKZ%3j94!o>e*M|zUf>)9j+3Ai?2s> zr*2Md*Ij|zaWG4A8A@^)N^+S6Gk?r&^D+%FI>R8HVNf^2%+LH@u>kkZ&IX)pMM?6l zYzWve3nsF^>40!E6*83@Qp*hE1Bwl}o>sfg67HNl9$=`z&)BXQrM9Cev7?K9 z+^Z_*s*TuMYjG_gI*_sgi99O&D?6hfE3`B zfu1M6Ti@~^WqDBF@}Luz$Aap>Yy7oux_aD6z_sH?TW~2AN4T7R+kzV@<-N88k257> HWiI~$AQR3} literal 6026 zcmdT|(Q4E{6un{>R8$aaO9i2_MK-m~yb4W(Dc&2qo%>Gx-&`0OA)97Y&e z#HU=4ExJST?R-Nww-x3-vIn)iEtEU27kk{ZTeMri#J|A9+=+9+RRL4}1q-=T_G?lo z_NIVomnL8?J8ew@$Jpd+3(exqcIg#7%})Cm8EaaLIc~~k9&@NFAiI^`!(wg>YSQmg zffb;Db6}mLzcjBjN zi4H9%H6|A3$gz1FJ;zjh7z?A8&z+m4&LO*e~ zNCFq#|9>nujc0RL;EwiUu@y68D`v)4%z()wt=f!Aj7#KO%*eNxecv)O`DercGI%;| zYSIy8du!Oeuk&@3cE8AdaLZMdF9`+^eg9=y*GQovJkOJ^CW zP%~DcbHlus(Awf5?#v{vE;CXeCX3Ew5$J%KHdWM&4qZ*l#lu#!7F}`BD>R_~yaD%8 zU1bai6JE>|JG!@_)-h4*m_w~&9?&`lG&0*bv0%EoUqisP{dendDPcyqocvmc8wuot Nk^@gtq1?1w{SB*9$rS(q diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/trace/network/StartUpTraceNetWorkModel.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/trace/network/StartUpTraceNetWorkModel.kapt_metadata index 2a353e8e4b0b95f1aed5ed884711b8de9f469593..4a79d76450395785ca25e3d1438b54511abcb765 100644 GIT binary patch delta 405 zcmaDW_El^`mc}9d(BjmhV*S+I#G<17a($QlgP>vVvjZ;Hjwmv a^MUSSPMUm!;=>78T`}>$~J9m*%GCl@#kI=A{(n eXQl)c4Ha}$SWCQ?Ldn;T3 delta 107 zcmaFE_KJ;j&07Z6Dh3AT#EG2q)%WX%7N-^!>*waD=O>ny diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/tts/TtsManager.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/tts/TtsManager.kapt_metadata index c0921228557da755fe31affc771d8cb59fb73020..2d116272ce5499dcc973d0c94fa4727e37c448db 100644 GIT binary patch literal 2854 zcmdT`&q~8E82{EOs2303WzZcu*qVz6VKR_y%)Dw3V&jI#89tC+G!MVp`G=CTg6tjR0J;urKeo8$N zGCK6h3=77h1PPI#zDRnQ;(&0wf7yXobej;KAQEHF*&}K(ZyFOS7h>vj7W&tmjff{u zk9AlZ2N7vM6QmlTtU)b|C()vDP1S38ec3qS9*S{D(Fo75-2L~Lb;m*?wNBwmXSXep zr>M(5iAaD2F%5bP8d}hsES_L0iC`LF3+}W4hcpzDa_=W%t@G}O|Ij$dQ@pNx?vP(0a|^J#QidOBI+H|>L4aHd0S!(d7~ zP``quEcMdRbJNgs)6lDcovqlGi`6_VR93huE8L%~sFqeM6+rpw^&nZVNT)r>Bm{@q Q-2jeP>=zCo7uP!Dg|jvU9>A}aaV?9Or}j{N-`=k3{C=dI&G*E+$c&_2EQt)aOnT5++x!ed;H4PI2s0H0DD- zz+ONGPXwj=qhkLy4VOXI-%ji8vc7q4962b&l%Y9ZVcGrnceNKn0yWOzMy1=7z;njQ3#GJz z^arqB#9f|tcAj>2o^}?P#fn3L*eYWpO$j?q3Hv)GTJ`OU1*lxT8zH+DX|gAUexO#| PP2p_IieRu+Q1hlQur(!C diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/IPCUpgradeApiService.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/IPCUpgradeApiService.kapt_metadata index 492824343a0d9eaedf01e0da382aaa0c3bbcb1de..1ca5f5857e862b77cfd324805194751db24f06ab 100644 GIT binary patch delta 163 zcmbQiJ)3*NI*lFrp~b01#rmnaiA6>E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9EZ inWs$7WSmQyhJ#G*q-eO#QN_T(*qc|HxS5ZoixB`G_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nUnRI jrcBOaoJ)fG+a#!+GWi&@Ge=%&Vif}eW7lRumM%sB$7ww) diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/IPCUpgradeManager.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/IPCUpgradeManager.kapt_metadata index 9045ee9780bf3eb04ce433a7604f8e5403b9c43d..d131543c5db1af80e10f606a00c9894252025b7e 100644 GIT binary patch literal 7458 zcmds+L2nyH6vrP*LR*k3BuWrMNR{G)Es>oA5~505a2;b@*}<_LNA1N7yOYf(-WfA9 zPI2!XIKzP}cTSb~0DOdA;6orj05{(3u6NfP2TJE)mPl4+Cp&Lm{(f)f_hx?j1Gb(5 zYy$qgf}gkGGgpM<>FJp!q434n6_SllX57_*;A4+nP%Xqnk=fLj)MKRGYaGSRF6Go` zawlvEuG!ZbekMnXNkv#lr4&!dzHnzD<605QJt+dOC&d|aHR+0$Xi|T|nsY|Xgk&+{ zZV*ld&V98uCGAq_Y=qZbrMTRHEXYZPJgR~T6u+6ks^qRRo($3mWWg~ul4 z)np6cb6ZX5Op9qS5qhAho~aUx@c<5O#Wq@HOZ33 zL#g;MhK&Flzr)a008EqdQLojn?>EQYL2EpG)N7Vkk~toQ4Relq0R!X|YZjHlD*5wlV}f(A7>t zTF6DnWL%Sk&Gu@e@~ZRdyYR?X9ZjXrbhXxrsBuEMPZ|@d)LwaIxwa4A+R7q$S4E3} z-)AlhE|^#C7@KAbAj}|o%;z4}lzbU*FW|mQWv&WHH||o0*tKWyy}g$8W!~*GH5FX3 zzmYU0WKtMwP^i?3zWxlpu~jswIdKg;31nD}b9bhL3F!n%@8xoNpe07;ik>pBdpCc9 z3tI`lnlU*yn*dhKSeqvrM(f{_X3-*$?=G`&ZwPp3E1buamSSElvkq^5XHQpm4OiSR zwG11#;77}Fs5BOkxq}$dPS1K097nFOoZvsfA<-i6Z_oddBeW(AEG5Wk{C^0#=hnHG z2~u82#meSm%eW}L>IZ0(!gWLaDxm{mWFYwNym1Cczj``HE ze1`ETx??Ebi6|atmCP{|?_?D3Wap77#n&KO1lr5SY-)l-!3%7ga`BZurdaG0h8irc z!SHI6S9_Y;yb8641>7{1qGM>&F|>I%dNhRO#Nc%Q{oBQ^%RMz{7OcJ`#C}i&xfhxH z!{VS^)GX0o0sL;H@B^=<%@JH*EX#0X(Hg-)?z^Z-mE2Q2-Z*e4X93v(GoRx%SbQnc zIK_~{vOC~eUld2Eqho*?A zs=3lE9ETKtNoNo}#c!Fc#H=uPJaK|P%$d4usIz2=6fIRUOGdoy)xZVEtNX1%>@WXM B<}LsL literal 7437 zcmds+L2nyH6vrP*LR*k3BuWrMNR{G)Es>oA5~4~exQ;Qd?2yEcqjE9R-N||q?~Iul z2i!Xc&T!z$om0gZ;3M<`Uw|9pJMdB@kOODoA5 zz!$EP*btcTu{1qH%~Y3Hi~F$Ws>O)vEOGi&pIo^b@h0%!vpva}wV&Y7Rgx@YY<#e` zIFc`gFqhWk4`{e*(yzC!JTNZ%{40M!-}U)1M}`Nxt^N9TbJ*>*hW&@T&C&|8x(;8u z3X&yB`nIj$TZM&~FE2!vcoVpiS8fy9uG%zYG@$}1<%LLb6)LPeg|A#y;DVcKhl)T+ z9v}}PiU~tfB-^SDN-NH*@4`b@aST-WrbeFPzmU8!*o=Blt zwR5hb3oa%FTZ=$t7WDNe@SUrmX_<-p*AZ7yHA&p5;bYR_+HB<#xn~r{<&u#S?|C|5$ykl262^Pq1(GE_fwETcZ%BCHs$0OcQF2x-arnIXgF98-wLo#N z%qpzhf}b6Oq0*SM6B4QGuMq|AUZw>YR9) z9;IbdEN4D(jEeF;`z>rF--P$#axAUJytEqg(rT;*xBsj;GOwZj(O7J<+HN{ zkD7ay-MyIIaaP4V%kEyr?q1e?T(El$+GqVF$eL^dm#PHzq$nWm0*B9Cvm-TV7Q9{(UOy-j-1E%+VbLfT zH5XtX+*n`_ytcR;!1ei_3^(Ri1K7!Z7j>nudaTF2eQd#0fZTwYFPNX6fHX!JQdn_w zVU~r@N6%r}e)em{N!N3hy`6oAv7oW*0dFrKA3!VrkN9-PChGm!o~<3KdZxem)39h5 yQEiy=dNceJC8szxD={nVfliX34=!}oL0_3CQuI{GJX!J9m%|nuE+2P>uzvtykKnHW diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/IPCUpgradeNetWorkModel.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/IPCUpgradeNetWorkModel.kapt_metadata index 0c03617b0bcf52ad75d00e83591b3dddd53134f3..2d36669beed94699c3ba3e7c5fcbdd5a1cf4957b 100644 GIT binary patch delta 270 zcmdlkyhnJ#K8;=ap~b01#rmnaiA6>E<@zr9$)&lec_qdAiFqkS`I#vJMfq8&$t9CN zvP_>`!+4Hp4Vw#@To{Q~J-Luci?xb@frVkRB3sVna+YA?wSHu|Pm1E1nG_GJCHeX;`N^fZsd**E`c)a38Ks$7nTf?2nUn7` zYi$-_v}Pnl!(;)*oXMQb>qybVp_^7(#lXPAFj)&X^Xx27CwYWAH(6^WD}O2_R0PD!OeAehfBYE z78-Pdc5vPea;rn(1X`Xt)Jct)PQl5o2=L}D!kN_4)ykFs?TD-h{A}qjTMR(>;c&FV zp(MDwV3zkxQm(W!=O#=G>^dX0IL$3Bg(v82O{08p^D8pm=2;_?TPD&9QuAZt@18z= e-u7QQNdMCvC@xus{pG9=2b)Cz4mVfdOTs6cs6EaA literal 2208 zcmdUwPf7zZ6vp3(LIuy@rY_n=&BCQp(01s66`|vFJEYT?Nu9|nlT5|#ynzSl&TDuN zSKh&N>a>O8Dn*qvQBOQh4JINw_Cx7PccXQ(V9DHW1T=!}}vHcvl)(n}dW;nptB zN`isgcdvc7sxmki;91Jh!E{Qc!KSJjz=yR4S3(NiZZ!YB9f~BdYv&(NjDXw0aJGh_ z&Y8ZUiUnEHX!Z-+CRB3b>r6;~Syfh?R~YO~qRLS7D=^m1*#J{jB24yZ+Y#~SKYxDP cR}meVLV5tT5@a|oXG1vIP5^Maz1mF&-|z`Lwg3PC diff --git a/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kapt_metadata b/core/function-impl/mogo-core-function-devatools/build/tmp/kapt3/stubs/debug/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeManager.kapt_metadata index 0f9ef1496752a865707c3d0b56830b7f2f91a1da..445286a19f6d7be9e898723724dad2c974f5c463 100644 GIT binary patch literal 5608 zcmeHL-D(p-6h2L>v?3~aC3q2OFS6Lq;B`a&scjLr8f{bbLh5vPy4hxTCd^J++bbVH zybvsX2(S7OK1FYQ0N=rx{Ylcyf|3zr!9d7zvU|>)FX!j`^6e*FIRTgf^_o)eTky!^ zF+S-WNF4Kk?|NL&-TglEWXRdBPY;RYJW6oC7YO20+|E8X2_pd&^D*hcIc_IZB$&oT z2!4d0a<3m#CKF7UFL>y;1V5mj#G8DBuaO|4YsVDpK)49B6vn+MJ;0K-FAeO&10=%3 zF$ozyAcsUfJ^7(gSE|gXUs$HT{dl9Isn^b7+Xle-ycqH#Snz2?10rcv;kbZxD>znp z+#^i&ON9VPhd|cESwGZH;gb~#K0jhECw_}~T{RmTZr=T>SD94f0I%xL4|3T}J2)aN zz*|y;EGV%!I~Brm6vpX~@YV`O&bA~GvSFfBSxja=!xu|TTBM(-k}@kt`_+pJQ@vQS ztx}9uHOV?NP$;c1IcfC+c#!vS42Az&l$o1rG#Gl14fNOi-Uy7M$55 z_-YBxddR}0L;e57rbyDYGw534xu!UwCYx}s|EF(52(DX%^Hqt z<9fNG1gv%eEt|YYAgz3Lo&Irqr9+@p;t%ntYC)Vr)21M*nl@AWdk)-jS(d9Zl&dn7 ztFpzq-p5F*GL)$@)8fF(ac{OF?@l3i#-lrMxA@8=sA}H7<}A|$;}0&@)sKy|BtWSo zP>BkP3Q2&5k^pH*fQFL5fp+23jF^tn33bLj<+fnl=4q8UaiBhOiy2(=adoxHfHgHA){}mZijtDgA8cz{;Xt#9V8(ZUPt0bE{Q+~u)ehV)+0*c<#Avs?e*t{R BFG&CZ literal 5592 zcmd^D%Wl&^6unIgY7qh?R!A&@(nT!V8L>{ptF#p&g+iMO7N|_^sWXi|6OG3$>530P zERd-B5o}<=*L1@N@DGe1lZMz5Ql>((h!okHco2%;3@``!Go!yZ;Gru* zeB3)wI269vb%mt6`!RPF6MWaBheQbxL^vM!l6Vw%v+D-o#HX?mk^y|f-H6I4-A`gA z@Dt(2A>}I4c3CfG2aH5LhBw5zSS5ZySBDfQez5Vg%)&vC?q5#Umq+X8{v+w)kT8x9 z$RW|Yr$005D;@akbIZuLAFWq2^4fRUw!yEFr$U|riyjTAPZX^v8fUO(g~o~q2ZZZl zsaE`H6QD9HhS~{yv;x5sN4z75w@KW-?hDNh;hq%C(}l{F?gV%xxxQDePFlVJ;Xd9{ zl5xLe#o4JAlm^Aw5AencMZvcek*Zk)sj867eS*)HkZh7T(g{_}o5XH1vM^0%N;Xhp z#R6C8F|{Wt=??_cskcW7$J;%<;62v2t*T;qxd(4;v6RA>G>QzIX%iT$#iv!pX8s7i zSYorrIE#AJGuVv5()r&~?aC?iE#X|1Qphqa3x!E5CQKEi7#UzW8U%`}#FY#?{u9s_r+dnm08Lr#5-BxMCP*!>8&`J=S#6 zUNxd7ERi4sGZ5-YAa@M6-Mt+2agG|r@V2X336idy1QeFSoC=miE z6#_a?Ns$o(=v)Y(LcsQ*erUqp?r6=Swpmor`3|gf%@1ZMdt|(*Jm3s(xQ>6 zLw-GGw%}MdftepIo6zqHo)N#|ktbIiK<44XLCRkWyfcJp($rEt<4Z{MC1l(), IMoGoHmiViewProxy, MoGoHmiContract.View, IMoGoAutopilotRecordListener, - IMoGoAutopilotStatusListener, IViewNotificationProvider { - private val TAG = "MoGoHmiFragment" + IViewNotificationProvider { - // DebugSettingView - private var mDebugSettingViewFloat: WarningFloat.Builder? = null - private var mDebugSettingView: DebugSettingView? = null - - //SOPSettingView - private var mSOPSettingViewFloat: WarningFloat.Builder? = null - private var mSOPSettingView: SOPSettingView? = null + companion object{ + private const val TAG = "MoGoHmiFragment" + } //StatusView private var statusBarView: StatusBarView? = null - // 超视距、路侧、前车直播 - private var cameraListView: CameraListView? = null - private var cameraViewFloat: WarningFloat.Builder? = null - - private var toolsView: AutoPilotAndCheckView? = null - - // 检测、自动驾驶速度设置 - private var toolsViewFloat: WarningFloat.Builder? = null - - private var maskViewFloat: WarningFloat.Builder? = null - private var maskView: MaskView? = null - - private var upgradeTipsView: (() -> View)? = null - // HMI 视图控件代理 // 红绿灯 View代理 private var mViewTrafficLight: IViewTrafficLight? = null @@ -162,29 +130,18 @@ class MoGoHmiFragment : MvpFragment(), // V2X预警弹窗 View 代理 private var mViewNotificationProvider: IViewNotificationProvider? = null - //工控机节点上报列表 - private var reportList = arrayListOf() - - //工控机上报列表悬浮窗 - private var reportListFloatWindow: ReportListFloatWindow? = null - private var ipcReportWindow: IPCReportWindow? = null - - private var adUpgradeDialog: AdUpgradeDialog? = null - private var lastSpeakJob: Job? = null private var lastShowV2XJob: Job? = null private var showingV2XTip: IReminder? = null - private var roadVideoDialog: RoadVideoDialog? = null - - private var busOperationStatus: IOchBusView? = null override fun initViews() { initViewShowWithConfig() // 同步AppInfo Config信息 - CallerDevaToolsManager.syncConfig() + CallerDevaToolsManager.syncConfig() //todo arrow 页面初始化 放到合适位置 + //todo 抽象fragment能力 放入baseHmi val decorView = requireActivity().window.decorView as FrameLayout statusBarView = decorView.findViewWithTag("status_bar") as StatusBarView? //设置StatusBar初始状态 @@ -195,24 +152,24 @@ class MoGoHmiFragment : MvpFragment(), } ivCameraIcon?.setOnClickListener { - if (cameraViewFloat == null) { - showCameraList(CallerFuncBizManager.bizProvider.getCameraList) + cameraLiveView.showCameraList( + context, + CallerFuncBizManager.bizProvider.getCameraList + ) { liveStatus -> + if (liveStatus) { + ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_selected) + } else { + ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_nor) + } } } - /**ivCameraIcon?.setOnLongClickListener { - activity?.let { it1 -> CarcorderPreviewView.show(it1) } - true - }*/ - ivToolsIcon?.setOnClickListener { - if (toolsViewFloat == null) { - showToolsFloat() - } + toolsView.showToolsFloat(context) } viewShowDebugView.setOnLongClickListener { - toggleDebugView() + toolsView.showToolsFloat(context) true } @@ -278,16 +235,9 @@ class MoGoHmiFragment : MvpFragment(), } } - @OptIn(ExperimentalCoroutinesApi::class) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) CallerAutopilotRecordListenerManager.addListener(TAG, this) - CallerAutoPilotStatusListenerManager.addListener(TAG, this) - - /*// TODO 这里后面需要改成独立进程通讯后台获取YUV - view.postDelayed({ - activity?.let { CarcorderPreviewView.show(it) } - }, 1000)*/ // 首次初始化使用默认视图 setProxyTrafficLightView(viewTrafficLightVr) @@ -298,7 +248,7 @@ class MoGoHmiFragment : MvpFragment(), override fun getNotificationView(): IViewNotification? = context?.let { V2XNotificationView(it) } - override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { + override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { //todo 数据中心 CallerLogger.d("$M_HMI$TAG", "recordKey=${recordPanel.key},stat=${recordPanel.stat}") if (BadCaseConfig.recordKeyList.contains(recordPanel.key)) { if (recordPanel.stat == 100 || recordPanel.stat == 101) { @@ -364,20 +314,11 @@ class MoGoHmiFragment : MvpFragment(), override fun onDestroyView() { super.onDestroyView() CallerAutopilotRecordListenerManager.removeListener(TAG) - CallerAutoPilotStatusListenerManager.removeListener(TAG) - } - - - /** - *注册工控机升级提示圆点View的回调 - * @param 提示圆点View - */ - override fun registerUpgradeTipsCallback(tipsView: () -> View) { - upgradeTipsView = tipsView } /** - * 工控机重启返回结果 + * ok + * 工控机重启返回结果 todo 确认数据源 * @param code * @param msg */ @@ -396,6 +337,7 @@ class MoGoHmiFragment : MvpFragment(), } /** + * ok * 展示工控机监控上报数据 * @param errorReportList 错误级别上报数据列表 * @param warningReportList 提醒级别上报数据列表 @@ -408,33 +350,16 @@ class MoGoHmiFragment : MvpFragment(), ) { ThreadUtils.runOnUiThread { if (reportLevel == 1) { - if (ipcReportWindow == null) { - ipcReportWindow = activity?.let { IPCReportWindow(it) } - ipcReportWindow?.setClickListener(object : IPCReportWindow.ClickListener { - override fun closeWindow() { - ipcReportWindow?.hideFloatWindow() - ipcReportWindow = null - } - }) - ipcReportWindow?.let { - SoundUtils.playRing(requireContext()) - } - } - ipcReportWindow?.showFloatWindow() + IPCReportWindow.show(requireContext(),errorReportList,warningReportList,reportLevel) } - ipcReportWindow?.refreshData(errorReportList, warningReportList, reportLevel) } } + /** todo----------------------------------------------- **/ override fun setViewNotificationProvider(provider: IViewNotificationProvider) { mViewNotificationProvider = provider } - override fun setBusOperationView(view: IOchBusView) { - busOperationStatus = view - busOperationStatus?.showBusOperation() - } - override fun setStatusBarDarkOrLight(light: Boolean) { statusBarView?.setStatusBarDarkOrLight(light) } @@ -455,21 +380,6 @@ class MoGoHmiFragment : MvpFragment(), statusBarView?.updateMfStatus(tag, status) } - override fun showDispatchDialog(msgData: DispatchAdasAutoPilotLocReceiverBean) { - context?.let { - if (DispatchDialogManager.getInstance(it).isShowing) { - return - } - DispatchDialogManager.getInstance(it).showDialog(msgData) - } - } - - override fun dismissDispatchDialog() { - context?.let { - DispatchDialogManager.getInstance(it).releaseDialog() - } - } - override fun updateDriverMsgBoxTipView(show: Boolean) { if (show) { MsgBoxTipView.visibility = View.VISIBLE @@ -500,73 +410,6 @@ class MoGoHmiFragment : MvpFragment(), mViewLimitingVelocity = view } - private fun showToolsFloat() { - context?.let { - if (toolsViewFloat == null) { - if (toolsView == null) { - toolsView = AutoPilotAndCheckView(it) - toolsView!!.setClickListener(object : AutoPilotAndCheckView.ClickListener { - override fun onClose(v: View) { - dismissToolsFloatView() - } - - override fun showDebugPanelView() { - toggleDebugView() - } - - override fun showFeedbackView() { - dismissToolsFloatView() - CallerDevaToolsManager.showFeedbackView(it) - } - - override fun showSOPSettingView() { - toggleSOPView() - } - }) - } - toolsViewFloat = WarningFloat.with(it) - .setTag("ToolsViewFloat") - .setLayout(toolsView!!) - .setSidePattern(SidePattern.LEFT) - .setGravity(Gravity.LEFT) - .setImmersionStatusBar(true) - .setWindowHeight(LayoutParams.MATCH_PARENT) -// .setWindowWidth(AutoSizeUtils.dp2px(context, 960f)) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onDismiss() { - toolsViewFloat = null - toolsView = null - // TODO:("") - } - }) - .show() - } else { - toolsViewFloat?.show() - } - } - } - /** * 根据配置文件初始化视图显示 */ @@ -603,8 +446,8 @@ class MoGoHmiFragment : MvpFragment(), if (HmiBuildConfig.isShowBadCaseView) { ivBadCaseTools.visibility = View.VISIBLE ivAiCollectTools.visibility = View.VISIBLE - CallerDevaToolsManager.initBadCase(ivBadCaseTools) - CallerDevaToolsManager.initAiCollect(ivAiCollectTools) + CallerDevaToolsManager.initBadCase(ivBadCaseTools) //todo 新超 封装在hmi view + CallerDevaToolsManager.initAiCollect(ivAiCollectTools) //todo 新超 封装在hmi view } else { ivBadCaseTools.visibility = View.GONE ivAiCollectTools.visibility = View.GONE @@ -624,6 +467,7 @@ class MoGoHmiFragment : MvpFragment(), setCameraViewVisibility(View.GONE) } } + /** todo----------------------------------------------- **/ override fun getLayoutId(): Int { return R.layout.fragment_hmi @@ -641,6 +485,7 @@ class MoGoHmiFragment : MvpFragment(), DisplayEffectsHelper.getInstance().display() } + /** todo----------------------------------------------- **/ override fun setSpeedChartViewVisibility(visibility: Int) { viewSpeedChart?.visibility = visibility } @@ -665,265 +510,7 @@ class MoGoHmiFragment : MvpFragment(), ivCameraIcon?.visibility = visibility } - /** - * 开关DebugView - */ - override fun toggleDebugView() { - CallerLogger.d("$M_HMI$TAG", "长按显示状态工具栏") - activity?.let { - if (mDebugSettingViewFloat != null) { - WarningFloat.dismiss(mDebugSettingViewFloat!!.config.floatTag, false) - mDebugSettingViewFloat = null - mDebugSettingView = null - //关闭工控机上报列表 - reportListFloatWindow?.hideFloatWindow() - reportListFloatWindow = null - } else { - if (mDebugSettingView == null) { - mDebugSettingView = DebugSettingView(it) - mDebugSettingView?.reportInit(reportList) - mDebugSettingView?.setClickListener(object : DebugSettingView.ClickListener { - override fun showReportListWindow(show: Boolean) { - if (show) { - //打开工控机上报列表 - reportListFloatWindow = ReportListFloatWindow(it) - reportListFloatWindow?.showFloatWindow() - reportListFloatWindow?.refreshData(reportList) - } else { - //关闭工控机上报列表 - reportListFloatWindow?.hideFloatWindow() - } - } - }) - if (mDebugSettingView != null) { - CallerLogger.d("$M_HMI$TAG", "new DebugSettingView success") - } - } - var side = SidePattern.RIGHT - var gravity = Gravity.RIGHT - //调试窗默认靠右显示,Bus的乘客端右端有视图覆盖,调试窗靠左显示 - if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) - ) { - side = SidePattern.LEFT - gravity = Gravity.LEFT - } - mDebugSettingViewFloat = WarningFloat.with(it) - .setTag("DebugSettingView") - .setLayout(mDebugSettingView!!) - .setSidePattern(side) - .setGravity(gravity, offsetY = 70) - .setImmersionStatusBar(true) - .setWindowHeight(AutoSizeUtils.dp2px(context, 1100f)) - .setWindowWidth(AutoSizeUtils.dp2px(context, 800f)) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() - } - } - } - - override fun toggleSOPView() { - activity?.let { - if (mSOPSettingViewFloat != null) { - WarningFloat.dismiss(mSOPSettingViewFloat!!.config.floatTag, false) - mSOPSettingViewFloat = null - mSOPSettingView = null - } else { - if (mSOPSettingView == null) { - mSOPSettingView = SOPSettingView(it) - } - var side = RIGHT - var gravity = Gravity.RIGHT - //调试窗默认靠右显示,Bus的乘客端右端有视图覆盖,调试窗靠左显示 - if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) - ) { - side = LEFT - gravity = Gravity.LEFT - } - mSOPSettingViewFloat = WarningFloat.with(it) - .setTag("mSOPSettingView") - .setLayout(mSOPSettingView!!) - .setSidePattern(side) - .setGravity(gravity, offsetY = 70) - .setImmersionStatusBar(true) - .setWindowWidth(AutoSizeUtils.dp2px(context, 800f)) - .setWindowHeight(AutoSizeUtils.dp2px(context, 1100f)) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() - } - } - } - - /** - * 展示VR下V2X预警 - * - * @param poiType V2X类型 - * @param alertContent 提醒文本 - * @param ttsContent tts语音播报消息 - * @param tag tag绑定弹窗的标志 - */ - @Synchronized - override fun showWarningV2X( - v2xType: String, - alertContent: CharSequence?, - ttsContent: String?, - tag: String?, - listener: IMoGoWarningStatusListener?, - playTts: Boolean, - expireTime: Long - ) { - val playTTS = - playTts && !AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) - activity?.let { - val warningContent = alertContent - ?: EventTypeEnum.getWarningContent(v2xType) - - //占道施工预警 - if (v2xType.equals("10006") || v2xType.equals("100061")) { - val currentTime = System.currentTimeMillis() / 1000 - val oldTime = - context?.let { it -> SharedPrefsMgr.getInstance(it).getLong("roadwork", 0) } - if (currentTime - oldTime!! > 60) { //超过一分钟,才会继续播报重复提醒 - context?.let { it -> - SharedPrefsMgr.getInstance(it) - .putLong("roadwork", System.currentTimeMillis() / 1000) - } - CallerAutoPilotManager.sendTripInfo(5, "", "", "", false); - } - } - - if (warningContent.isEmpty()) { - CallerLogger.e("$M_HMI$TAG", "Show warningContent is null or empty!") - return - } - val content = mViewNotificationProvider?.getNotificationView() ?: return - content.setWarningIcon(EventTypeEnum.getWarningIcon(v2xType)) - content.setWarningContent(warningContent) - CallerLogger.d( - "$M_HMI$TAG", - "--- show v2x dialog 1 ---: info -> v2x-type: $v2xType : expireTime: $expireTime" - ) - Reminder.enqueue( - this@MoGoHmiFragment, - object : PopupWindowReminder( - PopupWindow( - content, - LayoutParams.WRAP_CONTENT, - LayoutParams.WRAP_CONTENT - ).also { itx -> - itx.isTouchable = false - itx.isFocusable = false - itx.isClippingEnabled = false - itx.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) - val transition = Slide( - when (content.sidePattern) { - LEFT, RESULT_LEFT -> Gravity.LEFT - RIGHT, RESULT_RIGHT -> Gravity.RIGHT - TOP, RESULT_TOP -> Gravity.TOP - BOTTOM, RESULT_BOTTOM -> Gravity.BOTTOM - else -> Gravity.TOP - } - ).also { t -> - t.interpolator = AccelerateDecelerateInterpolator() - t.duration = 200 - } - if (VERSION.SDK_INT >= VERSION_CODES.M) { - itx.enterTransition = transition - itx.exitTransition = transition - } - }) { - override fun show() { - val parent = it.window.decorView - parent.doOnAttach { - CallerLogger.d( - "$M_HMI$TAG", - "--- show v2x dialog 2 ---: info -> v2x-type: $v2xType : expireTime: $expireTime" - ) - popupWindow.showAtLocation(parent, content.layoutGravity, 0, 0) - } - } - - override fun isOverride(): Boolean { - return true - } - - override fun key(): String { - return v2xType - } - }, - object : IStateChangeListener { - - override fun onShow(reminder: IReminder) { - listener?.onShow() - lastShowV2XJob?.safeCancel() - lastSpeakJob?.safeCancel() - showingV2XTip = reminder - lifecycleScope.launch { - delay(expireTime) - }.also { itx -> - lastShowV2XJob = itx - }.invokeOnCompletion { _ -> - reminder.hide() - } - if (ttsContent != null && !TextUtils.isEmpty(ttsContent) && playTTS) { - lifecycleScope.launch { - speak(it, ttsContent) - }.also { itx -> - lastSpeakJob = itx - } - } - } - - override fun onHide(reminder: IReminder) { - listener?.onDismiss() - showingV2XTip = null - showWarning(WarningDirectionEnum.ALERT_WARNING_NON) - } - }) - } - } - + /** todo----------------------------------------------- **/ /** * 不展示顶部弹窗,其它保留 */ @@ -944,7 +531,7 @@ class MoGoHmiFragment : MvpFragment(), ?: EventTypeEnum.getWarningContent(v2xType) //占道施工预警 - if (v2xType.equals("10006") || v2xType.equals("100061")) { + if (v2xType == "10006" || v2xType == "100061") { val currentTime = System.currentTimeMillis() / 1000 val oldTime = context?.let { it -> SharedPrefsMgr.getInstance(it).getLong("roadwork", 0) } @@ -1145,10 +732,28 @@ class MoGoHmiFragment : MvpFragment(), flV2XWarningView?.dismissWarning(direction) clearAnimation(flV2XWarningView) } - - private var noticeTrafficDialog: NoticeTrafficDialog? = null + /** todo----------------------------------------------- **/ /** + * ok + */ + override fun showDispatchDialog(msgData: DispatchAdasAutoPilotLocReceiverBean) { + context?.let { + DispatchDialogManager.getInstance(it).showDialog(msgData) + } + } + + /** + * ok + */ + override fun dismissDispatchDialog() { + context?.let { + DispatchDialogManager.getInstance(it).releaseDialog() + } + } + + /** + * ok * 展示云公告交警详情 * @param trafficStylePushData */ @@ -1158,19 +763,13 @@ class MoGoHmiFragment : MvpFragment(), } ThreadUtils.runOnUiThread { context?.let { - noticeTrafficDialog = - NoticeTrafficDialog( - it, - trafficStylePushData - ) - noticeTrafficDialog?.show() + NoticeTrafficDialog.show(it,trafficStylePushData) } } } - private var pushCheckDialog: NoticeCheckDialog? = null - /** + * ok * 展示云公告详情 */ override fun showNoticeNormalData(normalData: NoticeNormalData?) { @@ -1179,195 +778,52 @@ class MoGoHmiFragment : MvpFragment(), } ThreadUtils.runOnUiThread { context?.let { - pushCheckDialog = NoticeCheckDialog(it) - pushCheckDialog?.showCheckDialog(normalData) + NoticeCheckDialog.show(it,normalData) } } } - override fun startRoadCameraLive(flvUrl: String) { - cameraListView?.startRoadCameraLive(flvUrl) - } - - override fun showNoSignView() { - cameraListView?.showNoSignal() - } - /** - * 展示蒙层 + * ok */ - override fun showMaskView() { - if (maskViewFloat == null) { - context?.let { - if (maskViewFloat == null) { - if (maskView == null) { - maskView = MaskView(it) - } - - maskViewFloat = WarningFloat.with(it) - .setTag("MaskViewFloat") - .setLayout(maskView!!) - .setSidePattern(SidePattern.LEFT) - .setGravity(Gravity.CENTER) - .setImmersionStatusBar(true) - .setWindowHeight(LayoutParams.MATCH_PARENT) - .setWindowWidth(LayoutParams.MATCH_PARENT) -// .setCountDownTime(6000) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onDismiss() { - maskViewFloat = null - maskView = null - // TODO:("") - } - }) - .show() - } else { - maskViewFloat?.show() - } - } - } + override fun startRoadCameraLive(flvUrl: String) { + cameraLiveView.startRoadCameraLive(flvUrl) } - override fun hideMaskView() { - dismissMaskView() + /** + * ok + */ + override fun showNoSignView() { + cameraLiveView.showNoSignView() } + /** + * ok + */ override fun showToolsView() { - if (toolsViewFloat == null) { - showToolsFloat() - } else { - ToastUtils.showShort("弹窗状态有误!") - } + toolsView.showToolsFloat(context) } + /** + * ok + */ override fun hideToolsView() { - dismissToolsFloatView() + toolsView.dismiss() } + /** + * ok + */ @BizConfig(V2I, "", BIZ_RTS) override fun showVideoDialog(infList: List) { - context?.let { - if (roadVideoDialog == null) { - roadVideoDialog = RoadVideoDialog(it) - } - roadVideoDialog?.show(infList) - } - } - - @BizConfig(V2I, "", BIZ_RTS) - private fun showCameraList(cameraList: List?) { - context?.let { - if (cameraViewFloat == null) { - if (cameraListView == null) { - cameraListView = CameraListView(it) - cameraListView!!.updateCameraData(cameraList) - } - cameraListView!!.setClickListener(object : CameraListView.ClickListener { - override fun onClose(v: View) { - // Builder和cameraListView都置空 - dismissFloatView() - // 丢弃开启摄像头推流请求,同时monitor回调hmi的startRoadCameraLive() - // 也做了cameraListView的非空判断 - CallerFuncBizManager.bizProvider.closeCameraLive() - } - - override fun onShowLive(isShow: Boolean) { - when { - isShow -> ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_selected) - else -> ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_nor) - } - } - - override fun refreshCameraList() { - cameraListView?.refreshCameraList(CallerFuncBizManager.bizProvider.getCameraList) - } - }) - cameraViewFloat = WarningFloat.with(it) - .setTag("CameraListFloat") - .setLayout(cameraListView!!) - .setSidePattern(SidePattern.RIGHT) - .setGravity(Gravity.RIGHT, -40, 255) - .setImmersionStatusBar(true) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } - - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onDismiss() { - cameraViewFloat = null - cameraListView = null - ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_nor) - } - }) - .show() - } else { - cameraViewFloat?.show() + ThreadUtils.runOnUiThread { + context?.let { + RoadVideoDialog.show(it, infList) } } } - private fun dismissFloatView() { - cameraViewFloat?.let { - WarningFloat.dismiss(it.config.floatTag, false) - cameraViewFloat = null - cameraListView = null - } - } - - private fun dismissToolsFloatView() { - toolsViewFloat?.let { - WarningFloat.dismiss(it.config.floatTag, false) - toolsViewFloat = null - toolsView = null - } - } - - private fun dismissMaskView() { - maskViewFloat?.let { - WarningFloat.dismiss(it.config.floatTag, false) - maskViewFloat = null - maskView = null - } - } - + /** todo----------------------------------------------- **/ private var isLeftLight: Boolean = false private var isRightLight: Boolean = false private var isDisappare: Boolean = false @@ -1430,105 +886,95 @@ class MoGoHmiFragment : MvpFragment(), CallerMapUIServiceManager.getMapUIController()?.setCarLightsType(3, 500) } } - -// turnLightView?.let { -// turnLightView.setTurnLight(light) -// } } } } + private var isBrake: Boolean = false + /** * 显示刹车效果 */ override fun showBrakeLight(light: Int) { + if (HmiBuildConfig.isShowBrakeLightView) { + ThreadUtils.runOnUiThread { + if (light == 1) { //刹车灯亮 + if (!isBrake) { + isBrake = true + CallerLogger.d( + "${SceneConstant.M_DEVA}${"BrakeLight"}", + " showBrakeLight light = 1 " + ) + CallerMapUIServiceManager.getMapUIController()?.setCarLightsType(0, 500) + } + } else { + if (isBrake) {//默认 不亮灯 + isBrake = false + CallerLogger.d( + "${SceneConstant.M_DEVA}${"BrakeLight"}", + " showBrakeLight light != 1 " + ) + CallerMapUIServiceManager.getMapUIController()?.setCarLightsType(3, 500) + } + } + } + } } + /** todo----------------------------------------------- **/ - private var modifyBindingCarDialog: ModifyBindingCarDialog? = null - private var toBindingCarDialog: ToBindingCarDialog? = null - private var upgradeAppDialog: UpgradeAppDialog? = null + /** + * ok + */ override fun showToBindingcarDialog() { - if (toBindingCarDialog == null) { - toBindingCarDialog = ToBindingCarDialog(requireContext()) + if (ContextHolderUtil.getContext() != null) { + ToBindingCarDialog.show(ContextHolderUtil.getContext()) } - toBindingCarDialog!!.showToBindingCarDialog() - } - - override fun showModifyBindingcarDialog() { - if (modifyBindingCarDialog == null) { - modifyBindingCarDialog = ModifyBindingCarDialog(requireContext()) - } - modifyBindingCarDialog!!.showModifyBindingCarDialog() } /** + * ok + */ + override fun showModifyBindingcarDialog() { + if (ContextHolderUtil.getContext() != null) { + ModifyBindingCarDialog.show(ContextHolderUtil.getContext()) + } + } + + /** + * ok * 升级app弹框 */ - override fun showUpgradeDialog( - name: String, - url: String, - title: String, - content: String, - installType: String - ) { + override fun showUpgradeDialog(name: String, url: String, title: String, content: String, installType: String) { if (ContextHolderUtil.getContext() != null) { - if (upgradeAppDialog == null) { - upgradeAppDialog = UpgradeAppDialog(ContextHolderUtil.getContext()) - } - upgradeAppDialog!!.setCanceledOnTouchOutside(false) - upgradeAppDialog!!.showUpgradeAppDialog(name, url, title, content, installType) + UpgradeAppDialog.show(ContextHolderUtil.getContext(),name, url, title, content, installType) } } /** + * ok * 工控机镜像升级确认窗 * @param images 镜像列表 * @param padSn SN * @param releaseId 任务ID */ - override fun showAdUpgradeDialog( - images: List, - padSn: String, - releaseId: String - ) { + override fun showAdUpgradeDialog(images: List, padSn: String, releaseId: String) { ThreadUtils.runOnUiThread { - if (adUpgradeDialog == null) { - adUpgradeDialog = AdUpgradeDialog(requireContext(), images, padSn, releaseId) - adUpgradeDialog?.setClickListener(object : AdUpgradeDialog.ClickListener { - override fun confirm() { - //确认升级 - CallerDevaToolsManager.upgradeConfirm(images, padSn, releaseId) - AdUpgradeStateHelper.setConfirmUpgrade(true) - ToastUtils.showLong("最新版本下载中...") - adUpgradeDialog?.dismiss() - adUpgradeDialog = null - } - - override fun cancel() { - adUpgradeDialog?.dismiss() - adUpgradeDialog = null - } - - }) + if (ContextHolderUtil.getContext() != null) { + AdUpgradeDialog.show(ContextHolderUtil.getContext(),images, padSn, releaseId) } - adUpgradeDialog?.showUpgradeDialog() } } + /** + * ok + */ override fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo) { ThreadUtils.runOnUiThread { - toolsView?.showAdUpgradeStatus(ipcUpgradeStateInfo) - ipcUpgradeStateInfo.status.let { - if (AdUpgradeStateHelper.isUpgradeSuccess(it)) { - ToastUtils.showLong("升级成功") - AdUpgradeStateHelper.setConfirmUpgrade(false) - } - } + toolsView.showAdUpgradeStatus(ipcUpgradeStateInfo) } } - override fun setTurnLightFunction(isOpen: Boolean) { HmiBuildConfig.isShowTurnLightView = isOpen } @@ -1549,62 +995,6 @@ class MoGoHmiFragment : MvpFragment(), HmiBuildConfig.isShowCloudWeaknessTrafficView = isOpen } - private var takeOver = false - - /** - * 工控机监控节点上报 - */ - override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { - ThreadUtils.runOnUiThread { - guardianInfo?.let { - if (reportList.size > 49) { - reportList.removeLast() - } - reportList.add( - 0, - ReportEntity( - TimeUtils.millis2String(System.currentTimeMillis()), - it.src, it.level, it.msg, it.code, it.resultList, it.actionsList - ) - ) - reportListFloatWindow?.refreshData(reportList) - - if (FunctionBuildConfig.isDemoMode) { - return@let - } - if (takeOver) { - return@let - } - when (it.code) { - EXIT_AUTOPILOT_FOR_PLANNING, - EXIT_AUTOPILOT_FOR_LOCATION, - EXIT_AUTOPILOT_FOR_CHASSIS, - EXIT_AUTOPILOT_FOR_DISTANCE -> { - warningV2X( - EventTypeEnum.TAKE_OVER_EVENT.poiType, - EventTypeEnum.TAKE_OVER_EVENT.content, - EventTypeEnum.TAKE_OVER_EVENT.tts, - EventTypeEnum.TAKE_OVER_EVENT.poiType, - object : IMoGoWarningStatusListener { - override fun onShow() { - takeOver = true - clTakeOverView.visibility = View.VISIBLE - } - - override fun onDismiss() { - takeOver = false - clTakeOverView.visibility = View.GONE - } - }, - true, - 6000L - ) - } - } - } - } - } - override fun showSmallFragment() { // 加载全览模式图层 val fragmentOverview = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_OVERVIEW) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt index bd2df29800..162b620264 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ModifyBindingCarDialog.kt @@ -8,8 +8,8 @@ import com.mogo.commons.module.status.MogoStatusManager import com.mogo.commons.module.status.StatusDescriptor import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.hmi.R -import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import com.mogo.eagle.core.utilcode.mogo.toast.TipToast /** @@ -18,8 +18,24 @@ import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog */ class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver { - companion object{ - private const val TAG = "BindingCarDialog" + companion object { + private const val TAG = "ModifyBindingCarDialog" + + private var modifyBindingCarDialog: ModifyBindingCarDialog? = null + + fun show(context: Context?) { + context?.let { + if (modifyBindingCarDialog == null) { + modifyBindingCarDialog = ModifyBindingCarDialog(it) + } + modifyBindingCarDialog?.let { dialog -> + if (dialog.isShowing) { + return + } + dialog.show() + } + } + } } private var confirmTv: TextView? = null @@ -58,7 +74,7 @@ class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifec * 修改绑定车机 */ private fun modifyBindingCar() { - CallerDevaToolsManager.modifyCarInfo{ + CallerDevaToolsManager.modifyCarInfo { if (it.code == 200) { TipToast.shortTip("修改绑定成功") } else { @@ -70,6 +86,7 @@ class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifec override fun dismiss() { super.dismiss() + modifyBindingCarDialog = null MogoStatusManager.getInstance().unregisterStatusChangedListener( TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, @@ -77,12 +94,4 @@ class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifec ) } - fun showModifyBindingCarDialog() { - if (isShowing) { - return - } - show() - } - - } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt index 44868a424f..31633e2f5b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/ToBindingCarDialog.kt @@ -8,28 +8,45 @@ import com.mogo.commons.module.status.MogoStatusManager import com.mogo.commons.module.status.StatusDescriptor import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.hmi.R -import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import com.mogo.eagle.core.utilcode.mogo.toast.TipToast /** * @brief 绑定车辆对话框 * @author lixiaopeng */ -class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver{ +class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver { - companion object{ + companion object { private const val TAG = "ToBindingCarDialog" + + private var toBindingCarDialog: ToBindingCarDialog? = null + + fun show(context: Context?) { + context?.let { + if (toBindingCarDialog == null) { + toBindingCarDialog = ToBindingCarDialog(it) + } + toBindingCarDialog?.let { dialog -> + if (dialog.isShowing) { + return + } + dialog.show() + } + } + } } private var confirmTv: TextView? = null private var cancelTv: TextView? = null - private val statusChangedListenerForCheckNotice = IMogoStatusChangedListener { descriptor, isTrue -> - if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue) { - dismiss() + private val statusChangedListenerForCheckNotice = + IMogoStatusChangedListener { descriptor, isTrue -> + if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue) { + dismiss() + } } - } init { setContentView(R.layout.dialog_to_bindingcar) @@ -57,7 +74,7 @@ class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifecycle * 修改绑定车机 */ private fun toBindingCar() { - CallerDevaToolsManager.modifyCarInfo{ + CallerDevaToolsManager.modifyCarInfo { if (it.code == 200) { TipToast.shortTip("绑定成功") } else { @@ -69,6 +86,7 @@ class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifecycle override fun dismiss() { super.dismiss() + toBindingCarDialog = null MogoStatusManager.getInstance().unregisterStatusChangedListener( TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, @@ -76,12 +94,4 @@ class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), Lifecycle ) } - fun showToBindingCarDialog() { - if (isShowing) { - return - } - show() - } - - } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt index 644bdc0343..92fe6ed30b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bindingcar/UpgradeAppDialog.kt @@ -15,15 +15,40 @@ import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog */ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver { - private val TAG = "UpgradeAppDialog" + companion object{ + private const val TAG = "UpgradeAppDialog" + + private var upgradeAppDialog: UpgradeAppDialog? = null + + fun show(context: Context?, + name: String, + url: String, + title: String, + content: String, + installType: String) { + context?.let { + if (upgradeAppDialog == null) { + upgradeAppDialog = UpgradeAppDialog(it) + } + upgradeAppDialog?.let { dialog -> + if (dialog.isShowing) { + return + } + dialog.showUpgradeAppDialog(name, url, title, content, installType) + } + } + } + } + + private var confirmTv: TextView? = null - private var cancleTv: TextView? = null + private var cancelTv: TextView? = null private var upgradeTitleTv: TextView? = null private var upgradeContentTv: TextView? = null private var verticalLineView: View? = null private var confirmForceTv: TextView? = null private var tag: String? = null - private var downloarUrl: String? = null + private var downloadUrl: String? = null init { setContentView(R.layout.dialog_upgrade_app) @@ -32,7 +57,7 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb upgradeTitleTv = findViewById(R.id.tv_upgrade_title) upgradeContentTv = findViewById(R.id.tv_upgrade_content) confirmTv = findViewById(R.id.tv_upgrade_confirm) - cancleTv = findViewById(R.id.tv_upgrade_cancel) + cancelTv = findViewById(R.id.tv_upgrade_cancel) verticalLineView = findViewById(R.id.view_vertical_line) confirmForceTv = findViewById(R.id.tv_upgrade_confirm_force) @@ -40,7 +65,7 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb downloadApp() } - cancleTv?.setOnClickListener { + cancelTv?.setOnClickListener { dismiss() } @@ -55,13 +80,14 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb */ fun downloadApp() { ToastUtils.showLong("开始下载APK,稍后可前往downloads文件夹查看,通知栏查看下载进度") - tag?.let { downloarUrl?.let { it1 -> CallerDevaToolsManager.downLoadPackage(it, it1) } } + tag?.let { downloadUrl?.let { it1 -> CallerDevaToolsManager.downLoadPackage(it, it1) } } dismiss() } override fun dismiss() { super.dismiss() + upgradeAppDialog = null } // 升级类型 1:提示升级 2:静默升级 3:强制升级 @@ -72,29 +98,29 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb content: String, installType: String ) { - if (isShowing) { - return - } tag = name - downloarUrl = url + downloadUrl = url upgradeTitleTv?.text = title upgradeContentTv?.text = content - if (installType.equals("1")) { - confirmForceTv?.visibility = View.GONE - confirmTv?.visibility = View.VISIBLE - cancleTv?.visibility = View.VISIBLE - verticalLineView?.visibility = View.VISIBLE - } else if (installType.equals("3")) { - confirmTv?.visibility = View.GONE - cancleTv?.visibility = View.GONE - verticalLineView?.visibility = View.GONE + when (installType) { + "1" -> { + confirmForceTv?.visibility = View.GONE + confirmTv?.visibility = View.VISIBLE + cancelTv?.visibility = View.VISIBLE + verticalLineView?.visibility = View.VISIBLE + } + "3" -> { + confirmTv?.visibility = View.GONE + cancelTv?.visibility = View.GONE + verticalLineView?.visibility = View.GONE - confirmForceTv?.visibility = View.VISIBLE - } else if (installType.equals("2")) { - //静默安装 + confirmForceTv?.visibility = View.VISIBLE + } + "2" -> { + //静默安装 + } } - show() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadVideoDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadVideoDialog.kt index 4325a792ea..1d8f7c8d53 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadVideoDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadVideoDialog.kt @@ -9,11 +9,11 @@ import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.data.map.Infrastructure import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer -import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.shuyu.gsyvideoplayer.GSYVideoManager import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.model.VideoOptionModel @@ -30,7 +30,25 @@ import tv.danmaku.ijk.media.player.IjkMediaPlayer */ class RoadVideoDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver { - private val TAG = "RoadVideoDialog" + companion object { + private const val TAG = "RoadVideoDialog" + + private var roadVideoDialog: RoadVideoDialog? = null + + fun show(context: Context?, infList: List) { + context?.let { + if (roadVideoDialog == null) { + roadVideoDialog = RoadVideoDialog(it) + } + roadVideoDialog?.let { dialog -> + if(dialog.isShowing){ + return + } + dialog.show(infList) + } + } + } + } private val gsyVideoOptionBuilder by lazy { GSYVideoOptionBuilder() @@ -150,6 +168,7 @@ class RoadVideoDialog(context: Context) : BaseFloatDialog(context), LifecycleObs private fun stopLive() { try { GSYVideoManager.releaseAllVideos() + roadVideoDialog = null } catch (e: Exception) { e.printStackTrace() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/dispatch/DispatchDialogManager.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/dispatch/DispatchDialogManager.java index 19872c3114..88cfdb089b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/dispatch/DispatchDialogManager.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/dispatch/DispatchDialogManager.java @@ -37,6 +37,9 @@ public class DispatchDialogManager { } public void showDialog(DispatchAdasAutoPilotLocReceiverBean msgData) { + if(isShowing()){ + return; + } if (msgData == null) { return; } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt index 92597ad08a..ff1cec7f89 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeCheckDialog.kt @@ -10,15 +10,15 @@ import androidx.lifecycle.LifecycleObserver import com.mogo.commons.module.status.IMogoStatusChangedListener import com.mogo.commons.module.status.MogoStatusManager import com.mogo.commons.module.status.StatusDescriptor -import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI import com.mogo.eagle.core.data.notice.NoticeNormalData -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI import com.mogo.eagle.core.utilcode.util.BitmapHelper import com.mogo.eagle.core.widget.media.video.NoticeSimpleVideoPlayer -import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.shuyu.gsyvideoplayer.GSYVideoManager import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack @@ -28,9 +28,28 @@ import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack * @brief 点击查看对话框 * @author lixiaopeng */ -class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver{ +class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver { + + companion object { + private const val TAG = "NoticeCheckDialog" + + private var pushCheckDialog: NoticeCheckDialog? = null + + fun show(context: Context?, normalData: NoticeNormalData) { + context?.let { + if (pushCheckDialog == null) { + pushCheckDialog = NoticeCheckDialog(it) + } + pushCheckDialog?.let { dialog -> + if (dialog.isShowing) { + return + } + dialog.showCheckDialog(normalData) + } + } + } + } - private val TAG = "NoticeCheckDialog" private var pushCheckClose: ImageView? = null private var pushCheckTitle: TextView? = null private var pushCheckContent: TextView? = null @@ -42,11 +61,12 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO private var mVideoUrl: String = "" private var playErrorImageView: ImageView? = null private var connectTextView: TextView? = null - private val statusChangedListenerForCheckNotice = IMogoStatusChangedListener { descriptor, isTrue -> - if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue) { - dismiss() + private val statusChangedListenerForCheckNotice = + IMogoStatusChangedListener { descriptor, isTrue -> + if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue) { + dismiss() + } } - } init { setContentView(R.layout.notice_dialog_check_with_accessory) @@ -92,13 +112,21 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO playVideo(mVideoUrl) } - MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForCheckNotice) + MogoStatusManager.getInstance().registerStatusChangedListener( + TAG, + StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, + statusChangedListenerForCheckNotice + ) } - override fun dismiss() { super.dismiss() - MogoStatusManager.getInstance().unregisterStatusChangedListener(TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForCheckNotice) + pushCheckDialog = null + MogoStatusManager.getInstance().unregisterStatusChangedListener( + TAG, + StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, + statusChangedListenerForCheckNotice + ) stopLive() } @@ -106,10 +134,6 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO * 展示详情页面 */ fun showCheckDialog(noticeNormal: NoticeNormalData) { - if (isShowing || noticeNormal == null) { - return - } - if (noticeNormal.title.isBlank() || noticeNormal.content.isBlank()) { return } @@ -148,7 +172,7 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO private fun playVideo(videoUrl: String) { try { gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG) - .build(pushVideo) + .build(pushVideo) pushVideo!!.startButton.performClick() playImageView!!.visibility = View.GONE thumbnailImageView!!.visibility = View.GONE @@ -187,11 +211,11 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO /** * 播放结束后 */ - private fun complete(firstbitmap: Bitmap, path: String) { + private fun complete(firstBitmap: Bitmap, path: String) { playImageView!!.visibility = View.VISIBLE playImageView!!.setImageResource(R.drawable.notice_video_play) thumbnailImageView!!.visibility = View.VISIBLE - GlideApp.with(context).load(firstbitmap).optionalTransform( + GlideApp.with(context).load(firstBitmap).optionalTransform( GlideRoundedCornersTransform( 20f, GlideRoundedCornersTransform.CornerType.ALL @@ -201,7 +225,7 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO } private fun startVideoCallBack(path: String) { - Thread(Runnable { + Thread { val firstBitmap = BitmapHelper.getVideoThumbnail(path) /*获取第一帧图*/ pushVideo!!.setVideoAllCallBack(object : VideoAllCallBack { override fun onAutoComplete(url: String, vararg objects: Any) { @@ -214,15 +238,15 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO } override fun onClickStop(url: String, vararg objects: Any) { - CallerLogger.d(M_HMI + TAG, "onClickStop") + CallerLogger.d(M_HMI + TAG, "onClickStop") } override fun onStartPrepared(url: String, vararg objects: Any) { - CallerLogger.d(M_HMI + TAG, "onStartPrepared") + CallerLogger.d(M_HMI + TAG, "onStartPrepared") } override fun onPlayError(url: String, vararg objects: Any) { - CallerLogger.d(M_HMI + TAG, "onPlayError") + CallerLogger.d(M_HMI + TAG, "onPlayError") pushImageView?.visibility = View.GONE pushVideo?.visibility = View.GONE playImageView!!.visibility = View.GONE @@ -249,10 +273,10 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context), LifecycleO override fun onClickStartThumb(url: String, vararg objects: Any) {} override fun onClickBlank(url: String, vararg objects: Any) {} override fun onClickBlankFullscreen(url: String, vararg objects: Any) { - CallerLogger.d(M_HMI + TAG, "onClickBlankFullscreen") + CallerLogger.d(M_HMI + TAG, "onClickBlankFullscreen") } }) - }).start() + }.start() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.java deleted file mode 100644 index 567fb4b2b8..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.java +++ /dev/null @@ -1,451 +0,0 @@ -package com.mogo.eagle.core.function.hmi.ui.notice.traffic; - -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_HMI; - -import android.content.Context; -import android.graphics.Bitmap; -import android.view.View; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.lifecycle.LifecycleObserver; -import androidx.recyclerview.widget.RecyclerView; -import androidx.recyclerview.widget.StaggeredGridLayoutManager; - -import com.mogo.cloud.commons.utils.CoordinateUtils; -import com.mogo.cloud.passport.MoGoAiCloudClientConfig; -import com.mogo.commons.module.status.IMogoStatusChangedListener; -import com.mogo.commons.module.status.MogoStatusManager; -import com.mogo.commons.module.status.StatusDescriptor; -import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; -import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo; -import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData; -import com.mogo.eagle.core.data.notice.NoticeValue; -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.biz.CallerFuncBizManager; -import com.mogo.eagle.core.function.hmi.R; -import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp; -import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform; -import com.mogo.eagle.core.utilcode.mogo.imageloader.MogoImageView; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.util.BitmapHelper; -import com.mogo.eagle.core.utilcode.util.DateTimeUtils; -import com.mogo.eagle.core.widget.media.video.NoticeSimpleSmallVideoPlayer; -import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog; -import com.shuyu.gsyvideoplayer.GSYVideoManager; -import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; -import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack; -import com.shuyu.gsyvideoplayer.utils.NetworkUtils; -import com.shuyu.gsyvideoplayer.video.base.GSYVideoView; - -import java.util.ArrayList; - -/** - * @author liujing - * @description 交警事故详情弹框 - * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=66917475 根据infoId获取事故详情 - * @since: 10/26/21 - */ -public class NoticeTrafficDialog extends BaseFloatDialog implements LifecycleObserver { - private String TAG = "AINotice"; - private Context mContext; - private RecyclerView mRecyclerView; - private NoticeSimpleSmallVideoPlayer mVideoPlayer; - private NoticeTrafficStylePushData mPushData; - private ImageView close; - private ImageView playImageView; - private MogoImageView thumbnailImage; - private final GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder(); - private TextView accept;//接受 - private TextView refuse;//拒绝 - private TextView connect;//连接 - private NoticeTrafficAdapter adapter; - private final ArrayList dataArrayList = new ArrayList<>(); - private NoticeTrafficStyleInfo.NoticeTrafficAccountInfo mTrafficStyleInfo; - - public NoticeTrafficDialog(@NonNull Context context, NoticeTrafficStylePushData pushData) { - super(context); - mContext = context; - mPushData = pushData; - initView(); - } - - public NoticeTrafficDialog(@NonNull Context context, int themeResId) { - super(context, themeResId); - } - - public void initView() { - setContentView(R.layout.notice_dialog_traffic_police); - setCanceledOnTouchOutside(true); - playerShow();//视频播放器及接操作按钮 - recyclerVie();//详情信息列表 - MogoStatusManager.getInstance().registerStatusChangedListener(M_HMI + TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForNotice); - } - - /** - * 根据推送消息渲染顶部图片/视频 - * type 0图片 1视频 - */ - private void playerShow() { - mVideoPlayer = findViewById(R.id.video_player); - thumbnailImage = findViewById(R.id.thumbnail_image); - playImageView = this.findViewById(R.id.start_for_traffic); - playImageView.setOnClickListener(v -> startLive()); - close = findViewById(R.id.notice_traffic_dialog_close); - close.setOnClickListener(v -> { - releasePlayer(); - dismiss(); - }); - accept = findViewById(R.id.accept_traffic); - refuse = findViewById(R.id.refuse_traffic); - connect = findViewById(R.id.notice_connect); - accept.setOnClickListener(v -> feedBackTraffic(1)); - refuse.setOnClickListener(v -> feedBackTraffic(0)); - //重新连接 - connect.setOnClickListener(v -> { - netWorkStatus(); - startLive(); - requestTrafficInfo(); - }); - requestTrafficInfo(); - netWorkStatus(); - if (mPushData.getType() == 1) { - startLive(); - } else { - GlideApp.with(mContext).load(mPushData.getPoiImgUrl()).optionalTransform(new GlideRoundedCornersTransform - (20f, GlideRoundedCornersTransform.CornerType.ALL)).into(thumbnailImage); - mVideoPlayer.setVisibility(View.INVISIBLE); - playImageView.setVisibility(View.INVISIBLE); - thumbnailImage.setVisibility(View.VISIBLE); - } - mVideoPlayer.setOnClickListener(v -> { - if (mVideoPlayer.getCurrentState() == GSYVideoView.CURRENT_STATE_PAUSE) {/*播放中*/ - resume(); - } else { - pause(); - } - }); - - } - - private void recyclerVie() { - //网格绘制 - try { - mRecyclerView = findViewById(R.id.traffic_info_recyclerView); - //网格布局 - StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL); - mRecyclerView.setLayoutManager(staggeredGridLayoutManager); - NoticeTrafficInfoGridItemDivider gridLayoutDivider = new NoticeTrafficInfoGridItemDivider(1, - (mContext.getResources().getColor(R.color.notice_check_dialog_bg_color))); - mRecyclerView.addItemDecoration(gridLayoutDivider); - } catch (Exception e) { - e.printStackTrace(); - } - adapter = new NoticeTrafficAdapter(mContext, dataArrayList); - mRecyclerView.setAdapter(adapter); - - } - - /** - * @param i 是否接受交通事故任务 - * 0不接收 1接受 发起自动驾驶任务,显示引导线 - */ - private void feedBackTraffic(int i) { - CallerFuncBizManager.getBizProvider().feedBackNoticeTraffic(mPushData.getInfoId(), MoGoAiCloudClientConfig.getInstance().getSn(), i); - if (i == 1) { - startAutoPilot(); - } - dismiss(); - } - - - /** - * 开启自动驾驶 - */ - private void startAutoPilot() { - if (mTrafficStyleInfo != null) { - AutopilotControlParameters parameters = new AutopilotControlParameters(); - parameters.isSpeakVoice = false; - parameters.vehicleType = 10; - //云平台使用的是火星坐标,自动驾驶需要wgs84 - double[] gcj02 = CoordinateUtils.transformGcj02toWgs84(mTrafficStyleInfo.getLat(), mTrafficStyleInfo.getLon()); - parameters.startLatLon = new AutopilotControlParameters.AutoPilotLonLat - (CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lat(), - CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lon()); - parameters.endLatLon = new AutopilotControlParameters.AutoPilotLonLat - (gcj02[0], gcj02[1]); - CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters); - } - } - - /** - * 暂停 - */ - private void pause() { - playImageView.setVisibility(View.VISIBLE); - thumbnailImage.setVisibility(View.GONE); - playImageView.setOnClickListener(v -> mVideoPlayer.onVideoResume()); - thumbnailImage.setOnClickListener(v -> mVideoPlayer.onVideoResume()); - } - - /** - * 继续 - */ - private void resume() { - playImageView.setImageResource(R.drawable.notice_video_pause); - playImageView.setVisibility(View.GONE); - thumbnailImage.setVisibility(View.GONE); - } - - /** - * 播放结束后 - */ - private void complete(Bitmap firstbitmap) { - thumbnailImage.setVisibility(View.VISIBLE); -// thumbnailImage.setImageBitmap(firstbitmap); - GlideApp.with(mContext).load(firstbitmap).optionalTransform(new GlideRoundedCornersTransform - (20f, GlideRoundedCornersTransform.CornerType.ALL)).into(thumbnailImage); - playImageView.setImageResource(R.drawable.notice_video_play); - playImageView.setVisibility(View.VISIBLE); - playImageView.setOnClickListener(v -> startLive()); - thumbnailImage.setOnClickListener(v -> startLive()); - } - - /** - * 视频播放 - */ - private void startLive() { - if (mPushData != null) { - try { - CallerLogger.INSTANCE.d(M_HMI + TAG, "交警事故开始播放视频startLive"); - String videoUrl = mPushData.getPoiImgUrl(); - gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag("NoticeTrafficDialog") - .build(mVideoPlayer); - mVideoPlayer.getStartButton().performClick(); - liveCallBack(); - } catch (Exception e) { - e.printStackTrace(); - } - } - if (dataArrayList.size() == 0) { - requestTrafficInfo(); - } - } - - private void liveCallBack() { - new Thread(() -> { - Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取第一帧图*/ - mVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() { - @Override - public void onAutoComplete(String url, Object... objects) { - complete(firstBitmap); - } - - @Override - public void onClickResume(String url, Object... objects) { - thumbnailImage.setVisibility(View.GONE); - playImageView.setVisibility(View.GONE); - } - - @Override - public void onClickStop(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onClickStop"); - } - - @Override - public void onStartPrepared(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onStartPrepared"); - } - - @Override - public void onPrepared(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onPrepared"); - thumbnailImage.setVisibility(View.GONE); - playImageView.setVisibility(View.GONE); - connect.setVisibility(View.GONE); - } - - @Override - public void onClickStartIcon(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onClickStartIcon"); - } - - @Override - public void onClickStartError(String url, Object... objects) { - CallerLogger.INSTANCE.e(M_HMI + TAG, "onClickStartError"); - } - - @Override - public void onClickStopFullscreen(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onClickStopFullscreen"); - } - - @Override - public void onClickResumeFullscreen(String url, Object... objects) { - } - - @Override - public void onClickSeekbar(String url, Object... objects) { - } - - @Override - public void onClickSeekbarFullscreen(String url, Object... objects) { - } - - @Override - public void onEnterFullscreen(String url, Object... objects) { - } - - @Override - public void onQuitFullscreen(String url, Object... objects) { - } - - @Override - public void onQuitSmallWidget(String url, Object... objects) { - } - - @Override - public void onEnterSmallWidget(String url, Object... objects) { - } - - @Override - public void onTouchScreenSeekVolume(String url, Object... objects) { - } - - @Override - public void onTouchScreenSeekPosition(String url, Object... objects) { - } - - @Override - public void onTouchScreenSeekLight(String url, Object... objects) { - } - - @Override - public void onPlayError(String url, Object... objects) { - thumbnailImage.setVisibility(View.VISIBLE); - connect.setVisibility(View.VISIBLE); - CallerLogger.INSTANCE.d(M_HMI + TAG, "onPlayError"); - } - - @Override - public void onClickStartThumb(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onClickStartThumb"); - } - - @Override - public void onClickBlank(String url, Object... objects) { - } - - @Override - public void onClickBlankFullscreen(String url, Object... objects) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onClickBlankFullscreen"); - - } - }); - }).start(); - } - - /** - * 获取交通事故详情 - */ - private void requestTrafficInfo() { - CallerLogger.INSTANCE.d(M_HMI + TAG, "requestTrafficInfo"); - CallerFuncBizManager.getBizProvider().requestAccidentInfo(mPushData.getInfoId(), MoGoAiCloudClientConfig.getInstance().getSn(), trafficInfo -> { - CallerLogger.INSTANCE.d(M_HMI + TAG, "交通事故详情::" + trafficInfo); - mTrafficStyleInfo = trafficInfo.getResult().getAccidentInfo(); - infoRefresh(mTrafficStyleInfo); - }); - } - - private void infoRefresh(NoticeTrafficStyleInfo.NoticeTrafficAccountInfo info) { - if (dataArrayList.size() > 0) { - dataArrayList.clear(); - } - NoticeValue laiYuan = new NoticeValue(); - laiYuan.setKey("事故来源:"); - laiYuan.setValue(info.getUploadType()); - dataArrayList.add(laiYuan); - - NoticeValue cTime = new NoticeValue(); - cTime.setKey("事故时间:"); - cTime.setValue(DateTimeUtils.getTimeText(info.getDataCreateTime(), DateTimeUtils.MM_Yue_dd_Ri_HH_mm)); - dataArrayList.add(cTime); - - NoticeValue hTime = new NoticeValue(); - hTime.setKey("处理时间:"); - hTime.setValue(DateTimeUtils.getTimeText(info.getDataHandleTime(), DateTimeUtils.MM_Yue_dd_Ri_HH_mm)); - dataArrayList.add(hTime); - - NoticeValue reason = new NoticeValue(); - reason.setKey("事故原因:"); - reason.setValue(info.getReason()); - dataArrayList.add(reason); - - NoticeValue status = new NoticeValue(); - status.setKey("处理状态:"); - if (info.getOperaStatus().equals("1")) { - status.setValue("待处理"); - } else { - status.setValue("已处理"); - } - dataArrayList.add(status); - - NoticeValue location = new NoticeValue(); - location.setKey("事故地点:"); - location.setValue(info.getUploadAddress()); - dataArrayList.add(location); - - NoticeValue style = new NoticeValue(); - style.setKey("事故等级:"); - style.setValue(info.getTroubleTypeName()); - dataArrayList.add(style); - - adapter.setData(dataArrayList); - adapter.notifyDataSetChanged(); - } - - /** - * 判断网络状态 - */ - private void netWorkStatus() { - if (NetworkUtils.isAvailable(getContext())) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "网络可用"); - thumbnailImage.setVisibility(View.GONE); - connect.setVisibility(View.GONE); - thumbnailImage.setBackgroundResource(R.drawable.notice_traffic_placeholder); - } else { - thumbnailImage.setVisibility(View.VISIBLE); - thumbnailImage.setBackgroundResource(R.drawable.notice_unsuccess_traffic); - connect.setVisibility(View.VISIBLE); - } - } - - public void cancel() { - - } - - private void releasePlayer() { - try { - GSYVideoManager.releaseAllVideos(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void dismiss() { - super.dismiss(); - CallerLogger.INSTANCE.d(M_HMI + TAG, "trafficDialog dismiss"); - MogoStatusManager.getInstance().unregisterStatusChangedListener(M_HMI + TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForNotice); - releasePlayer(); - } - - private final IMogoStatusChangedListener statusChangedListenerForNotice = (descriptor, isTrue) -> { - if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue) { - CallerLogger.INSTANCE.d(M_HMI + TAG, "onStatusChanged==MAIN_PAGE_IS_BACKGROUND"); - dismiss(); - } - }; -} diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.kt new file mode 100644 index 0000000000..a4359b6dd3 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/traffic/NoticeTrafficDialog.kt @@ -0,0 +1,445 @@ +package com.mogo.eagle.core.function.hmi.ui.notice.traffic + +import android.content.Context +import android.graphics.Bitmap +import android.view.View +import android.widget.ImageView +import android.widget.TextView +import androidx.lifecycle.LifecycleObserver +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.StaggeredGridLayoutManager +import com.mogo.cloud.commons.utils.CoordinateUtils +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.commons.module.status.IMogoStatusChangedListener +import com.mogo.commons.module.status.MogoStatusManager +import com.mogo.commons.module.status.StatusDescriptor +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLonLat +import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo +import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo.NoticeTrafficAccountInfo +import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData +import com.mogo.eagle.core.data.notice.NoticeValue +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager.startAutoPilot +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getCurWgs84Lat +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getCurWgs84Lon +import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager.bizProvider +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp +import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform +import com.mogo.eagle.core.utilcode.mogo.imageloader.MogoImageView +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.BitmapHelper +import com.mogo.eagle.core.utilcode.util.DateTimeUtils +import com.mogo.eagle.core.widget.media.video.NoticeSimpleSmallVideoPlayer +import com.shuyu.gsyvideoplayer.GSYVideoManager +import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder +import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack +import com.shuyu.gsyvideoplayer.utils.NetworkUtils +import com.shuyu.gsyvideoplayer.video.base.GSYVideoView + +/** + * @author liujing + * @description 交警事故详情弹框 + * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=66917475 根据infoId获取事故详情 + * @since: 10/26/21 + */ +class NoticeTrafficDialog : BaseFloatDialog, LifecycleObserver { + + companion object { + private const val TAG = "AINotice" + + private var noticeTrafficDialog: NoticeTrafficDialog? = null + + fun show(context: Context?, trafficStylePushData: NoticeTrafficStylePushData) { + context?.let { + if (noticeTrafficDialog == null) { + noticeTrafficDialog = NoticeTrafficDialog(it, trafficStylePushData) + } + noticeTrafficDialog?.let { dialog -> + if (dialog.isShowing) { + return + } + dialog.show() + } + } + } + + } + + private var mContext: Context? = null + private var mRecyclerView: RecyclerView? = null + private var mVideoPlayer: NoticeSimpleSmallVideoPlayer? = null + private var mPushData: NoticeTrafficStylePushData? = null + private var close: ImageView? = null + private var playImageView: ImageView? = null + private var thumbnailImage: MogoImageView? = null + private val gsyVideoOptionBuilder = GSYVideoOptionBuilder() + private var accept: TextView? = null//接受 + private var refuse: TextView? = null//拒绝 + private var connect: TextView? = null//连接 + private var adapter: NoticeTrafficAdapter? = null + private val dataArrayList = ArrayList() + private var mTrafficStyleInfo: NoticeTrafficAccountInfo? = null + + constructor(context: Context, pushData: NoticeTrafficStylePushData?) : super(context) { + mContext = context + mPushData = pushData + initView() + } + + fun initView() { + setContentView(R.layout.notice_dialog_traffic_police) + setCanceledOnTouchOutside(true) + playerShow() //视频播放器及接操作按钮 + recyclerVie() //详情信息列表 + MogoStatusManager.getInstance().registerStatusChangedListener( + SceneConstant.M_HMI + TAG, + StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, + statusChangedListenerForNotice + ) + } + + /** + * 根据推送消息渲染顶部图片/视频 + * type 0图片 1视频 + */ + private fun playerShow() { + mVideoPlayer = findViewById(R.id.video_player) + thumbnailImage = findViewById(R.id.thumbnail_image) + playImageView = findViewById(R.id.start_for_traffic) + close = findViewById(R.id.notice_traffic_dialog_close) + accept = findViewById(R.id.accept_traffic) + refuse = findViewById(R.id.refuse_traffic) + connect = findViewById(R.id.notice_connect) + + playImageView?.setOnClickListener { startLive() } + close?.setOnClickListener { + releasePlayer() + dismiss() + } + accept?.setOnClickListener { feedBackTraffic(1) } + refuse?.setOnClickListener { feedBackTraffic(0) } + //重新连接 + connect?.setOnClickListener { + netWorkStatus() + startLive() + requestTrafficInfo() + } + requestTrafficInfo() + netWorkStatus() + if (mPushData!!.type == 1) { + startLive() + } else { + GlideApp.with(mContext!!).load(mPushData!!.poiImgUrl).optionalTransform( + GlideRoundedCornersTransform( + 20f, + GlideRoundedCornersTransform.CornerType.ALL + ) + ).into(thumbnailImage!!) + mVideoPlayer?.visibility = View.INVISIBLE + playImageView?.visibility = View.INVISIBLE + thumbnailImage?.visibility = View.VISIBLE + } + mVideoPlayer?.setOnClickListener { + if (mVideoPlayer!!.currentState == GSYVideoView.CURRENT_STATE_PAUSE) { /*播放中*/ + resume() + } else { + pause() + } + } + } + + private fun recyclerVie() { + //网格绘制 + try { + mRecyclerView = findViewById(R.id.traffic_info_recyclerView) + //网格布局 + val staggeredGridLayoutManager = + StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL) + mRecyclerView?.layoutManager = staggeredGridLayoutManager + val gridLayoutDivider = NoticeTrafficInfoGridItemDivider( + 1, + mContext!!.resources.getColor(R.color.notice_check_dialog_bg_color) + ) + mRecyclerView?.addItemDecoration(gridLayoutDivider) + } catch (e: Exception) { + e.printStackTrace() + } + adapter = NoticeTrafficAdapter(mContext!!, dataArrayList) + mRecyclerView!!.adapter = adapter + } + + /** + * @param i 是否接受交通事故任务 + * 0不接收 1接受 发起自动驾驶任务,显示引导线 + */ + private fun feedBackTraffic(i: Int) { + bizProvider.feedBackNoticeTraffic( + mPushData!!.infoId, + MoGoAiCloudClientConfig.getInstance().sn, + i + ) + if (i == 1) { + startAutoPilot() + } + dismiss() + } + + /** + * 开启自动驾驶 + */ + private fun startAutoPilot() { + if (mTrafficStyleInfo != null) { + val parameters = AutopilotControlParameters() + parameters.isSpeakVoice = false + parameters.vehicleType = 10 + //云平台使用的是火星坐标,自动驾驶需要wgs84 + val gcj02 = CoordinateUtils.transformGcj02toWgs84( + mTrafficStyleInfo!!.lat, mTrafficStyleInfo!!.lon + ) + parameters.startLatLon = AutoPilotLonLat( + getCurWgs84Lat(), + getCurWgs84Lon() + ) + parameters.endLatLon = AutoPilotLonLat(gcj02[0], gcj02[1]) + startAutoPilot(parameters) + } + } + + /** + * 暂停 + */ + private fun pause() { + playImageView!!.visibility = View.VISIBLE + thumbnailImage!!.visibility = View.GONE + playImageView!!.setOnClickListener { v: View? -> mVideoPlayer!!.onVideoResume() } + thumbnailImage!!.setOnClickListener { v: View? -> mVideoPlayer!!.onVideoResume() } + } + + /** + * 继续 + */ + private fun resume() { + playImageView!!.setImageResource(R.drawable.notice_video_pause) + playImageView!!.visibility = View.GONE + thumbnailImage!!.visibility = View.GONE + } + + /** + * 播放结束后 + */ + private fun complete(firstBitmap: Bitmap) { + thumbnailImage!!.visibility = View.VISIBLE + GlideApp.with(mContext!!).load(firstBitmap).optionalTransform( + GlideRoundedCornersTransform( + 20f, + GlideRoundedCornersTransform.CornerType.ALL + ) + ).into( + thumbnailImage!! + ) + playImageView!!.setImageResource(R.drawable.notice_video_play) + playImageView!!.visibility = View.VISIBLE + playImageView!!.setOnClickListener { v: View? -> startLive() } + thumbnailImage!!.setOnClickListener { v: View? -> startLive() } + } + + /** + * 视频播放 + */ + private fun startLive() { + if (mPushData != null) { + try { + d(SceneConstant.M_HMI + TAG, "交警事故开始播放视频startLive") + val videoUrl = mPushData!!.poiImgUrl + gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false) + .setPlayTag("NoticeTrafficDialog") + .build(mVideoPlayer) + mVideoPlayer!!.startButton.performClick() + liveCallBack() + } catch (e: Exception) { + e.printStackTrace() + } + } + if (dataArrayList.size == 0) { + requestTrafficInfo() + } + } + + private fun liveCallBack() { + Thread { + val firstBitmap = BitmapHelper.getVideoThumbnail(mPushData!!.poiImgUrl) /*获取第一帧图*/ + mVideoPlayer!!.setVideoAllCallBack(object : VideoAllCallBack { + override fun onAutoComplete(url: String, vararg objects: Any) { + complete(firstBitmap) + } + + override fun onClickResume(url: String, vararg objects: Any) { + thumbnailImage!!.visibility = View.GONE + playImageView!!.visibility = View.GONE + } + + override fun onClickStop(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onClickStop") + } + + override fun onStartPrepared(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onStartPrepared") + } + + override fun onPrepared(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onPrepared") + thumbnailImage!!.visibility = View.GONE + playImageView!!.visibility = View.GONE + connect!!.visibility = View.GONE + } + + override fun onClickStartIcon(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onClickStartIcon") + } + + override fun onClickStartError(url: String, vararg objects: Any) { + e(SceneConstant.M_HMI + TAG, "onClickStartError") + } + + override fun onClickStopFullscreen(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onClickStopFullscreen") + } + + override fun onClickResumeFullscreen(url: String, vararg objects: Any) {} + override fun onClickSeekbar(url: String, vararg objects: Any) {} + override fun onClickSeekbarFullscreen(url: String, vararg objects: Any) {} + override fun onEnterFullscreen(url: String, vararg objects: Any) {} + override fun onQuitFullscreen(url: String, vararg objects: Any) {} + override fun onQuitSmallWidget(url: String, vararg objects: Any) {} + override fun onEnterSmallWidget(url: String, vararg objects: Any) {} + override fun onTouchScreenSeekVolume(url: String, vararg objects: Any) {} + override fun onTouchScreenSeekPosition(url: String, vararg objects: Any) {} + override fun onTouchScreenSeekLight(url: String, vararg objects: Any) {} + override fun onPlayError(url: String, vararg objects: Any) { + thumbnailImage!!.visibility = View.VISIBLE + connect!!.visibility = View.VISIBLE + d(SceneConstant.M_HMI + TAG, "onPlayError") + } + + override fun onClickStartThumb(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onClickStartThumb") + } + + override fun onClickBlank(url: String, vararg objects: Any) {} + override fun onClickBlankFullscreen(url: String, vararg objects: Any) { + d(SceneConstant.M_HMI + TAG, "onClickBlankFullscreen") + } + }) + }.start() + } + + /** + * 获取交通事故详情 + */ + private fun requestTrafficInfo() { + d(SceneConstant.M_HMI + TAG, "requestTrafficInfo") + bizProvider.requestAccidentInfo( + mPushData!!.infoId, + MoGoAiCloudClientConfig.getInstance().sn + ) { trafficInfo: NoticeTrafficStyleInfo -> + d(SceneConstant.M_HMI + TAG, "交通事故详情::$trafficInfo") + mTrafficStyleInfo = trafficInfo.getResult().accidentInfo + infoRefresh(mTrafficStyleInfo) + } + } + + private fun infoRefresh(info: NoticeTrafficAccountInfo?) { + if (dataArrayList.size > 0) { + dataArrayList.clear() + } + val laiYuan = NoticeValue() + laiYuan.key = "事故来源:" + laiYuan.value = info!!.uploadType + dataArrayList.add(laiYuan) + val cTime = NoticeValue() + cTime.key = "事故时间:" + cTime.value = DateTimeUtils.getTimeText( + info.dataCreateTime, + DateTimeUtils.MM_Yue_dd_Ri_HH_mm + ) + dataArrayList.add(cTime) + val hTime = NoticeValue() + hTime.key = "处理时间:" + hTime.value = DateTimeUtils.getTimeText( + info.dataHandleTime, + DateTimeUtils.MM_Yue_dd_Ri_HH_mm + ) + dataArrayList.add(hTime) + val reason = NoticeValue() + reason.key = "事故原因:" + reason.value = info.reason + dataArrayList.add(reason) + val status = NoticeValue() + status.key = "处理状态:" + if (info.operaStatus == "1") { + status.value = "待处理" + } else { + status.value = "已处理" + } + dataArrayList.add(status) + val location = NoticeValue() + location.key = "事故地点:" + location.value = info.uploadAddress + dataArrayList.add(location) + val style = NoticeValue() + style.key = "事故等级:" + style.value = info.troubleTypeName + dataArrayList.add(style) + adapter!!.setData(dataArrayList) + adapter!!.notifyDataSetChanged() + } + + /** + * 判断网络状态 + */ + private fun netWorkStatus() { + if (NetworkUtils.isAvailable(context)) { + d(SceneConstant.M_HMI + TAG, "网络可用") + thumbnailImage!!.visibility = View.GONE + connect!!.visibility = View.GONE + thumbnailImage!!.setBackgroundResource(R.drawable.notice_traffic_placeholder) + } else { + thumbnailImage!!.visibility = View.VISIBLE + thumbnailImage!!.setBackgroundResource(R.drawable.notice_unsuccess_traffic) + connect!!.visibility = View.VISIBLE + } + } + + override fun cancel() {} + private fun releasePlayer() { + try { + GSYVideoManager.releaseAllVideos() + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun dismiss() { + super.dismiss() + d(SceneConstant.M_HMI + TAG, "trafficDialog dismiss") + noticeTrafficDialog = null + MogoStatusManager.getInstance().unregisterStatusChangedListener( + SceneConstant.M_HMI + TAG, + StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, + statusChangedListenerForNotice + ) + releasePlayer() + } + + private val statusChangedListenerForNotice = + IMogoStatusChangedListener { descriptor: StatusDescriptor, isTrue: Boolean -> + if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue) { + d(SceneConstant.M_HMI + TAG, "onStatusChanged==MAIN_PAGE_IS_BACKGROUND") + dismiss() + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/CameraLiveView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/CameraLiveView.kt new file mode 100644 index 0000000000..11c1b2d970 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/CameraLiveView.kt @@ -0,0 +1,117 @@ +package com.mogo.eagle.core.function.hmi.ui.setting + +import android.animation.Animator +import android.content.Context +import android.view.Gravity +import android.view.View +import android.view.WindowManager +import android.view.animation.OvershootInterpolator +import com.mogo.eagle.core.data.camera.CameraEntity +import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig +import com.mogo.eagle.core.data.enums.SidePattern +import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener +import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager +import com.mogo.eagle.core.function.hmi.notification.WarningFloat +import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator +import com.mogo.eagle.core.function.hmi.ui.camera.CameraListView +import com.zhjt.service_biz.BizConfig + +class CameraLiveView private constructor() { + + companion object { + val cameraLiveView by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { + CameraLiveView() + } + } + + // 超视距、路侧、前车直播 + private var cameraListView: CameraListView? = null + private var cameraViewFloat: WarningFloat.Builder? = null + + + @BizConfig(FuncBizConfig.V2I, "", FuncBizConfig.BIZ_RTS) + fun showCameraList( + context: Context?, + cameraList: List?, + liveStatus: ((Boolean) -> Unit) + ) { + context?.let { + if (cameraViewFloat == null) { + if (cameraListView == null) { + cameraListView = CameraListView(it) + cameraListView!!.updateCameraData(cameraList) + } + cameraListView!!.setClickListener(object : CameraListView.ClickListener { + override fun onClose(v: View) { + // Builder和cameraListView都置空 + dismissFloatView() + // 丢弃开启摄像头推流请求,同时monitor回调hmi的startRoadCameraLive() + // 也做了cameraListView的非空判断 + CallerFuncBizManager.bizProvider.closeCameraLive() + } + + override fun onShowLive(isShow: Boolean) { + liveStatus.invoke(isShow) + } + + override fun refreshCameraList() { + cameraListView?.refreshCameraList(CallerFuncBizManager.bizProvider.getCameraList) + } + }) + cameraViewFloat = WarningFloat.with(it) + .setTag("CameraListFloat") + .setLayout(cameraListView!!) + .setSidePattern(SidePattern.RIGHT) + .setGravity(Gravity.RIGHT, -40, 255) + .setImmersionStatusBar(true) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } + + override fun exitAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onDismiss() { + cameraViewFloat = null + cameraListView = null + liveStatus.invoke(false) + } + }) + .show() + } else { + cameraViewFloat?.show() + } + } + } + + fun startRoadCameraLive(flvUrl: String) { + cameraListView?.startRoadCameraLive(flvUrl) + } + + fun showNoSignView() { + cameraListView?.showNoSignal() + } + + private fun dismissFloatView() { + cameraViewFloat?.let { + WarningFloat.dismiss(it.config.floatTag, false) + cameraViewFloat = null + cameraListView = null + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 1d56f0b229..e4d12c8020 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -91,7 +91,7 @@ import kotlin.math.abs * 调试使用的设置页面,这里只作为调试使用 * 展示 本机、网络、工控机、OBU等状态信息,支持设置IP,等参数进行调试 */ -class DebugSettingView @JvmOverloads constructor( +internal class DebugSettingView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt index bbf39d6ba5..e5a1a90541 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt @@ -1,6 +1,7 @@ package com.mogo.eagle.core.function.hmi.ui.setting import android.app.Activity +import android.content.Context import android.graphics.PixelFormat import android.util.DisplayMetrics import android.view.* @@ -12,14 +13,36 @@ import com.mogo.eagle.core.data.report.ReportEntity import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.mogo.toast.ResourcesHelper.getDrawable import com.mogo.eagle.core.utilcode.util.BarUtils -import java.lang.reflect.Field +import com.mogo.eagle.core.utilcode.util.SoundUtils /** * @author XuXinChao * @description 工控机异常节点上报 * @since: 2022/5/12 */ -class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ +class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener { + + companion object { + private const val TAG = "IPCReportWindow" + + private var ipcReportWindow: IPCReportWindow? = null + + fun show( + context: Context?, + errorReportList: ArrayList, + warningReportList: ArrayList, + reportLevel: Int + ) { + context?.let { + if (ipcReportWindow == null) { + ipcReportWindow = IPCReportWindow(it as Activity) + SoundUtils.playRing(it) + } + ipcReportWindow?.showFloatWindow() + ipcReportWindow?.refreshData(errorReportList, warningReportList, reportLevel) + } + } + } private var mActivity: Activity = activity private var mWindowParams: WindowManager.LayoutParams? = null @@ -28,7 +51,7 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ private lateinit var ivIpcClose: ImageView private lateinit var tvIpcErrorTab: TextView private lateinit var tvIpcWarningTab: TextView - private var ipcReportAdapter: IPCReportAdapter?=null + private var ipcReportAdapter: IPCReportAdapter? = null private lateinit var mFloatLayout: View private var mInViewX = 0f @@ -38,8 +61,6 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ private var mInScreenX = 0f private var mInScreenY = 0f - private var clickListener: ClickListener? = null - private var ipcErrorReportList: List? = null //错误上报列表 private var ipcWarningReportList: List? = null//警告上报列表 @@ -47,10 +68,11 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ initFloatWindow(); } - private fun initFloatWindow(){ - mFloatLayout = LayoutInflater.from(mActivity).inflate(R.layout.view_ipc_report, null) as View + private fun initFloatWindow() { + mFloatLayout = + LayoutInflater.from(mActivity).inflate(R.layout.view_ipc_report, null) as View mFloatLayout.setOnTouchListener(this) - rvIPCReport= mFloatLayout.findViewById(R.id.rv_ipc_report) + rvIPCReport = mFloatLayout.findViewById(R.id.rv_ipc_report) ivIpcClose = mFloatLayout.findViewById(R.id.iv_ipc_close) tvIpcErrorTab = mFloatLayout.findViewById(R.id.tv_ipc_error_tab) tvIpcWarningTab = mFloatLayout.findViewById(R.id.tv_ipc_warning_tab) @@ -65,35 +87,43 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ it.alpha = 1.0f } ipcReportAdapter = IPCReportAdapter() - rvIPCReport.layoutManager = WrapContentLinearLayoutManager(mActivity, - LinearLayoutManager.VERTICAL,false) + rvIPCReport.layoutManager = WrapContentLinearLayoutManager( + mActivity, + LinearLayoutManager.VERTICAL, false + ) rvIPCReport.adapter = ipcReportAdapter //关闭按钮 ivIpcClose.setOnClickListener { - clickListener?.closeWindow() + hideFloatWindow() } //错误列表 tvIpcErrorTab.setOnClickListener { - tvIpcErrorTab.background = getDrawable(mActivity,R.drawable.ipc_error_tab_normal_bg) - tvIpcWarningTab.background = getDrawable(mActivity,R.drawable.ipc_warning_tab_normal_bg) + tvIpcErrorTab.background = getDrawable(mActivity, R.drawable.ipc_error_tab_normal_bg) + tvIpcWarningTab.background = + getDrawable(mActivity, R.drawable.ipc_warning_tab_normal_bg) ipcReportAdapter?.setData(ipcErrorReportList) ipcReportAdapter?.notifyDataSetChanged() } //预警列表 tvIpcWarningTab.setOnClickListener { - tvIpcErrorTab.background = getDrawable(mActivity,R.drawable.ipc_error_tab_select_bg) - tvIpcWarningTab.background = getDrawable(mActivity,R.drawable.ipc_warning_tab_select_bg) + tvIpcErrorTab.background = getDrawable(mActivity, R.drawable.ipc_error_tab_select_bg) + tvIpcWarningTab.background = + getDrawable(mActivity, R.drawable.ipc_warning_tab_select_bg) ipcReportAdapter?.setData(ipcWarningReportList) ipcReportAdapter?.notifyDataSetChanged() } } - fun refreshData(errorReportList:List,warningReportList:List,reportLevel: Int){ - if(reportLevel == 1){ + fun refreshData( + errorReportList: List, + warningReportList: List, + reportLevel: Int + ) { + if (reportLevel == 1) { ipcReportAdapter?.setData(errorReportList) ipcErrorReportList = errorReportList - }else{ + } else { ipcReportAdapter?.setData(warningReportList) ipcWarningReportList = warningReportList } @@ -135,22 +165,16 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ mWindowManager!!.defaultDisplay.getMetrics(metrics) mWindowParams!!.x = metrics.widthPixels // mWindowParams!!.y = metrics.heightPixels / 2 - BarUtils.getStatusBarHeight() - mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight()-100 + mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight() - 100 mWindowManager!!.addView(mFloatLayout, mWindowParams) } } - fun hideFloatWindow() { - if (mFloatLayout.parent != null) mWindowManager!!.removeView(mFloatLayout) + private fun hideFloatWindow() { + if (mFloatLayout.parent != null) { + mWindowManager!!.removeView(mFloatLayout) + } + ipcReportWindow = null } - fun setClickListener(clickListener: ClickListener) { - this.clickListener = clickListener - } - - interface ClickListener { - fun closeWindow() - } - - } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index ca74993d5a..0227d92b75 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -29,7 +29,7 @@ import java.util.* /** * SOP设置窗口 */ -class SOPSettingView @JvmOverloads constructor( +internal class SOPSettingView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SopView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SopView.kt new file mode 100644 index 0000000000..ceb84b519c --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SopView.kt @@ -0,0 +1,80 @@ +package com.mogo.eagle.core.function.hmi.ui.setting + +import android.animation.Animator +import android.content.Context +import android.view.Gravity +import android.view.View +import android.view.WindowManager +import android.view.animation.OvershootInterpolator +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.enums.SidePattern +import com.mogo.eagle.core.function.hmi.notification.WarningFloat +import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import me.jessyan.autosize.utils.AutoSizeUtils + +class SopView private constructor(){ + + companion object{ + val sopView by lazy(LazyThreadSafetyMode.SYNCHRONIZED){ + SopView() + } + } + + //SOPSettingView + private var mSOPSettingViewFloat: WarningFloat.Builder? = null + private var mSOPSettingView: SOPSettingView? = null + + fun toggle(context: Context?, gravity: Int = Gravity.RIGHT, sidePattern: SidePattern = SidePattern.RIGHT) { + context?.let { + if (mSOPSettingViewFloat != null) { + WarningFloat.dismiss(mSOPSettingViewFloat!!.config.floatTag, false) + mSOPSettingViewFloat = null + mSOPSettingView = null + } else { + if (mSOPSettingView == null) { + mSOPSettingView = SOPSettingView(it) + } +// var side = SidePattern.RIGHT +// var gravity = Gravity.RIGHT +// //调试窗默认靠右显示,Bus的乘客端右端有视图覆盖,调试窗靠左显示 +// if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) && +// AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) +// ) { +// side = SidePattern.LEFT +// gravity = Gravity.LEFT +// } + mSOPSettingViewFloat = WarningFloat.with(it) + .setTag("mSOPSettingView") + .setLayout(mSOPSettingView!!) + .setSidePattern(sidePattern) + .setGravity(gravity, offsetY = 70) + .setImmersionStatusBar(true) + .setWindowWidth(AutoSizeUtils.dp2px(context, 800f)) + .setWindowHeight(AutoSizeUtils.dp2px(context, 1100f)) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } + + override fun exitAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .show() + } + } + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt new file mode 100644 index 0000000000..69b4b17e89 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt @@ -0,0 +1,124 @@ +package com.mogo.eagle.core.function.hmi.ui.setting + +import android.animation.Animator +import android.app.Activity +import android.content.Context +import android.view.Gravity +import android.view.View +import android.view.WindowManager +import android.view.animation.OvershootInterpolator +import com.mogo.eagle.core.data.enums.SidePattern +import com.mogo.eagle.core.data.report.ReportEntity +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.hmi.notification.WarningFloat +import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator +import com.mogo.eagle.core.utilcode.util.TimeUtils +import me.jessyan.autosize.utils.AutoSizeUtils +import mogo_msg.MogoReportMsg + +class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { + + companion object { + val toggleDebugView by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { + ToggleDebugView() + } + } + + // DebugSettingView + private var mDebugSettingViewFloat: WarningFloat.Builder? = null + private var mDebugSettingView: DebugSettingView? = null + + //工控机节点上报列表 + private val reportList = arrayListOf() + + //工控机上报列表悬浮窗 + private var reportListFloatWindow: ReportListFloatWindow? = null + + override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { + super.onAutopilotGuardian(guardianInfo) + guardianInfo?.let { + if (reportList.size > 49) { + reportList.removeLast() + } + reportList.add( + 0, + ReportEntity( + TimeUtils.millis2String(System.currentTimeMillis()), + it.src, it.level, it.msg, it.code, it.resultList, it.actionsList + ) + ) + reportListFloatWindow?.refreshData(reportList) + } + } + + /** + * 开关DebugView + */ + fun toggle(context: Context, gravity: Int = Gravity.RIGHT, sidePattern: SidePattern = SidePattern.RIGHT) { + if (mDebugSettingViewFloat != null) { + dismiss() + } else { + if (mDebugSettingView == null) { + mDebugSettingView = DebugSettingView(context) + mDebugSettingView?.reportInit(reportList) + mDebugSettingView?.setClickListener(object : DebugSettingView.ClickListener { + override fun showReportListWindow(show: Boolean) { + if (show) { + //打开工控机上报列表 + reportListFloatWindow = + ReportListFloatWindow(context.applicationContext as Activity) + reportListFloatWindow?.showFloatWindow() + reportListFloatWindow?.refreshData(reportList) + } else { + //关闭工控机上报列表 + reportListFloatWindow?.hideFloatWindow() + } + } + }) + } + mDebugSettingViewFloat = WarningFloat.with(context) + .setTag("DebugSettingView") + .setLayout(mDebugSettingView!!) + .setSidePattern(sidePattern) + .setGravity(gravity, offsetY = 70) + .setImmersionStatusBar(true) + .setWindowHeight(AutoSizeUtils.dp2px(context, 1100f)) + .setWindowWidth(AutoSizeUtils.dp2px(context, 800f)) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } + + override fun exitAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .show() + } + } + + private fun dismiss() { + mDebugSettingViewFloat?.let { + WarningFloat.dismiss(it.config.floatTag, false) + mDebugSettingViewFloat = null + mDebugSettingView = null + //关闭工控机上报列表 + reportListFloatWindow?.hideFloatWindow() + reportListFloatWindow = null + } + } + + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToolsView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToolsView.kt new file mode 100644 index 0000000000..62341fb157 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToolsView.kt @@ -0,0 +1,121 @@ +package com.mogo.eagle.core.function.hmi.ui.setting + +import android.animation.Animator +import android.content.Context +import android.view.Gravity +import android.view.View +import android.view.WindowManager +import android.view.animation.OvershootInterpolator +import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper +import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo +import com.mogo.eagle.core.data.enums.SidePattern +import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.hmi.notification.WarningFloat +import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator +import com.mogo.eagle.core.function.hmi.ui.setting.SopView.Companion.sopView +import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView.Companion.toggleDebugView +import com.mogo.eagle.core.function.hmi.ui.tools.AutoPilotAndCheckView +import com.mogo.eagle.core.utilcode.util.ToastUtils + +class ToolsView private constructor() { + + companion object { + val toolsView by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { + ToolsView() + } + } + + private var toolsView: AutoPilotAndCheckView? = null + + // 检测、自动驾驶速度设置 + private var toolsViewFloat: WarningFloat.Builder? = null + + fun showToolsFloat(context: Context?) { + context?.let { + if (toolsViewFloat == null) { + if (toolsView == null) { + toolsView = AutoPilotAndCheckView(it) + toolsView!!.setClickListener(object : AutoPilotAndCheckView.ClickListener { + override fun onClose(v: View) { + dismissToolsFloatView() + } + + override fun showDebugPanelView() { + toggleDebugView.toggle(it) + } + + override fun showFeedbackView() { + dismissToolsFloatView() + CallerDevaToolsManager.showFeedbackView(it) + } + + override fun showSOPSettingView() { + sopView.toggle(it) + } + }) + } + toolsViewFloat = WarningFloat.with(it) + .setTag("ToolsViewFloat") + .setLayout(toolsView!!) + .setSidePattern(SidePattern.LEFT) + .setGravity(Gravity.LEFT) + .setImmersionStatusBar(true) + .setWindowHeight(WindowManager.LayoutParams.MATCH_PARENT) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } + + override fun exitAnim( + view: View, + params: WindowManager.LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onDismiss() { + toolsViewFloat = null + toolsView = null + } + }) + .show() + } else { + toolsViewFloat?.show() + } + } + } + + fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo){ + toolsView?.showAdUpgradeStatus(ipcUpgradeStateInfo) + ipcUpgradeStateInfo.status.let { + if (AdUpgradeStateHelper.isUpgradeSuccess(it)) { + ToastUtils.showLong("升级成功") + AdUpgradeStateHelper.setConfirmUpgrade(false) + } + } + } + + private fun dismissToolsFloatView() { + toolsViewFloat?.let { + WarningFloat.dismiss(it.config.floatTag, false) + toolsViewFloat = null + toolsView = null + } + } + + fun dismiss() { + dismissToolsFloatView() + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/takeover/TakeOverView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/takeover/TakeOverView.kt index 7c33227f88..23dde7c51a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/takeover/TakeOverView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/takeover/TakeOverView.kt @@ -3,16 +3,85 @@ package com.mogo.eagle.core.function.hmi.ui.takeover import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater +import android.view.View import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.enums.EventTypeEnum +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.zhidao.support.adas.high.common.MogoReport +import mogo_msg.MogoReportMsg class TakeOverView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr) { +) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoAutopilotStatusListener { + + companion object { + const val TAG = "TakeOverView" + } init { LayoutInflater.from(context).inflate(R.layout.view_take_over, this, true) } + + private var takeOver = false + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerAutoPilotStatusListenerManager.addListener(TAG, this) + } + + /** + * 工控机监控节点上报 + */ + override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { + super.onAutopilotGuardian(guardianInfo) + ThreadUtils.runOnUiThread { + guardianInfo?.let { + if (FunctionBuildConfig.isDemoMode) { + return@let + } + if (takeOver) { + return@let + } + when (it.code) { + MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_PLANNING, + MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_LOCATION, + MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_CHASSIS, + MogoReport.Code.Error.EMAP.EXIT_AUTOPILOT_FOR_DISTANCE -> { + CallerHmiManager.warningV2X( + EventTypeEnum.TAKE_OVER_EVENT.poiType, + EventTypeEnum.TAKE_OVER_EVENT.content, + EventTypeEnum.TAKE_OVER_EVENT.tts, + EventTypeEnum.TAKE_OVER_EVENT.poiType, + object : IMoGoWarningStatusListener { + override fun onShow() { + takeOver = true + visibility = View.VISIBLE + } + + override fun onDismiss() { + takeOver = false + visibility = View.GONE + } + }, + true, + 6000L + ) + } + } + } + } + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerAutoPilotStatusListenerManager.removeListener(TAG) + } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt index de7c4e75b8..8a645c3cf2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AdUpgradeDialog.kt @@ -3,55 +3,79 @@ package com.mogo.eagle.core.function.hmi.ui.tools import android.content.Context import android.widget.TextView import androidx.lifecycle.LifecycleObserver +import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import com.mogo.eagle.core.utilcode.util.ToastUtils /** * @author XuXinChao * @description 工控机确认升级对话框 * @since: 2022/1/13 */ -class AdUpgradeDialog(context: Context,images: List,padSn: String,releaseId: String) - : BaseFloatDialog(context), LifecycleObserver { +class AdUpgradeDialog(context: Context, images: List, padSn: String, releaseId: String) : + BaseFloatDialog(context), LifecycleObserver { - private var upgradeConfirm : TextView? = null - private var upgradeCancel : TextView? = null + companion object { + private var adUpgradeDialog: AdUpgradeDialog? = null + + fun show(context: Context?, images: List, padSn: String, releaseId: String) { + context?.let { + if (adUpgradeDialog == null) { + adUpgradeDialog = AdUpgradeDialog(it, images, padSn, releaseId) + } + adUpgradeDialog?.let { dialog -> + if (dialog.isShowing) { + return + } + dialog.show() + } + } + } + } + + private var upgradeConfirm: TextView? = null + private var upgradeCancel: TextView? = null private var clickListener: ClickListener? = null - private var images: List?=null - private var padSn: String?=null - private var releaseId: String?=null + private var images: List? = null + private var padSn: String? = null + private var releaseId: String? = null init { setContentView(R.layout.dialog_ad_upgrade) setCanceledOnTouchOutside(false) - upgradeConfirm=findViewById(R.id.tv_upgrade_confirm) - upgradeCancel=findViewById(R.id.tv_upgrade_cancel) + upgradeConfirm = findViewById(R.id.tv_upgrade_confirm) + upgradeCancel = findViewById(R.id.tv_upgrade_cancel) - upgradeConfirm?.setOnClickListener{ - clickListener?.confirm() - } - upgradeCancel?.setOnClickListener { - clickListener?.cancel() - } this.images = images this.padSn = padSn this.releaseId = releaseId + + upgradeConfirm?.setOnClickListener { + //确认升级 + CallerDevaToolsManager.upgradeConfirm(images, padSn, releaseId) + AdUpgradeStateHelper.setConfirmUpgrade(true) + ToastUtils.showLong("最新版本下载中...") + dismiss() + } + upgradeCancel?.setOnClickListener { + dismiss() + } + } + + override fun dismiss() { + super.dismiss() + adUpgradeDialog = null } fun setClickListener(clickListener: ClickListener) { this.clickListener = clickListener } - fun showUpgradeDialog(){ - if(isShowing){ - return - } - show() - } - - interface ClickListener{ + interface ClickListener { fun confirm() fun cancel() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt index 50332a5599..3de065ef78 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/AutoPilotAndCheckView.kt @@ -165,7 +165,7 @@ class AutoPilotAndCheckView @JvmOverloads constructor( MsgBoxConfig.setUserRecord(0) } actvLoginout.visibility = View.VISIBLE - CallerHmiManager.setBusOperationView(toolBusOperationView) + toolBusOperationView.showBusOperation() // TODO 这里判断方式可以替换为使用 AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)等进行替换 when (DebugConfig.getProductFlavor()) { @@ -199,7 +199,6 @@ class AutoPilotAndCheckView @JvmOverloads constructor( systemVersionView?.showAdUpgradeStatus(ipcUpgradeStateInfo) } - override fun onAttachedToWindow() { super.onAttachedToWindow() CallerAutoPilotStatusListenerManager.addListener(TAG, this) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt index aa67e83c67..526ffa33cd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt @@ -4,9 +4,9 @@ import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.view.View +import android.widget.LinearLayout import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.temp.EventLogout -import com.mogo.eagle.core.function.api.hmi.view.IOchBusView import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils @@ -23,7 +23,7 @@ class BusOperationView @JvmOverloads constructor( context: Context?, attrs: AttributeSet? = null, defStyleAttr: Int = 0) - : IOchBusView(context, attrs, defStyleAttr) { + : LinearLayout(context, attrs, defStyleAttr) { init { LayoutInflater.from(context).inflate(R.layout.view_och_bus_operation,this,true) @@ -47,15 +47,11 @@ class BusOperationView @JvmOverloads constructor( } } - override fun showBusOperation() { + fun showBusOperation() { ochBusOperationStatus.visibility = View.VISIBLE initPersonalIcon() } - override fun changerOperationStatus(isOut: Boolean) { - - } - override fun onAttachedToWindow() { super.onAttachedToWindow() context?.let { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/MaskView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/MaskView.kt deleted file mode 100644 index 8592692e41..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/MaskView.kt +++ /dev/null @@ -1,42 +0,0 @@ -package com.mogo.eagle.core.function.hmi.ui.tools - -import android.annotation.SuppressLint -import android.content.Context -import android.graphics.Color -import android.graphics.drawable.ColorDrawable -import android.util.AttributeSet -import android.view.LayoutInflater -import android.widget.FrameLayout -import com.mogo.eagle.core.function.hmi.R - -/** - * @author lixiaopeng - * 蒙层view - */ -class MaskView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : FrameLayout( - context, - attrs, - defStyleAttr -) { - - private val TAG = "MaskView" - - init { - LayoutInflater.from(context).inflate(R.layout.view_mask, this, true) - initView() - } - - companion object { - private var speedLimit: Double = 0.0 - } - - @SuppressLint("ClickableViewAccessibility") - private fun initView() { -// background = ColorDrawable(Color.parseColor("#F0151D41")) - } - -} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt index 0575c586c8..8f10f9e037 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt @@ -38,7 +38,6 @@ class SpeedPanelView @JvmOverloads constructor( } init { - initEvent() setBackgroundResource(R.drawable.yi_biao_pan_bg_nor) mContext = context mSpeedChartView = SpeedChartView(context) @@ -52,13 +51,6 @@ class SpeedPanelView @JvmOverloads constructor( addView(mSpeedChartView) } - private fun initEvent() { - setOnLongClickListener { - CallerHmiManager.toggleDebugView() - false - } - } - private var timerTask: TimerTask? = null override fun onAttachedToWindow() { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/V2XNotificationView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/V2XNotificationView.kt index 2de467d3b4..abb454520e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/V2XNotificationView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/V2XNotificationView.kt @@ -25,7 +25,6 @@ class V2XNotificationView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : IViewNotification(context, attrs, defStyleAttr) { - init { LayoutInflater.from(context).inflate(R.layout.notification_v2x_msg_vr, this, true) // 设置View的出场位置 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/toggle_setting_btn_bg.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/toggle_setting_btn_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ba41bf3a53886665bbf57855d8b8624342a10444 GIT binary patch literal 4400 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 + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_togger_debug_view.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_togger_debug_view.xml new file mode 100644 index 0000000000..68e34ad4dc --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_togger_debug_view.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml index 37d0977691..e36325e31c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml @@ -40,13 +40,13 @@ app:layout_constraintTop_toTopOf="parent" /> - - - - - - - + + + + + + + - - + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintRight_toLeftOf="@id/viewLimitingVelocity" + app:layout_constraintTop_toBottomOf="@+id/ivCameraIcon" /> + + tools:ignore="MissingConstraints" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" /> + tools:ignore="MissingConstraints" /> + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/cbMsgBoxDriver" /> + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/cbMsgBoxDriver" /> + app:layout_constraintBottom_toTopOf="@id/cbMsgBoxPassenger" + app:layout_constraintLeft_toLeftOf="@id/cbMsgBoxPassenger" + app:layout_constraintRight_toRightOf="@id/cbMsgBoxPassenger" /> + app:layout_constraintBottom_toTopOf="@id/cbMsgBoxPassenger" + app:layout_constraintLeft_toLeftOf="@id/cbMsgBoxPassenger" + app:layout_constraintRight_toRightOf="@id/cbMsgBoxPassenger" /> - - - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_mask.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_mask.xml deleted file mode 100644 index f5eef7fc84..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_mask.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml index 62454489fa..cb5e3610d1 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml @@ -50,8 +50,8 @@ - - + +