@@ -15,18 +15,18 @@ import com.mogo.eagle.core.data.autopilot.AdUpgradeStateHelper
import com.mogo.eagle.core.data.camera.CameraEntity
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.constants.MoGoFragmentPaths
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
import com.mogo.eagle.core.data.notice.NoticeNormalData
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener
import com.mogo.eagle.core.function.api.hmi.IMoGoHmiViewProxy
import com.mogo.eagle.core.function.api.hmi.view.IViewLimitingVelocity
import com.mogo.eagle.core.function.api.hmi.view.IViewTrafficLight
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWaringProvider
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
import com.mogo.eagle.core.function.call.check.CallerCheckManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager
import com.mogo.eagle.core.function.call.monitor.CallerMonitorManager
import com.mogo.eagle.core.function.hmi.R
@@ -40,6 +40,8 @@ import com.mogo.eagle.core.function.hmi.ui.notice.NoticeNormalBannerView
import com.mogo.eagle.core.function.hmi.ui.setting.DebugSettingView
import com.mogo.eagle.core.function.hmi.ui.tools.AutoPilotAndCheckView
import com.mogo.eagle.core.function.hmi.ui.widget.V2XNotificationView
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.Utils
@@ -56,8 +58,10 @@ import java.util.*
*/
@Route ( path = MoGoFragmentPaths . PATH _FRAGMENT _HMI )
class MoGoHmiFragment : MvpFragment < MoGoWarningContract . View ? , WaringPresenter ? > ( ) ,
IMoGoWaringProvider ,
MoGoWarningContract . View , IMoGoAutopilotIdentifyListener {
IMoGoWaringProvider ,
IMoGoHmiViewProxy ,
MoGoWarningContract . View ,
IMoGoAutopilotIdentifyListener {
private val TAG = " MoGoHmiFragment "
// DebugSettingView
@@ -83,8 +87,10 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
private var upgradeTipsView : ( ( ) -> View ) ? = null
// HMI 视图控件代理
// 红绿灯View代理
private var mViewTrafficLightVr : IViewTrafficLight ? = null
// 红绿灯 View代理
private var mViewTrafficLight : IViewTrafficLight ? = null
// 限速 View代理
private var mViewLimitingVelocity : IViewLimitingVelocity ? = null
override fun vipIdentification ( visible : Boolean ) {
@@ -132,7 +138,9 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
activity?.let { CarcorderPreviewView.show(it) }
}, 1000)*/
// 首次初始化使用默认视图
setProxyTrafficLightView ( viewTrafficLightVr )
setLimitingSpeedView ( viewLimitingVelocity )
}
@OptIn ( ExperimentalCoroutinesApi :: class )
@@ -181,7 +189,11 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
}
override fun setProxyTrafficLightView ( view : IViewTrafficLight ) {
mViewTrafficLightVr = view
mViewTrafficLight = view
}
override fun setLimitingSpeedView ( view : IViewLimitingVelocity ) {
mViewLimitingVelocity = view
}
private fun showToolsFloat ( ) {
@@ -315,7 +327,7 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
}
override fun setTrafficLightVrVisibility ( visibility : Int ) {
mViewTrafficLightVr ?. visibility = visibility
mViewTrafficLight ?. visibility = visibility
}
override fun setAutopilotStatusViewVisibility ( visibility : Int ) {
@@ -483,30 +495,30 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
* @param checkLightId 0-都是默认不亮起, 1-红, 2-黄, 3-绿
*/
override fun showWarningTrafficLight ( checkLightId : Int ) {
mViewTrafficLightVr ?. showWarningTrafficLight ( checkLightId )
mViewTrafficLight ?. showWarningTrafficLight ( checkLightId )
}
override fun isWarningTrafficLightShow ( ) : Boolean {
return mViewTrafficLightVr ?. visibility == View . VISIBLE
return mViewTrafficLight ?. visibility == View . VISIBLE
}
/**
* 关闭红绿灯预警展示,并重制灯态
*/
override fun disableWarningTrafficLight ( ) {
mViewTrafficLightVr ?. disableWarningTrafficLight ( )
mViewTrafficLight ?. disableWarningTrafficLight ( )
}
override fun changeCountdownRed ( redNum : Int ) {
mViewTrafficLightVr ?. changeCountdownRed ( redNum )
mViewTrafficLight ?. changeCountdownRed ( redNum )
}
override fun changeCountdownYellow ( yellowNum : Int ) {
mViewTrafficLightVr ?. changeCountdownYellow ( yellowNum )
mViewTrafficLight ?. changeCountdownYellow ( yellowNum )
}
override fun changeCountdownGreen ( greenNum : Int ) {
mViewTrafficLightVr ?. changeCountdownGreen ( greenNum )
mViewTrafficLight ?. changeCountdownGreen ( greenNum )
}
/**
@@ -515,7 +527,7 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
* @param greenNum 绿灯倒计时
*/
override fun changeCountdownTrafficLightNum ( readNum : Int , yellowNum : Int , greenNum : Int ) {
mViewTrafficLightVr ?. changeCountdownTrafficLightNum ( readNum , yellowNum , greenNum )
mViewTrafficLight ?. changeCountdownTrafficLightNum ( readNum , yellowNum , greenNum )
}
/**
@@ -523,11 +535,11 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
*/
override fun showLimitingVelocity ( limitingSpeed : Int ) {
if ( limitingSpeed > 0 ) {
tv LimitingVelocity?. visibility = View . VISIBLE
tv LimitingVelocity?. text = " $ limitingSpeed"
mView LimitingVelocity?. visibility = View . VISIBLE
mView LimitingVelocity?. updateLimitingSpeed ( limitingSpeed)
} else {
tv LimitingVelocity?. visibility = View . INVISIBLE
tv LimitingVelocity?. text = " 0 "
mView LimitingVelocity?. visibility = View . INVISIBLE
mView LimitingVelocity?. updateLimitingSpeed ( 0 )
}
}
@@ -535,8 +547,8 @@ class MoGoHmiFragment : MvpFragment<MoGoWarningContract.View?, WaringPresenter?>
* 控制关闭限速标志及内容
*/
override fun disableLimitingVelocity ( ) {
tv LimitingVelocity?. visibility = View . GONE
tv LimitingVelocity?. text = " 0 "
mView LimitingVelocity?. visibility = View . GONE
mView LimitingVelocity?. updateLimitingSpeed ( 0 )
}
/**