[状态栏]添加日志追踪循迹状态延时更新
This commit is contained in:
@@ -4,7 +4,11 @@ import android.content.*
|
||||
import android.util.*
|
||||
import androidx.annotation.*
|
||||
import com.mogo.eagle.core.utilcode.kotlin.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.Status
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.trace.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.trace.TracingImpl
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.trace.TracingImpl.Companion
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.channels.*
|
||||
import kotlinx.coroutines.channels.Channel.Factory.CONFLATED
|
||||
@@ -35,9 +39,15 @@ internal abstract class IFlow< T : Status>(val ctx: Context) : CoroutineScope {
|
||||
}
|
||||
|
||||
fun send(t: T) {
|
||||
if (t is TracingStatus) {
|
||||
Logger.d(TracingImpl.TAG, "send -- 1 -- state: $t")
|
||||
}
|
||||
if (old == t) {
|
||||
return
|
||||
}
|
||||
if (t is TracingStatus) {
|
||||
Logger.d(TracingImpl.TAG, "send -- 2 -- state: $t")
|
||||
}
|
||||
old = t
|
||||
launch {
|
||||
chl.send(t)
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.util.*
|
||||
import com.mogo.eagle.core.data.autopilot.*
|
||||
import com.mogo.eagle.core.function.api.autopilot.*
|
||||
import com.mogo.eagle.core.function.call.autopilot.*
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.*
|
||||
@@ -29,6 +30,7 @@ internal class TracingImpl(ctx: Context): IFlow<TracingStatus>(ctx), IMoGoAutopi
|
||||
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMessage?) {
|
||||
super.onAutopilotGuardian(guardianInfo)
|
||||
Logger.d(TAG, "onAutopilotGuardian -- code: ${guardianInfo?.code}")
|
||||
val current = guardianInfo?.code
|
||||
val newState = current?.toState()
|
||||
if (newState != null && newState != old) {
|
||||
@@ -46,6 +48,7 @@ internal class TracingImpl(ctx: Context): IFlow<TracingStatus>(ctx), IMoGoAutopi
|
||||
|
||||
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
|
||||
super.onAutopilotStatusResponse(autoPilotStatusInfo)
|
||||
Logger.d(TAG, "onAutopilotStatusResponse -- state: ${autoPilotStatusInfo.state}")
|
||||
if (autoPilotStatusInfo.state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) {
|
||||
send(TracingStatus(UNKNOWN))
|
||||
return
|
||||
|
||||
@@ -13,9 +13,12 @@ import androidx.core.content.*
|
||||
import androidx.lifecycle.*
|
||||
import androidx.recyclerview.widget.*
|
||||
import com.mogo.eagle.core.utilcode.kotlin.*
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.*
|
||||
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.Status
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.trace.*
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.trace.TracingImpl
|
||||
import com.zhjt.mogo_core_function_devatools.status.model.StatusModel
|
||||
import com.zhjt.mogo_core_function_devatools.status.ui.adapter.StatusAdapter
|
||||
import com.zhjt.mogo_core_function_devatools.status.ui.diff.StatusDiffCallback
|
||||
@@ -81,6 +84,7 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra
|
||||
val old = adapter.data
|
||||
val result = DiffUtil.calculateDiff(StatusDiffCallback(old, data.second))
|
||||
adapter.data = data.second
|
||||
Logger.d("TracingImpl", "old: ${old.find { it is TracingStatus }} => new: ${data.second.find { it is TracingStatus }}")
|
||||
result.dispatchUpdatesTo(adapter)
|
||||
}.also { observer = it })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user