[Log]日志统一使用CallerLogger
This commit is contained in:
@@ -3,7 +3,6 @@ package com.mogo.eagle.core.function.call.map
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.os.SystemClock
|
||||
import android.util.Log
|
||||
import com.mogo.eagle.core.data.map.MapRoadInfo.StopLine
|
||||
import com.mogo.eagle.core.data.map.MogoLatLng
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager.OnRoadListener
|
||||
@@ -11,6 +10,8 @@ import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Cros
|
||||
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.Default
|
||||
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.Scene.LowSpeed
|
||||
import com.mogo.eagle.core.utilcode.kotlin.safeCancel
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.map.uicontroller.VisualAngleMode
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.android.asCoroutineDispatcher
|
||||
@@ -170,9 +171,6 @@ object CallerVisualAngleManager {
|
||||
}
|
||||
|
||||
private val heap by lazy {
|
||||
/**
|
||||
* 堆, 大根堆还是小根堆由[Record.compareTo]方法决定
|
||||
*/
|
||||
PriorityQueue<Record>()
|
||||
}
|
||||
|
||||
@@ -180,49 +178,53 @@ object CallerVisualAngleManager {
|
||||
fun changeVisualAngle(scene: Scene) {
|
||||
val triggerTime = SystemClock.elapsedRealtime()
|
||||
scope.launch {
|
||||
Log.d("XXX", "--- 1 -----")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 1 ---")
|
||||
val displayed = getDisplayed()
|
||||
if (displayed == null) {
|
||||
Log.d("XXX", "--- 2 -----")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 2 ---")
|
||||
val top = getTop() //堆顶
|
||||
if (top != null && top.target.priority > scene.priority) {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 3 ---")
|
||||
doChangeAngle(top)
|
||||
heap += Record(scene, triggerTime = triggerTime)
|
||||
} else {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 4 ---")
|
||||
doChangeAngle(Record(scene, triggerTime = triggerTime))
|
||||
}
|
||||
Log.d(TAG, "没有正在展示的视角,当前要展示的视角: $scene")
|
||||
} else {
|
||||
Log.d("XXX", "--- 3 -----")
|
||||
|
||||
if (scene.javaClass == displayed.target.javaClass) {
|
||||
Log.d("XXX", "--- 4 -----")
|
||||
Log.d(TAG, "同一种场景不需要重复展示")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 5 ---")
|
||||
defaultDelayJob?.safeCancel()
|
||||
return@launch
|
||||
}
|
||||
if (scene is Default) {
|
||||
Log.d("XXX", "--- 5 -----")
|
||||
Log.d(TAG, "恢复到默认视图,之前展示的视图:$displayed")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 6 ---")
|
||||
defaultDelayJob?.safeCancel()
|
||||
launch {
|
||||
val delay = scene.unit.toMillis(scene.delay)
|
||||
Log.d(TAG, "默认视图开启延时倒计时, 倒计时时间:${delay} ms.")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 7 ---")
|
||||
delay(delay)
|
||||
Log.d(TAG, "默认视图结束倒计时,开始展示...")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 8 ---")
|
||||
doChangeAngle(Record(scene, triggerTime = triggerTime))
|
||||
heap -= displayed
|
||||
}.also { defaultDelayJob = it }
|
||||
}.also { itx ->
|
||||
itx.invokeOnCompletion {
|
||||
if (it is CancellationException) {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 9 ---")
|
||||
}
|
||||
}
|
||||
defaultDelayJob = itx
|
||||
}
|
||||
} else {
|
||||
Log.d("XXX", "--- 6 -----")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 10 ---")
|
||||
defaultDelayJob?.safeCancel()
|
||||
val delta = triggerTime - displayed.triggerTime
|
||||
if (delta >= MaxDisplayThreshold) {
|
||||
Log.d("XXX", "--- 6-1 -----")
|
||||
Log.d(TAG, "场景: $scene 触发展示,满足条件开始展示...")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 11 ---")
|
||||
doChangeAngle(Record(scene, triggerTime = triggerTime))
|
||||
} else {
|
||||
Log.d("XXX", "--- 6-2 -----")
|
||||
Log.d(TAG, "场景: $scene 触发展示,但是在30s内,丢弃...")
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${scene} --- 12 ---")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -232,6 +234,7 @@ object CallerVisualAngleManager {
|
||||
@OptIn(InternalCoroutinesApi::class)
|
||||
private fun doChangeAngle(record: Record) {
|
||||
CallerMapUIServiceManager.getMapUIController()?.also {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${record.target} --- 13 ---")
|
||||
if (record.target !is Default) {
|
||||
record.isDisplay = true
|
||||
synchronized(heap) {
|
||||
@@ -240,8 +243,10 @@ object CallerVisualAngleManager {
|
||||
}
|
||||
val target = record.target
|
||||
if (target is LowSpeed) {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${record.target} --- 14 ---")
|
||||
it.changeMapVisualAngle(record.target.angle, MogoLatLng(target.lat, target.lon))
|
||||
} else {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "触发场景:${record.target} --- 15 ---")
|
||||
it.changeMapVisualAngle(record.target.angle, null)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user