[6.6.0][FSM] fix: FSM 状态 需要在状态栏展示,同时需要影响自动驾驶按钮状态;

This commit is contained in:
aibingbing
2024-09-04 16:07:14 +08:00
parent 75284594ae
commit cfac9983eb

View File

@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.*
import com.mogo.eagle.core.utilcode.kotlin.*
import com.mogo.eagle.core.utilcode.rv.divider.*
import com.zhjt.mogo_core_function_devatools.R
import com.zhjt.mogo_core_function_devatools.status.entity.FSMStatus
import com.zhjt.mogo_core_function_devatools.status.entity.IAutopilotPreLaunchStatus
import com.zhjt.mogo_core_function_devatools.status.entity.Status
import com.zhjt.mogo_core_function_devatools.status.model.StatusModel
@@ -48,11 +49,11 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra
.horizontalInnerSpace(10.PX)
.build()
)
val adapter = model.status.value?.let { data -> StatusAdapter(context, data.second.filter { it !is IAutopilotPreLaunchStatus }) }?.also { adapter -> itx.adapter = adapter }
val adapter = model.status.value?.let { data -> StatusAdapter(context, data.second.filter { (it !is IAutopilotPreLaunchStatus) && (it !is FSMStatus)}) }?.also { adapter -> itx.adapter = adapter }
adapter?.let { _ ->
model.status.observeForever(Observer<Pair<Status?, ArrayList<Status>>> { data ->
val old = adapter.data
val update = data.second.filter { it !is IAutopilotPreLaunchStatus }
val update = data.second.filter { (it !is IAutopilotPreLaunchStatus) && (it !is FSMStatus)}) }
val result = DiffUtil.calculateDiff(StatusDiffCallback(old, update))
adapter.data = update
result.dispatchUpdatesTo(adapter)