diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index 750c820964..55f6691d06 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -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) } }