From c11e4564018783c0284113083aec3c73c08d0b3d Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 15 Mar 2023 17:45:23 +0800 Subject: [PATCH] =?UTF-8?q?[m2]=20=E4=BC=98=E5=8C=96=E7=94=B5=E9=87=8F?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=87=8F=E5=B0=91=E9=A2=91=E7=B9=81=E5=88=87=E6=8D=A2=E4=B8=BB?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E7=9A=84=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/ui/widget/M2StatusBarView.kt | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt index b3ca14611a..23e6a22f54 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/M2StatusBarView.kt @@ -1,5 +1,6 @@ package com.mogo.och.bus.passenger.ui.widget +import android.annotation.* import android.content.Context import android.graphics.Color import android.util.AttributeSet @@ -14,9 +15,10 @@ import com.mogo.eagle.core.function.call.autopilot.CallerBatteryManagementSystem import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager -import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.och.bus.passenger.R import kotlinx.android.synthetic.m2.p_m2_view_status_bar.view.* +import kotlinx.coroutines.* import me.jessyan.autosize.utils.AutoSizeUtils /** @@ -32,11 +34,16 @@ class M2StatusBarView @JvmOverloads constructor( const val TAG = "M2StatusBarView" } + @Volatile + private var oldBmsSoc: Float = -1.0f + init { LayoutInflater.from(context).inflate(R.layout.p_m2_view_status_bar, this, true) setBackgroundColor(Color.parseColor("#80FFFFFF")) } + + @SuppressLint("ClickableViewAccessibility") override fun onAttachedToWindow() { super.onAttachedToWindow() post { @@ -51,8 +58,12 @@ class M2StatusBarView @JvmOverloads constructor( //电量 CallerBatteryManagementSystemListenerManager.addListener(TAG,this) - progress.progress = 50 - tv_power_cos.text = "50%" + progress?.also { + it.progress = 50 + } + tv_power_cos?.also { + it.text = "50%" + } } override fun onSkinModeChange(skinMode: Int) { @@ -69,19 +80,24 @@ class M2StatusBarView @JvmOverloads constructor( CallerDevaToolsManager.hideStatusBar() } + @SuppressLint("SetTextI18n") override fun onBatteryManagementSystemStates(states: ChassisStatesOuterClass.BMSSystemStates) { - ThreadUtils.runOnUiThread { - val bmsSoc = states.bmsSoc - if(bmsSoc >1){ - progress.progress = bmsSoc.toInt() - tv_power_cos.text = "${bmsSoc.toInt()}%" - }else{ - val currenPower = (bmsSoc * 100).toInt() - progress.progress = currenPower - tv_power_cos.text = "$currenPower%" + val bmsSoc = states.bmsSoc + try { + if (oldBmsSoc != bmsSoc ) { + scope.launch { + if(bmsSoc >1){ + progress?.also { it.progress = bmsSoc.toInt() } + tv_power_cos?.also { it.text = "${bmsSoc.toInt()}%" } + }else{ + val power = (bmsSoc * 100).toInt() + progress?.also { it.progress = power } + tv_power_cos?.also {it.text = "$power%" } + } + } } + } finally { + oldBmsSoc = bmsSoc } } - - } \ No newline at end of file