From 37a2710dd97bb7f7c0ccb1bcaa701f3c7caf31c0 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Fri, 28 Jul 2023 18:36:48 +0800 Subject: [PATCH] =?UTF-8?q?[3.4.0]=E4=BF=AE=E5=A4=8D=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E4=B8=AD=E6=89=93=E5=BC=80=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=B9=8B=E5=90=8E=E5=85=B3=E9=97=AD=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E9=9D=A2=E6=9D=BF=E5=86=8D=E6=89=93=E5=BC=80=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=85=B3=E9=97=AD=E4=B8=8A=E6=8A=A5=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E7=AA=97Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevaToolsProvider.kt | 4 +++ .../report/IPCReportManager.kt | 27 +++++++++++++++---- .../report/ReportListFloatWindow.kt | 10 +++---- .../hmi/ui/setting/DebugSettingView.kt | 6 +++++ .../api/devatools/IDevaToolsProvider.kt | 2 ++ .../call/devatools/CallerDevaToolsManager.kt | 7 +++++ 6 files changed, 45 insertions(+), 11 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 5992f031ec..875b34894a 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -294,6 +294,10 @@ class DevaToolsProvider : IDevaToolsProvider { iPCReportManager.showReportListWindow(context, isShow) } + override fun getReportWindowStatus(): Boolean { + return iPCReportManager.getReportWindowStatus() + } + override fun downLoadPackage(type: DownloadType, downloadKey: String, downloadUrl: String) { upgradeManager.downLoadPackage(mContext!!,type, downloadKey, downloadUrl) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/IPCReportManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/IPCReportManager.kt index a2931a6574..ca830e6140 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/IPCReportManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/IPCReportManager.kt @@ -23,6 +23,8 @@ class IPCReportManager : IMoGoAutopilotStatusListener { private var ipcErrorReportList = arrayListOf() //错误上报列表 private var ipcWarningReportList = arrayListOf() //警告上报列表 + private var ipcReportWindowIsShow = false //IPC上报窗口是否处于展示状态 + companion object{ const val TAG ="IPCReportManager" val iPCReportManager: IPCReportManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { @@ -55,16 +57,31 @@ class IPCReportManager : IMoGoAutopilotStatusListener { fun showReportListWindow(context: Context, isShow: Boolean){ if(isShow){ //打开工控机上报列表 - reportListFloatWindow = - ReportListFloatWindow(context as Activity) - reportListFloatWindow?.showFloatWindow() - reportListFloatWindow?.refreshData(reportList) + if(reportListFloatWindow == null){ + reportListFloatWindow = + ReportListFloatWindow(context as Activity) + } + reportListFloatWindow?.let { + it.showFloatWindow() + it.refreshData(reportList) + ipcReportWindowIsShow = true + } }else { //关闭工控机上报列表 - reportListFloatWindow?.hideFloatWindow() + reportListFloatWindow?.let { + it.hideFloatWindow() + ipcReportWindowIsShow = false + } } } + /** + * 获取窗口展示状态 + */ + fun getReportWindowStatus(): Boolean{ + return ipcReportWindowIsShow + } + /** *工控机监控节点上报 */ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt index cbca3ef1f2..fb6b9576be 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt @@ -69,22 +69,20 @@ class ReportListFloatWindow constructor(activity: Activity) : View.OnTouchListen mInViewY = motionEvent.y // 获取相对屏幕的坐标,即以屏幕左上角为原点 mDownInScreenX = motionEvent.rawX - mDownInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight() + mDownInScreenY = motionEvent.rawY mInScreenX = motionEvent.rawX - mInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight() + mInScreenY = motionEvent.rawY + } MotionEvent.ACTION_MOVE -> { // 更新浮动窗口位置参数 mInScreenX = motionEvent.rawX - mInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight() + mInScreenY = motionEvent.rawY mWindowParams!!.x = (mInScreenX - mInViewX).toInt() mWindowParams!!.y = (mInScreenY - mInViewY).toInt() // 手指移动的时候更新小悬浮窗的位置 mWindowManager!!.updateViewLayout(mFloatLayout, mWindowParams) } -// MotionEvent.ACTION_UP -> // 如果手指离开屏幕时,xDownInScreen和xInScreen相等,且yDownInScreen和yInScreen相等,则视为触发了单击事件。 -// if (mDownInScreenX === mInScreenX && mDownInScreenY === mInScreenY) { -// } } return true } 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 d1eab927b4..45b4c2e80b 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 @@ -895,6 +895,12 @@ internal class DebugSettingView @JvmOverloads constructor( //初始化ADAS日志开关状态 tbADASLog.isChecked = CallerAutoPilotControlManager.isEnableLog() + //如果工控机异常上报列表窗口为展示状态,则显示上报异常布局 + if(CallerDevaToolsManager.getReportWindowStatus()){ + reportMsgLayout.visibility = View.VISIBLE + tbReportMore.isChecked = true + } + //查看上报历史列表 tbReportMore.setOnCheckedChangeListener { _, isChecked -> clickListener?.showReportListWindow(isChecked) diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index a03bc63dd3..d3b1ba04fb 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -122,6 +122,8 @@ interface IDevaToolsProvider : IProvider { */ fun showReportListWindow(context: Context,isShow: Boolean) + fun getReportWindowStatus(): Boolean + /** * 下载指定包 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index 22386d7a6b..5f24f9c3fc 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -162,6 +162,13 @@ object CallerDevaToolsManager { devaToolsProviderApi?.showReportListWindow(context,isShow) } + /** + * 获取工控机异常上报列表展示状态 + */ + fun getReportWindowStatus(): Boolean{ + return devaToolsProviderApi?.getReportWindowStatus() ?: false + } + /** * 下载指定包 */