[6.8.0]冷启动三期进度条调整
This commit is contained in:
@@ -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)))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/ivColdStartProcess"
|
||||
android:layout_width="@dimen/dp_510"
|
||||
android:layout_height="@dimen/dp_72"
|
||||
android:contentDescription="@string/cold_start_process">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/clColdStartLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
</ImageView>
|
||||
<ImageView
|
||||
android:id="@+id/ivColdStartProcess"
|
||||
android:layout_width="@dimen/dp_450"
|
||||
android:layout_height="@dimen/dp_12"
|
||||
android:contentDescription="@string/cold_start_process"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginBottom="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivColdStartResult"
|
||||
android:layout_width="@dimen/dp_510"
|
||||
android:layout_height="@dimen/dp_72"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:contentDescription="@string/cold_start_process"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -218,7 +218,6 @@
|
||||
<com.mogo.eagle.core.function.hmi.ui.widget.ColdStartProcessView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="45dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
Reference in New Issue
Block a user