From 76bed1cbcdbbe7185a45115311a6ef933995f354 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Fri, 8 Apr 2022 10:10:05 +0800 Subject: [PATCH] =?UTF-8?q?[Change]=20=E5=A2=9E=E5=8A=A0=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E5=85=A8=E5=B1=8F=E5=B9=95=E7=9A=84View=E6=B7=BB=E5=8A=A0&?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加 OverlayViewUtils.showOverlayView(getContext(),overlayView); 移除 OverlayViewUtils.showOverlayView(getContext(),overlayView); ⚠️注意:调用添加方法后一定要在适当的位置调用移除方法,否则将导致APP无法进入HMI交互视图 Signed-off-by: donghongyu --- .../{WaringPresenter.kt => HmiPresenter.kt} | 4 +- ...oWarningContract.kt => MoGoHmiContract.kt} | 2 +- .../core/function/hmi/ui/MoGoHmiFragment.kt | 8 +- .../res/layout/module_main_activity_main.xml | 2 +- .../core/utilcode/util/OverlayViewUtils.java | 93 +++++++++++++++++++ 5 files changed, 101 insertions(+), 8 deletions(-) rename core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/{WaringPresenter.kt => HmiPresenter.kt} (58%) rename core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/{MoGoWarningContract.kt => MoGoHmiContract.kt} (93%) create mode 100644 core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/OverlayViewUtils.java diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/WaringPresenter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/HmiPresenter.kt similarity index 58% rename from core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/WaringPresenter.kt rename to core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/HmiPresenter.kt index 866cf26116..7ebe9297ac 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/WaringPresenter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/HmiPresenter.kt @@ -6,8 +6,8 @@ import com.mogo.commons.mvp.Presenter * @author xiaoyuzhou * @date 2021/8/3 3:55 下午 */ -class WaringPresenter(view: MoGoWarningContract.View?) : - Presenter(view) { +class HmiPresenter(view: MoGoHmiContract.View?) : + Presenter(view) { } \ 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/MoGoWarningContract.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiContract.kt similarity index 93% rename from core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoWarningContract.kt rename to core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiContract.kt index b9916ef0da..3cb6912670 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoWarningContract.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiContract.kt @@ -11,7 +11,7 @@ import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener *@author xiaoyuzhou *@date 2021/8/4 3:38 下午 */ -interface MoGoWarningContract { +interface MoGoHmiContract { interface View : IView { 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 76628e984a..70b9dd7140 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 @@ -60,10 +60,10 @@ import java.util.* * 预警图层 */ @Route(path = MoGoFragmentPaths.PATH_FRAGMENT_HMI) -class MoGoHmiFragment : MvpFragment(), +class MoGoHmiFragment : MvpFragment(), IMoGoWaringProvider, IMoGoHmiViewProxy, - MoGoWarningContract.View, + MoGoHmiContract.View, IMoGoAutopilotRecordListener { private val TAG = "MoGoHmiFragment" @@ -347,8 +347,8 @@ class MoGoHmiFragment : MvpFragment return TAG } - override fun createPresenter(): WaringPresenter { - return WaringPresenter(this) + override fun createPresenter(): HmiPresenter { + return HmiPresenter(this) } override fun setSpeedChartViewVisibility(visibility: Int) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml index 3e39181da0..ca5882f47d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml @@ -37,7 +37,7 @@ app:layout_constraintEnd_toEndOf="parent" /> - + { + dismissOverlayView(lastOverlayView); + return true; + }); + lastOverlayView = overlayView; + windowManager.addView(overlayView, params); + isShowing = true; + } catch (Exception e) { + e.printStackTrace(); + } + + } + + /** + * 移除覆盖View在Activity上面 + */ + public static void dismissOverlayView(View overlayView) { + if (!isShowing) { + return; + } + try { + if (windowManager != null && overlayView != null) { + windowManager.removeView(overlayView); + } + isShowing = false; + } catch (Exception e) { + e.printStackTrace(); + } + } + + +}