[6.5.0] fix ui problem

This commit is contained in:
EmArrow
2024-07-11 19:47:53 +08:00
parent 41a63d92f6
commit 7cbd112ba8
2 changed files with 23 additions and 4 deletions

View File

@@ -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()
}
}

View File

@@ -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)
}
}