From 4bf8e215446d284753e4f2dad9fac0340658e1c7 Mon Sep 17 00:00:00 2001 From: xuxinchao <13522809046@163.com> Date: Mon, 25 Jul 2022 18:08:24 +0800 Subject: [PATCH] IPC Report MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 异常上报弹窗改版,根据Result区分出Error和Warning --- .../core/function/report/IPCReportManager.kt | 43 ++++++++-- .../core/function/hmi/ui/MoGoHmiFragment.kt | 30 ++++--- .../hmi/ui/setting/IPCReportWindow.kt | 40 ++++++++-- .../res/drawable-xxhdpi/icon_ipc_close.png | Bin 0 -> 7314 bytes .../main/res/drawable/ipc_error_tab_bg.xml | 9 +++ .../src/main/res/layout/item_ipc_report.xml | 24 +++--- .../src/main/res/layout/view_ipc_report.xml | 74 ++++++++++-------- .../api/hmi/warning/IMoGoWaringProvider.kt | 6 +- .../function/call/hmi/CallerHmiManager.kt | 8 +- 9 files changed, 159 insertions(+), 75 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/icon_ipc_close.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_bg.xml diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt index 1e158f6777..899ee755a8 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/report/IPCReportManager.kt @@ -16,13 +16,23 @@ import mogo_msg.MogoReportMsg */ class IPCReportManager : IMoGoAutopilotStatusListener { - private var ipcReportList = arrayListOf() + private var ipcErrorReportList = arrayListOf() //错误上报列表 + private var ipcWarningReportList = arrayListOf() //警告上报列表 companion object{ const val TAG ="IPCReportManager" val INSTANCE: IPCReportManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { IPCReportManager() } + //Warning + const val RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR" + const val RESULT_SHOW_WARNING = "RESULT_SHOW_WARNING" + const val RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR" + //Error + const val RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE" + const val RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED" + const val RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE" + } fun initServer(){ @@ -38,17 +48,38 @@ class IPCReportManager : IMoGoAutopilotStatusListener { */ override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { guardianInfo?.let{ - if(it.level=="error"){ - if(ipcReportList.size>19){ - ipcReportList.removeLast() + + //Error 弹窗并有提示音 + if(it.resultList.contains(RESULT_AUTOPILOT_DISABLE) + || it.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED) + || it.resultList.contains(RESULT_REMOTEPILOT_DISABLE)){ + if(ipcErrorReportList.size>19){ + ipcErrorReportList.removeLast() } - ipcReportList.add(0, + ipcErrorReportList.add(0, ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), it.src,it.level,it.msg,it.code,it.resultList,it.actionsList)) //当前不处于美化模式时,展示监控节点上报 if(!FunctionBuildConfig.isDemoMode){ if(FunctionBuildConfig.isReportWarning){ - CallerHmiManager.showIPCReportWindow(ipcReportList) + CallerHmiManager.showIPCReportWindow(ipcErrorReportList,ipcWarningReportList,1) + } + } + } + //Warning 不弹窗也不会有提示音 + else if(it.resultList.contains(RESULT_AUTOPILOT_INFERIOR) + || it.resultList.contains(RESULT_SHOW_WARNING) + || it.resultList.contains(RESULT_REMOTEPILOT_INFERIOR)){ + if(ipcWarningReportList.size>19){ + ipcWarningReportList.removeLast() + } + ipcWarningReportList.add(0, + ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), + it.src,it.level,it.msg,it.code,it.resultList,it.actionsList)) + //当前不处于美化模式时,展示监控节点上报 + if(!FunctionBuildConfig.isDemoMode){ + if(FunctionBuildConfig.isReportWarning){ + CallerHmiManager.showIPCReportWindow(ipcErrorReportList,ipcWarningReportList,2) } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 8d0f923de7..22497d9f1a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -281,24 +281,28 @@ import java.util.* /** * 展示工控机监控上报数据 - * @param reportList 上报数据列表 + * @param errorReportList 错误级别上报数据列表 + * @param warningReportList 提醒级别上报数据列表 + * @param reportLevel 1:error级别 2:warning级别 */ - override fun showIPCReportWindow(reportList: ArrayList) { + override fun showIPCReportWindow(errorReportList: ArrayList,warningReportList: ArrayList,reportLevel: Int) { ThreadUtils.runOnUiThread{ - if(ipcReportWindow==null){ - ipcReportWindow= activity?.let { IPCReportWindow(it) } - ipcReportWindow?.setClickListener(object: IPCReportWindow.ClickListener{ - override fun closeWindow() { - ipcReportWindow?.hideFloatWindow() - ipcReportWindow =null + 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?.let { - SoundUtils.playRing(requireContext()) } + ipcReportWindow?.showFloatWindow() } - ipcReportWindow?.showFloatWindow() - ipcReportWindow?.refreshData(reportList) + ipcReportWindow?.refreshData(errorReportList,warningReportList,reportLevel) } } 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 aa4f8277a3..1c74fbaf9d 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 @@ -5,6 +5,7 @@ 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 @@ -23,6 +24,8 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ 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 @@ -35,6 +38,9 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ private var clickListener: ClickListener? = null + private var ipcErrorReportList: List? = null //错误上报列表 + private var ipcWarningReportList: List? = null//警告上报列表 + init { initFloatWindow(); } @@ -44,28 +50,47 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ 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 = 600 - it.height = 800 - it.alpha = 0.9f + it.width = 924 + it.height = 444 + it.alpha = 1.0f } ipcReportAdapter = IPCReportAdapter() rvIPCReport.layoutManager = WrapContentLinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL,false) rvIPCReport.adapter = ipcReportAdapter - + //关闭按钮 ivIpcClose.setOnClickListener { clickListener?.closeWindow() } + //错误列表 + tvIpcErrorTab.setOnClickListener { + ipcReportAdapter?.setData(ipcErrorReportList) + ipcReportAdapter?.notifyDataSetChanged() + } + //预警列表 + tvIpcWarningTab.setOnClickListener { + ipcReportAdapter?.setData(ipcWarningReportList) + ipcReportAdapter?.notifyDataSetChanged() + } + } - fun refreshData(data:List){ - ipcReportAdapter?.setData(data) + fun refreshData(errorReportList:List,warningReportList:List,reportLevel: Int){ + if(reportLevel == 1){ + ipcReportAdapter?.setData(errorReportList) + ipcErrorReportList = errorReportList + }else{ + ipcReportAdapter?.setData(warningReportList) + ipcWarningReportList = warningReportList + } ipcReportAdapter?.notifyDataSetChanged() } @@ -103,7 +128,8 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ // 默认固定位置,靠屏幕右边缘的中间 mWindowManager!!.defaultDisplay.getMetrics(metrics) mWindowParams!!.x = metrics.widthPixels - mWindowParams!!.y = metrics.heightPixels / 2 - getSysBarHeight(mActivity) +// mWindowParams!!.y = metrics.heightPixels / 2 - getSysBarHeight(mActivity) + mWindowParams!!.y = metrics.heightPixels - getSysBarHeight(mActivity)-100 mWindowManager!!.addView(mFloatLayout, mWindowParams) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/icon_ipc_close.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xxhdpi/icon_ipc_close.png new file mode 100644 index 0000000000000000000000000000000000000000..99ed84f46440280b6ce36b511f2a55612679c94f GIT binary patch literal 7314 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

XhNAI=aYXUGm(olO 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 literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_bg.xml new file mode 100644 index 0000000000..58a14ac5c7 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_bg.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file 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 index b055c72d90..1710d1291f 100644 --- 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 @@ -11,7 +11,7 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:text="@string/ipc_report_time" android:layout_marginTop="10dp" android:layout_marginStart="10dp" @@ -24,7 +24,7 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toRightOf="@id/tvReportTimeTitle" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:layout_marginTop="10dp" android:layout_marginEnd="10dp" /> @@ -36,7 +36,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@id/tvReportTimeTitle" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:text="@string/ipc_report_type" android:layout_marginTop="10dp" android:layout_marginStart="10dp" @@ -49,8 +49,8 @@ app:layout_constraintTop_toTopOf="@id/tvReportResultTitle" app:layout_constraintLeft_toRightOf="@id/tvReportResultTitle" app:layout_constraintRight_toRightOf="parent" - android:textColor="@color/color_FF0006" - android:textSize="14sp" + android:textColor="@color/color_FFFFFF" + android:textSize="16sp" android:minLines="1" android:layout_marginEnd="10dp" /> @@ -62,7 +62,7 @@ app:layout_constraintTop_toBottomOf="@id/tvReportResultContent" app:layout_constraintLeft_toLeftOf="parent" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:text="@string/ipc_report_msg" android:layout_marginTop="10dp" android:layout_marginStart="10dp" @@ -76,8 +76,8 @@ app:layout_constraintLeft_toRightOf="@id/tvReportMsgTitle" app:layout_constraintRight_toRightOf="parent" android:minLines="1" - android:textColor="@color/color_FF0006" - android:textSize="14sp" + android:textColor="@color/color_FFFFFF" + android:textSize="16sp" android:layout_marginEnd="10dp" /> @@ -88,7 +88,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@id/tvReportMsgContent" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:text="@string/ipc_report_action" android:layout_marginTop="10dp" android:layout_marginStart="10dp" @@ -103,7 +103,7 @@ app:layout_constraintRight_toRightOf="parent" android:minLines="1" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:layout_marginEnd="10dp" /> @@ -113,8 +113,10 @@ android:background="#F0F0F0" app:layout_constraintTop_toBottomOf="@id/tvReportActionContent" android:textColor="@color/color_FFFFFF" - android:textSize="14sp" + android:textSize="16sp" android:layout_marginTop="5dp" + android:layout_marginStart="10dp" + android:layout_marginEnd="10dp" /> \ 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 index 066d30f6db..101153a73c 100644 --- 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 @@ -1,49 +1,57 @@ - - - - - - - - + app:roundLayoutRadius="40px"> + + + + + + + android:layout_height="0dp" + app:layout_constraintTop_toBottomOf="@id/tv_ipc_error_tab" + app:layout_constraintBottom_toBottomOf="parent" + /> diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt index c766cc953d..319355e34a 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt @@ -243,9 +243,11 @@ interface IMoGoWaringProvider : IMoGoHmiViewProxy { /** * 展示工控机监控上报数据 - * @param reportList 上报数据列表 + * @param errorReportList 错误级别上报数据列表 + * @param warningReportList 提醒级别上报数据列表 + * @param reportLevel 1:error级别 2:warning级别 */ - fun showIPCReportWindow(reportList: ArrayList) + fun showIPCReportWindow(errorReportList: ArrayList,warningReportList: ArrayList,reportLevel: Int) fun showVideoDialog(url: String, isFlvUrl: Boolean) } \ No newline at end of file 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 6efce9500d..5079e905b4 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 @@ -352,10 +352,12 @@ object CallerHmiManager : CallerBase() { /** * 展示工控机监控上报数据 - * @param reportList 上报数据列表 + * @param errorReportList 错误级别上报数据列表 + * @param warningReportList 提醒级别上报数据列表 + * @param reportLevel 1:error级别 2:warning级别 */ - fun showIPCReportWindow(reportList: ArrayList){ - waringProviderApi?.showIPCReportWindow(reportList) + fun showIPCReportWindow(errorReportList: ArrayList,warningReportList: ArrayList,reportLevel: Int){ + waringProviderApi?.showIPCReportWindow(errorReportList,warningReportList,reportLevel) } @JvmOverloads