[6.2.6][V2N] 优化taxi乘客屏事件触发时视角切换逻辑

This commit is contained in:
renwj
2024-01-05 17:54:48 +08:00
parent 3fc540bab7
commit b697beff83

View File

@@ -224,7 +224,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
Log.d(TAG, "--- doRealVisualAngleChange --- 2 ---")
delay(delay)
Log.d(TAG, "--- doRealVisualAngleChange --- 3 ---")
doChangeAngle(Record(target, triggerTime = triggerTime))
doChangeAngle(Record(target, triggerTime = triggerTime), displayed)
}.also { itx ->
itx.invokeOnCompletion {
if (it is CancellationException) {
@@ -249,35 +249,42 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
}
}
Log.d(TAG, "--- doRealVisualAngleChange --- 10 ---")
doChangeAngle(Record(target, triggerTime = triggerTime))
doChangeAngle(Record(target, triggerTime = triggerTime), displayed)
}
}
}
private fun doChangeAngle(record: Record) {
val angle = record.target.angle
private fun doChangeAngle(target: Record, previous: Record? = null) {
val angle = target.target.angle
CallerMapUIServiceManager.getMapUIController()?.also {
Log.d(TAG, "--- doChangeAngle --- ${record.target}")
if (record.target !is Default) {
record.isDisplay = true
Log.d(TAG, "--- doChangeAngle --- ${target.target}")
if (target.target !is Default) {
target.isDisplay = true
synchronized(queue) {
queue += record
queue += target
}
}
if (record.target is Default && roadEventFlag) {
if (target.target is Default && roadEventFlag) {
roadEventFlag = false
it.setLockMode(true)
}
if (record.target is RoadEvent) {
it.setLockMode(false)
roadEventFlag = true
if (target.target is RoadEvent) {
//taxi乘客屏使用的新地图效果切了视角也看不到
if (!AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) {
roadEventFlag = true
it.setLockMode(false)
scope.launch {
it.animateTo(0.0 ,0.0,1f, - record.target.poi_angle.toFloat(),11.5f,28f,3000,record.target.isGps)
it.animateTo(0.0 ,0.0,1f, - target.target.poi_angle.toFloat(),11.5f,28f,3000,target.target.isGps)
}
}
} else {
if (target.target is Default && previous != null && (previous.target is RoadEvent)) {
Log.d(TAG, "==== doChangeAngle === 1 ===")
if (AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) {
Log.d(TAG, "==== doChangeAngle === 2 ===")
return
}
}
it.changeMapVisualAngle(angle, null)
}
}