diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt index 3a40e861c3..c2c6d89c7d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt @@ -24,7 +24,9 @@ import com.mogo.eagle.core.utilcode.util.ResourceUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.zhjt.mogo.adas.data.AdasConstants import com.zhjt.mogo_core_function_devatools.coldstart.ColdStartConfig +import kotlinx.android.synthetic.main.view_cold_start_process.view.clColdStartLayout import kotlinx.android.synthetic.main.view_cold_start_process.view.ivColdStartProcess +import kotlinx.android.synthetic.main.view_cold_start_process.view.ivColdStartResult import system_master.SsmInfo import system_master.SystemStatusInfo import java.util.Locale @@ -51,6 +53,7 @@ class ColdStartProcessView @JvmOverloads constructor( const val COLD_START_SUCCESS_TICK_TIME = 500L //冷启动成功视图呼吸时长 } + private var ipcConnectStatus = false //连接域控状态,默认是未连接 private var ssmConnectStatus = false //SSM连接状态,默认是未连接 private var coldStartStatus = false //冷启动状态,默认是未冷启动成功 @@ -77,17 +80,15 @@ class ColdStartProcessView @JvmOverloads constructor( coldStartProcessNormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_normal,40,ivColdStartProcess) coldStartProcessAbnormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_abnormal,40,ivColdStartProcess) - transition = TransitionDrawable( arrayOf( ContextCompat.getDrawable(context, R.drawable.icon_cold_start_success_01), // 当前图片 ContextCompat.getDrawable(context, R.drawable.icon_cold_start_success_02) // 要渐变到的图片 ) ) - ivColdStartProcess.setImageDrawable(transition) + ivColdStartResult.setImageDrawable(transition) transition?.isCrossFadeEnabled = true - - ivColdStartProcess.setOnClickListener { + clColdStartLayout.setOnClickListener { CallerHmiManager.showColdStartWindow() } } @@ -112,8 +113,10 @@ class ColdStartProcessView @JvmOverloads constructor( override fun showColdStartProcessView() { super.showColdStartProcessView() - if(this.visibility != View.VISIBLE){ - this.visibility = View.VISIBLE + ThreadUtils.runOnUiThread { + if(this.visibility != View.VISIBLE){ + this.visibility = View.VISIBLE + } } } @@ -129,9 +132,11 @@ class ColdStartProcessView @JvmOverloads constructor( coldStartNormalView() //开启连接SSM倒计时 connectSSMProcess() + ipcConnectStatus = true }else{ //域控连接失败 coldStartAbnormalView() + ipcConnectStatus = false } } @@ -211,6 +216,8 @@ class ColdStartProcessView @JvmOverloads constructor( if(it.eventStatus == SsmInfo.CSState.COLD_START_UNREADY || it.eventStatus == SsmInfo.CSState.COLD_START_TIMEOUT){ //展示冷启动失败视图 showColdStartFailView() + //取消冷启动等待 + connectColdStartTimer?.cancel() } } } @@ -222,12 +229,15 @@ class ColdStartProcessView @JvmOverloads constructor( */ private fun coldStartNormalView(){ ThreadUtils.runOnUiThread { + if(coldStartProcessNormalAnim?.isPlaying() == true){ + return@runOnUiThread + } + ivColdStartProcess.visibility = View.VISIBLE + ivColdStartResult.visibility = View.GONE if(coldStartProcessAbnormalAnim?.isPlaying() == true){ coldStartProcessAbnormalAnim?.stop() } - if(coldStartProcessNormalAnim?.isPlaying() == false){ - coldStartProcessNormalAnim?.start() - } + coldStartProcessNormalAnim?.start() } } @@ -236,12 +246,15 @@ class ColdStartProcessView @JvmOverloads constructor( */ private fun coldStartAbnormalView(){ ThreadUtils.runOnUiThread { + if(coldStartProcessAbnormalAnim?.isPlaying() == true){ + return@runOnUiThread + } + ivColdStartProcess.visibility = View.VISIBLE + ivColdStartResult.visibility = View.GONE if(coldStartProcessNormalAnim?.isPlaying() == true){ coldStartProcessNormalAnim?.stop() } - if(coldStartProcessAbnormalAnim?.isPlaying() == false){ - coldStartProcessAbnormalAnim?.start() - } + coldStartProcessAbnormalAnim?.start() } } @@ -256,6 +269,9 @@ class ColdStartProcessView @JvmOverloads constructor( if(coldStartProcessAbnormalAnim?.isPlaying() == true){ coldStartProcessAbnormalAnim?.stop() } + ivColdStartProcess.visibility = View.GONE + ivColdStartResult.visibility = View.VISIBLE + ivColdStartResult.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_success_02))) var label = true coldStartSuccessTimer = object: CountDownTimer(COLD_START_SUCCESS_SHOW_TIME,COLD_START_SUCCESS_TICK_TIME){ override fun onTick(millisUntilFinished: Long) { @@ -294,7 +310,9 @@ class ColdStartProcessView @JvmOverloads constructor( if(coldStartProcessAbnormalAnim?.isPlaying() == true){ coldStartProcessAbnormalAnim?.stop() } - ivColdStartProcess.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_fail_02))) + ivColdStartProcess.visibility = View.GONE + ivColdStartResult.visibility = View.VISIBLE + ivColdStartResult.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_fail_02))) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start_process.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start_process.xml index 5fe6f4ad2a..a077b7db1c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start_process.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_cold_start_process.xml @@ -1,8 +1,30 @@ - + - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml index b5bd25b941..4ffae3c307 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_map_container.xml @@ -218,7 +218,6 @@