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 + } + /** * 下载指定包 */