From 730ee8c8df97959a1ee8b9d8cbb919b5cbb562da Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 2 Mar 2023 17:28:47 +0800 Subject: [PATCH] =?UTF-8?q?[dev=5Farch=5Fopt=5F3.0]fix=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=EF=BC=8C=E7=82=B9=E5=87=BB=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=EF=BC=8CAPP=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevaToolsProvider.kt | 5 + .../report/IPCReportManager.kt | 32 ++++ .../report}/ReportListFloatWindow.kt | 8 +- .../report/adapter}/ReportListAdapter.kt | 4 +- .../src/main/res/drawable-xhdpi/icon_drag.png | Bin .../main/res/layout/item_report_detail.xml | 28 ++- .../src/main/res/layout/view_report_list.xml | 2 +- .../core/function/hmi/ui/MoGoHmiProvider.kt | 15 -- .../hmi/ui/setting/IPCReportAdapter.kt | 62 ------ .../hmi/ui/setting/IPCReportWindow.kt | 180 ------------------ .../hmi/ui/setting/ToggleDebugView.kt | 39 +--- .../src/main/res/layout/item_ipc_report.xml | 122 ------------ .../src/main/res/layout/view_ipc_report.xml | 58 ------ .../api/devatools/IDevaToolsProvider.kt | 5 + .../api/hmi/warning/IMoGoHmiProvider.kt | 7 - .../call/devatools/CallerDevaToolsManager.kt | 7 + .../function/call/hmi/CallerHmiManager.kt | 13 -- 17 files changed, 81 insertions(+), 506 deletions(-) rename core/function-impl/{mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting => mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report}/ReportListFloatWindow.kt (94%) rename core/function-impl/{mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting => mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/adapter}/ReportListAdapter.kt (97%) rename core/function-impl/{mogo-core-function-hmi => mogo-core-function-devatools}/src/main/res/drawable-xhdpi/icon_drag.png (100%) rename core/function-impl/{mogo-core-function-hmi => mogo-core-function-devatools}/src/main/res/layout/item_report_detail.xml (64%) rename core/function-impl/{mogo-core-function-hmi => mogo-core-function-devatools}/src/main/res/layout/view_report_list.xml (94%) delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportAdapter.kt delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml delete mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml 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 dfdec5e541..5df4043fe7 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 @@ -30,6 +30,7 @@ import com.zhjt.mogo_core_function_devatools.mofang.MoFangManager.Companion.moFa import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb import com.zhjt.mogo_core_function_devatools.monitor.db.MonitorDb.Companion.getDb +import com.zhjt.mogo_core_function_devatools.report.IPCReportManager import com.zhjt.mogo_core_function_devatools.report.IPCReportManager.Companion.iPCReportManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.StatusManager @@ -162,6 +163,10 @@ class DevaToolsProvider : IDevaToolsProvider { BadCaseManager.showBadCaseManagerWindow(context) } + override fun showReportListWindow(context: Context, isShow: Boolean) { + iPCReportManager.showReportListWindow(context, isShow) + } + override fun downLoadPackage(downloadKey: String, downloadUrl: String) { upgradeManager.downLoadPackage(mContext!!, 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 c2b3d6df97..970540e443 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 @@ -1,5 +1,7 @@ package com.zhjt.mogo_core_function_devatools.report +import android.app.Activity +import android.content.Context import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.msgbox.MsgBoxBean import com.mogo.eagle.core.data.msgbox.MsgBoxType @@ -37,6 +39,11 @@ class IPCReportManager : IMoGoAutopilotStatusListener { } + //工控机上报列表悬浮窗 + private var reportListFloatWindow: ReportListFloatWindow? = null + //工控机节点上报列表 + private val reportList = arrayListOf() + fun initServer(){ //乘客屏不显示监控信息弹窗,只在司机端提示 if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ @@ -45,6 +52,19 @@ class IPCReportManager : IMoGoAutopilotStatusListener { } } + fun showReportListWindow(context: Context, isShow: Boolean){ + if(isShow){ + //打开工控机上报列表 + reportListFloatWindow = + ReportListFloatWindow(context as Activity) + reportListFloatWindow?.showFloatWindow() + reportListFloatWindow?.refreshData(reportList) + }else { + //关闭工控机上报列表 + reportListFloatWindow?.hideFloatWindow() + } + } + /** *工控机监控节点上报 */ @@ -61,6 +81,18 @@ class IPCReportManager : IMoGoAutopilotStatusListener { CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.REPORT, reportEntity)) } + 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) + // //Error 弹窗并有提示音 // if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE) // || it.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ReportListFloatWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt similarity index 94% rename from core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ReportListFloatWindow.kt rename to core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt index 0c721fab5a..8f381129c8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ReportListFloatWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/ReportListFloatWindow.kt @@ -1,4 +1,4 @@ -package com.mogo.eagle.core.function.hmi.ui.setting +package com.zhjt.mogo_core_function_devatools.report import android.app.Activity import android.graphics.PixelFormat @@ -7,9 +7,9 @@ import android.view.* import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.data.report.ReportEntity -import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.BarUtils -import java.lang.reflect.Field +import com.zhjt.mogo_core_function_devatools.R +import com.zhjt.mogo_core_function_devatools.report.adapter.ReportListAdapter /** * @author XuXinChao @@ -51,7 +51,7 @@ class ReportListFloatWindow constructor(activity: Activity) : View.OnTouchListen it.alpha = 0.9f } reportListAdapter= ReportListAdapter(mActivity) - rvReportList.layoutManager = WrapContentLinearLayoutManager(mActivity, + rvReportList.layoutManager = LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL,false) rvReportList.adapter = reportListAdapter } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ReportListAdapter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/adapter/ReportListAdapter.kt similarity index 97% rename from core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ReportListAdapter.kt rename to core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/adapter/ReportListAdapter.kt index ebb27aa079..93d6b35879 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ReportListAdapter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/report/adapter/ReportListAdapter.kt @@ -1,4 +1,4 @@ -package com.mogo.eagle.core.function.hmi.ui.setting +package com.zhjt.mogo_core_function_devatools.report.adapter import android.annotation.SuppressLint import android.content.Context @@ -10,7 +10,7 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.data.report.ReportEntity import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager -import com.mogo.eagle.core.function.hmi.R +import com.zhjt.mogo_core_function_devatools.R /** * @author XuXinChao diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_drag.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_drag.png similarity index 100% rename from core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_drag.png rename to core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xhdpi/icon_drag.png diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_report_detail.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_report_detail.xml similarity index 64% rename from core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_report_detail.xml rename to core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_report_detail.xml index 767163596a..48a71d32c1 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_report_detail.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/item_report_detail.xml @@ -6,44 +6,58 @@ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_report_list.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_report_list.xml similarity index 94% rename from core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_report_list.xml rename to core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_report_list.xml index 758ba32b2f..015bb18a50 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_report_list.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/view_report_list.xml @@ -18,7 +18,7 @@ , - warningReportList: ArrayList, - reportLevel: Int - ) { - ThreadUtils.runOnUiThread { - context?.let { - if (reportLevel == 1) { - IPCReportWindow.show(it, errorReportList, warningReportList, reportLevel) - } - } - } - } - override fun showUpgradeDialog( name: String, url: String, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportAdapter.kt deleted file mode 100644 index e2892cc04e..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportAdapter.kt +++ /dev/null @@ -1,62 +0,0 @@ -package com.mogo.eagle.core.function.hmi.ui.setting - -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.TextView -import androidx.recyclerview.widget.RecyclerView -import com.mogo.eagle.core.data.report.ReportEntity -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager -import com.mogo.eagle.core.function.hmi.R -import me.jessyan.autosize.AutoSizeCompat - -/** - * @author XuXinChao - * @description 工控机异常节点上报适配器 - * @since: 2022/5/12 - */ -class IPCReportAdapter: RecyclerView.Adapter(){ - - private var data:List? = null - - fun setData( data: List?){ - this.data = data - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): IPCReportHolder { - val view = LayoutInflater.from(parent.context) - .inflate(R.layout.item_ipc_report, parent, false) - return IPCReportHolder(view) - } - - override fun onBindViewHolder(holder: IPCReportHolder, position: Int) { - AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources) - data?.let {it -> - val reportEntity = it[position] - reportEntity.let { - holder.tvReportTimeContent.text = it.time - var resultStr = "发生异常" - for (result in it.resultList){ - resultStr = "${resultStr}-${CallerAutoPilotControlManager.getReportResultDesc(result)}" - } - holder.tvReportResultContent.text = resultStr - holder.tvReportMsgContent.text = it.msg - var actionStr = "" - for (action in it.actionsList){ - actionStr = "${actionStr}-${CallerAutoPilotControlManager.getReportActionDesc(action)}" - } - holder.tvReportActionContent.text = actionStr - } - } - } - - override fun getItemCount() = data?.size ?: 0 - - class IPCReportHolder(itemView: View) : RecyclerView.ViewHolder(itemView){ - var tvReportTimeContent: TextView = itemView.findViewById(R.id.tvReportTimeContent) - var tvReportResultContent: TextView = itemView.findViewById(R.id.tvReportResultContent) - var tvReportMsgContent: TextView = itemView.findViewById(R.id.tvReportMsgContent) - var tvReportActionContent: TextView = itemView.findViewById(R.id.tvReportActionContent) - } - -} \ 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/IPCReportWindow.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt deleted file mode 100644 index df35a63998..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt +++ /dev/null @@ -1,180 +0,0 @@ -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.* -import android.widget.ImageView -import android.widget.TextView -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -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 com.mogo.eagle.core.utilcode.util.SoundUtils - -/** - * @author XuXinChao - * @description 工控机异常节点上报 - * @since: 2022/5/12 - */ -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 - private var mWindowManager: WindowManager? = null - private lateinit var rvIPCReport: RecyclerView - private lateinit var ivIpcClose: ImageView - private lateinit var tvIpcErrorTab: TextView - private lateinit var tvIpcWarningTab: TextView - private var ipcReportAdapter: IPCReportAdapter? = null - - private lateinit var mFloatLayout: View - private var mInViewX = 0f - private var mInViewY = 0f - private var mDownInScreenX = 0f - private var mDownInScreenY = 0f - private var mInScreenX = 0f - private var mInScreenY = 0f - - private var ipcErrorReportList: List? = null //错误上报列表 - private var ipcWarningReportList: List? = null//警告上报列表 - - init { - initFloatWindow() - } - - 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) - 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) - mWindowParams = WindowManager.LayoutParams() - mWindowManager = mActivity.windowManager - mWindowParams?.let { - it.format = PixelFormat.RGBA_8888 - it.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE - it.gravity = Gravity.START or Gravity.TOP - it.width = 924 - it.height = 444 - it.alpha = 1.0f - } - ipcReportAdapter = IPCReportAdapter() - rvIPCReport.layoutManager = WrapContentLinearLayoutManager( - mActivity, - LinearLayoutManager.VERTICAL, false - ) - rvIPCReport.adapter = ipcReportAdapter - //关闭按钮 - ivIpcClose.setOnClickListener { - 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) - 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) - ipcReportAdapter?.setData(ipcWarningReportList) - ipcReportAdapter?.notifyDataSetChanged() - } - - } - - fun refreshData( - errorReportList: List, - warningReportList: List, - reportLevel: Int - ) { - if (reportLevel == 1) { - ipcReportAdapter?.setData(errorReportList) - ipcErrorReportList = errorReportList - } else { - ipcReportAdapter?.setData(warningReportList) - ipcWarningReportList = warningReportList - } - ipcReportAdapter?.notifyDataSetChanged() - } - - override fun onTouch(v: View?, motionEvent: MotionEvent?): Boolean { - when (motionEvent?.action) { - MotionEvent.ACTION_DOWN -> { - // 获取相对View的坐标,即以此View左上角为原点 - mInViewX = motionEvent.x - mInViewY = motionEvent.y - // 获取相对屏幕的坐标,即以屏幕左上角为原点 - mDownInScreenX = motionEvent.rawX - mDownInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight() - mInScreenX = motionEvent.rawX - mInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight() - } - MotionEvent.ACTION_MOVE -> { - // 更新浮动窗口位置参数 - mInScreenX = motionEvent.rawX - mInScreenY = motionEvent.rawY - BarUtils.getStatusBarHeight() - 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 - } - - fun showFloatWindow() { - if (mFloatLayout.parent == null) { - val metrics = DisplayMetrics() - // 默认固定位置,靠屏幕右边缘的中间 - mWindowManager!!.defaultDisplay.getMetrics(metrics) - mWindowParams!!.x = metrics.widthPixels -// mWindowParams!!.y = metrics.heightPixels / 2 - BarUtils.getStatusBarHeight() - mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight() - 100 - mWindowManager!!.addView(mFloatLayout, mWindowParams) - } - } - - private fun hideFloatWindow() { - if (mFloatLayout.parent != null) { - mWindowManager!!.removeView(mFloatLayout) - } - ipcReportWindow = 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/ToggleDebugView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt index 69b4b17e89..c66d1681f7 100644 --- 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 @@ -1,20 +1,17 @@ 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.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.utilcode.util.TimeUtils import me.jessyan.autosize.utils.AutoSizeUtils -import mogo_msg.MogoReportMsg class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { @@ -28,29 +25,6 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { 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 */ @@ -60,18 +34,14 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { } 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) + CallerDevaToolsManager.showReportListWindow(context,true) } else { //关闭工控机上报列表 - reportListFloatWindow?.hideFloatWindow() + CallerDevaToolsManager.showReportListWindow(context,false) } } }) @@ -115,8 +85,7 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { mDebugSettingViewFloat = null mDebugSettingView = null //关闭工控机上报列表 - reportListFloatWindow?.hideFloatWindow() - reportListFloatWindow = null + } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml deleted file mode 100644 index 4d3fe403db..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_ipc_report.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml deleted file mode 100644 index b80d3247c8..0000000000 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_ipc_report.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file 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 0de776cdd9..7d1360bf39 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 @@ -110,6 +110,11 @@ interface IDevaToolsProvider : IProvider { */ fun showBadCaseManagerView(context: Context) + /** + * 工控机异常上报列表 + */ + fun showReportListWindow(context: Context,isShow: Boolean) + /** * 下载指定包 */ diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt index 537b33fe1d..a681b9e6a5 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoHmiProvider.kt @@ -92,13 +92,6 @@ interface IMoGoHmiProvider :IProvider{ */ fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo) - /** - * 展示工控机监控上报数据 - * @param errorReportList 错误级别上报数据列表 - * @param warningReportList 提醒级别上报数据列表 - * @param reportLevel 1:error级别 2:warning级别 - */ - fun showIPCReportWindow(errorReportList: ArrayList,warningReportList: ArrayList,reportLevel: Int) /** * 道路视频 放入指定url 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 91f1d0e9e8..d876b8e386 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 @@ -148,6 +148,13 @@ object CallerDevaToolsManager { devaToolsProviderApi?.showBadCaseManagerView(context) } + /** + * 工控机异常上报列表 + */ + fun showReportListWindow(context: Context,isShow: Boolean){ + devaToolsProviderApi?.showReportListWindow(context,isShow) + } + /** * 下载指定包 */ diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index 663a89c7bf..5a97aa8f1d 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -165,19 +165,6 @@ object CallerHmiManager { hmiProviderApi?.dismissDispatchDialog() } - /** - * 展示工控机监控上报数据 - * @param errorReportList 错误级别上报数据列表 - * @param warningReportList 提醒级别上报数据列表 - * @param reportLevel 1:error级别 2:warning级别 - */ - fun showIPCReportWindow( - errorReportList: ArrayList, - warningReportList: ArrayList, - reportLevel: Int - ) { - hmiProviderApi?.showIPCReportWindow(errorReportList, warningReportList, reportLevel) - } fun showVideoDialog(infList: List) { hmiProviderApi?.showVideoDialog(infList)