[6.8.0]冷启动进度条修改
This commit is contained in:
@@ -4,7 +4,6 @@ import android.animation.Animator
|
||||
import android.animation.ObjectAnimator
|
||||
import android.animation.ValueAnimator
|
||||
import android.content.Context
|
||||
import android.graphics.drawable.TransitionDrawable
|
||||
import android.os.CountDownTimer
|
||||
import android.text.TextUtils
|
||||
import android.util.AttributeSet
|
||||
@@ -12,7 +11,6 @@ import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoColdStartStateListener
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
||||
@@ -52,8 +50,6 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
const val TAG = "ColdStartProcessView"
|
||||
const val LOAD_SSM_WAITING_TIME = 180000L //SSM加载超时等待时间
|
||||
const val COLD_START_WAITING_TIME = 600000L //冷启动超时等待时间
|
||||
const val COLD_START_SUCCESS_SHOW_TIME = 3000L //冷启动成功视图展示时长
|
||||
const val COLD_START_SUCCESS_TICK_TIME = 500L //冷启动成功视图呼吸时长
|
||||
}
|
||||
|
||||
private var ipcConnectStatus = false //连接域控状态,默认是未连接
|
||||
@@ -71,8 +67,8 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
private var coldStartProcessNormalAnim: FrameAnimatorContainerUtils ?= null
|
||||
private var coldStartProcessAbnormalAnim: FrameAnimatorContainerUtils ?= null
|
||||
|
||||
private var transition: TransitionDrawable ?= null
|
||||
private var coldStartSuccessTimer: CountDownTimer?= null //冷启动成功动画倒计时
|
||||
private var successAlpha: ObjectAnimator ?= null //冷启动成功呼吸动画
|
||||
private var failAlpha: ObjectAnimator ?= null //冷启动失败呼吸动画
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.view_cold_start_process, this, true)
|
||||
@@ -80,15 +76,6 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
private fun initView(){
|
||||
|
||||
transition = TransitionDrawable(
|
||||
arrayOf(
|
||||
ContextCompat.getDrawable(context, R.drawable.icon_cold_start_success_01), // 当前图片
|
||||
ContextCompat.getDrawable(context, R.drawable.icon_cold_start_success_02) // 要渐变到的图片
|
||||
)
|
||||
)
|
||||
ivColdStartResult.setImageDrawable(transition)
|
||||
transition?.isCrossFadeEnabled = true
|
||||
clColdStartLayout.setOnClickListener {
|
||||
CallerHmiManager.showColdStartWindow()
|
||||
}
|
||||
@@ -110,15 +97,25 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
coldStartProcessAbnormalAnim?.release()
|
||||
connectSSMTimer?.cancel()
|
||||
connectColdStartTimer?.cancel()
|
||||
successAlpha?.cancel()
|
||||
failAlpha?.cancel()
|
||||
}
|
||||
|
||||
override fun showColdStartProcessView() {
|
||||
super.showColdStartProcessView()
|
||||
ThreadUtils.runOnUiThread {
|
||||
if(this.visibility != View.VISIBLE){
|
||||
if(this@ColdStartProcessView.visibility != View.VISIBLE){
|
||||
this.visibility = View.VISIBLE
|
||||
coldStartProcessNormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_normal,40,ivColdStartProcess)
|
||||
coldStartProcessAbnormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_abnormal,40,ivColdStartProcess)
|
||||
coldStartProcessNormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_normal,40,ivColdStartProcess)
|
||||
ipcConnectStatus = true
|
||||
ssmConnectStatus = false
|
||||
coldStartStatus = false
|
||||
newColdStart = false
|
||||
//域控连接成功
|
||||
coldStartNormalView()
|
||||
//开启连接SSM倒计时
|
||||
connectSSMProcess()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,6 +209,8 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
//冷启动就绪
|
||||
coldStartStatus = true
|
||||
showColdStartSuccessView()
|
||||
//取消冷启动等待
|
||||
connectColdStartTimer?.cancel()
|
||||
}
|
||||
//记录冷启动成功时间
|
||||
ColdStartConfig.setColdStartSuccessTime(System.currentTimeMillis())
|
||||
@@ -274,19 +273,21 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
}
|
||||
ivColdStartProcess.visibility = View.GONE
|
||||
ivColdStartResult.visibility = View.VISIBLE
|
||||
failAlpha?.cancel()
|
||||
ivColdStartResult.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_success_02)))
|
||||
val successAlpha: ObjectAnimator = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f)
|
||||
successAlpha.duration = 500
|
||||
successAlpha.repeatMode = ValueAnimator.REVERSE
|
||||
successAlpha.repeatCount = 6
|
||||
successAlpha.start()
|
||||
successAlpha.addListener(object: Animator.AnimatorListener{
|
||||
successAlpha = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f)
|
||||
successAlpha?.duration = 500
|
||||
successAlpha?.repeatMode = ValueAnimator.REVERSE
|
||||
successAlpha?.repeatCount = 6
|
||||
successAlpha?.start()
|
||||
successAlpha?.addListener(object: Animator.AnimatorListener{
|
||||
override fun onAnimationStart(animation: Animator) {
|
||||
|
||||
}
|
||||
|
||||
override fun onAnimationEnd(animation: Animator) {
|
||||
ivColdStartResult.visibility = View.GONE
|
||||
this@ColdStartProcessView.visibility = View.GONE
|
||||
}
|
||||
|
||||
override fun onAnimationCancel(animation: Animator) {
|
||||
@@ -299,31 +300,6 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
|
||||
})
|
||||
|
||||
|
||||
// var label = true
|
||||
// coldStartSuccessTimer = object: CountDownTimer(COLD_START_SUCCESS_SHOW_TIME,COLD_START_SUCCESS_TICK_TIME){
|
||||
// override fun onTick(millisUntilFinished: Long) {
|
||||
// ThreadUtils.runOnUiThread {
|
||||
// label = if(label){
|
||||
// transition?.startTransition(500)
|
||||
// false
|
||||
// }else{
|
||||
// transition?.reverseTransition(500)
|
||||
// true
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// override fun onFinish() {
|
||||
// ThreadUtils.runOnUiThread {
|
||||
// this@ColdStartProcessView.visibility = View.GONE
|
||||
// coldStartProcessNormalAnim?.release()
|
||||
// coldStartProcessAbnormalAnim?.release()
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// coldStartSuccessTimer?.start()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,12 +316,13 @@ class ColdStartProcessView @JvmOverloads constructor(
|
||||
}
|
||||
ivColdStartProcess.visibility = View.GONE
|
||||
ivColdStartResult.visibility = View.VISIBLE
|
||||
successAlpha?.cancel()
|
||||
ivColdStartResult.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_fail_02)))
|
||||
val failAlpha: ObjectAnimator = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f)
|
||||
failAlpha.duration = 500
|
||||
failAlpha.repeatMode = ValueAnimator.REVERSE
|
||||
failAlpha.repeatCount = ValueAnimator.INFINITE
|
||||
failAlpha.start()
|
||||
failAlpha = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f)
|
||||
failAlpha?.duration = 500
|
||||
failAlpha?.repeatMode = ValueAnimator.REVERSE
|
||||
failAlpha?.repeatCount = ValueAnimator.INFINITE
|
||||
failAlpha?.start()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user