[状态栏]添加日志追踪循迹状态延时更新

This commit is contained in:
renwj
2022-09-14 11:07:45 +08:00
parent b4bf35a192
commit 39593df458
7 changed files with 26 additions and 3 deletions

View File

@@ -488,6 +488,7 @@ public class BusOrderModel {
CallerLogger.INSTANCE.d( M_BUS + TAG, "单程真的结束了====" );
isGoingToNextStation = false;
backgroundCurrentStationIndex = 0;
Logger.d("TracingImpl", "BusOrderModel -- cancelAutoPilot -- 1 ---");
CallerAutoPilotManager.INSTANCE.cancelAutoPilot();
queryBusRoutes();
}
@@ -924,6 +925,7 @@ public class BusOrderModel {
return;
}
CallerLogger.INSTANCE.d( M_BUS + TAG, "单程结束====" );
Logger.d("TracingImpl", "BusOrderModel -- cancelAutoPilot -- 2 ---");
CallerAutoPilotManager.INSTANCE.cancelAutoPilot();
AIAssist.getInstance( mContext ).speakTTSVoice( "感谢您体验'蘑菇车联'无人驾驶小巴车,请您携带好随身物品,我们下次再见" );
leaveStation(true,true);

View File

@@ -956,6 +956,7 @@ public class TaxiModel {
//结束自动驾驶
public void cancelAutopilot() {
try {
Logger.d("TracingImpl", "TaxiModel -- cancelAutoPilot ---");
CallerAutoPilotManager.INSTANCE.cancelAutoPilot();
CallerLogger.INSTANCE.d(M_TAXI + TAG, "结束自动驾驶");
} catch (Exception e) {

View File

@@ -33,7 +33,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListe
import com.mogo.eagle.core.function.call.bindingcar.CallerBindingcarManager
import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.*
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.util.ThreadUtils
@@ -307,6 +307,7 @@ class MoGoAutopilotProvider :
}
override fun cancelAutoPilot() {
Logger.d("TracingImpl", "provider -- cancelAutoPilot ---")
if (AdasManager.getInstance().ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.CONNECTED) {
AdasManager.getInstance().sendAutoPilotModeReq(0, 1, null)
} else {

View File

@@ -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)

View File

@@ -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

View File

@@ -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 })
}

View File

@@ -10,6 +10,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LO
import com.mogo.eagle.core.data.trafficlight.TrafficLightResult
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotProvider
import com.mogo.eagle.core.function.call.base.CallerBase
import com.mogo.eagle.core.utilcode.mogo.logger.*
import com.zhjt.service.chain.ChainLog
import com.zhjt.service.chain.TracingConstants
import kotlin.random.Random
@@ -83,6 +84,7 @@ object CallerAutoPilotManager {
* 结束自动驾驶
*/
fun cancelAutoPilot() {
Logger.d("TracingImpl", "manager -- cancelAutoPilot ---")
providerApi?.cancelAutoPilot()
}