From 7cbd112ba8a0d16b3fa863f079cc580b9dded892 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 11 Jul 2024 19:47:53 +0800 Subject: [PATCH] [6.5.0] fix ui problem --- .../hmi/ui/camera/RoadCrossLiveView.kt | 24 ++++++++++++++++++- .../core/function/view/CameraMarkerView.kt | 3 --- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadCrossLiveView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadCrossLiveView.kt index 731f2ff03d..bd2eef9be1 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadCrossLiveView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/camera/RoadCrossLiveView.kt @@ -12,13 +12,17 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import com.mogo.eagle.core.data.road.RoadCameraLive +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer import com.shuyu.gsyvideoplayer.GSYVideoManager @@ -37,7 +41,7 @@ class RoadCrossLiveView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoMapRoadListener { +) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoMapRoadListener, IViewControlListener { companion object { private const val TAG = "RoadCrossLiveView" @@ -110,6 +114,7 @@ class RoadCrossLiveView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() CallerMapRoadListenerManager.addListener(TAG, this) + CallerHmiViewControlListenerManager.addListener(TAG, this) } override fun onRoadChange(cross: Boolean, roadCross: RoadCross?) { @@ -120,11 +125,22 @@ class RoadCrossLiveView @JvmOverloads constructor( } } + override fun mainPageViewVisible(v: Int) { + super.mainPageViewVisible(v) + if (v == View.GONE && this.visibility == View.VISIBLE) { + closeView() + } + } + override fun onRoadCrossClick() { super.onRoadCrossClick() if (this.visibility == View.VISIBLE) { return } + if(!CallerHmiViewControlListenerManager.getMainPageVisible()){ + CallerLogger.d("${M_MAP}$TAG", "onRoadCrossClick return , mainPageVisible is false") + return + } resetView() } @@ -158,6 +174,7 @@ class RoadCrossLiveView @JvmOverloads constructor( * 重置视图,播放下一个 */ private fun resetView() { + CallerHmiViewControlListenerManager.invokeV2XEvent(TAG, View.VISIBLE) this.visibility = View.VISIBLE roadCrossLivePB.visibility = View.VISIBLE roadCrossLivePlayer.onVideoReset() @@ -167,6 +184,10 @@ class RoadCrossLiveView @JvmOverloads constructor( * 隐藏view,释放视频控制器 */ private fun closeView() { + if(visibility == View.GONE){ + return + } + CallerHmiViewControlListenerManager.invokeV2XEvent(TAG, View.VISIBLE) this.visibility = View.GONE roadCrossLivePlayer.visibility = View.GONE curLiveDevice = null @@ -176,6 +197,7 @@ class RoadCrossLiveView @JvmOverloads constructor( override fun onDetachedFromWindow() { super.onDetachedFromWindow() CallerMapRoadListenerManager.removeListener(TAG) + CallerHmiViewControlListenerManager.removeListener(TAG) closeView() } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/CameraMarkerView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/CameraMarkerView.kt index 1ca53c83fb..9161be3786 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/CameraMarkerView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/CameraMarkerView.kt @@ -5,7 +5,6 @@ import android.util.AttributeSet import android.view.View import android.view.ViewGroup import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener -import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.map.R import com.mogo.eagle.core.utilcode.util.ThreadUtils @@ -35,7 +34,6 @@ class CameraMarkerView(context: Context, attrs: AttributeSet? = null, defStyleAt override fun onAttachedToWindow() { super.onAttachedToWindow() CallerSkinModeListenerManager.addListener(TAG, this) - CallerHmiViewControlListenerManager.invokeV2XEvent(TAG, View.VISIBLE) } override fun onSkinModeChange(skinMode: Int) { @@ -73,7 +71,6 @@ class CameraMarkerView(context: Context, attrs: AttributeSet? = null, defStyleAt override fun onDetachedFromWindow() { super.onDetachedFromWindow() CallerSkinModeListenerManager.removeListener(TAG) - CallerHmiViewControlListenerManager.invokeV2XEvent(TAG, View.GONE) } } \ No newline at end of file