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