[6.2.6][V2N] 优化taxi乘客屏事件触发时视角切换逻辑
This commit is contained in:
@@ -224,7 +224,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
|
|||||||
Log.d(TAG, "--- doRealVisualAngleChange --- 2 ---")
|
Log.d(TAG, "--- doRealVisualAngleChange --- 2 ---")
|
||||||
delay(delay)
|
delay(delay)
|
||||||
Log.d(TAG, "--- doRealVisualAngleChange --- 3 ---")
|
Log.d(TAG, "--- doRealVisualAngleChange --- 3 ---")
|
||||||
doChangeAngle(Record(target, triggerTime = triggerTime))
|
doChangeAngle(Record(target, triggerTime = triggerTime), displayed)
|
||||||
}.also { itx ->
|
}.also { itx ->
|
||||||
itx.invokeOnCompletion {
|
itx.invokeOnCompletion {
|
||||||
if (it is CancellationException) {
|
if (it is CancellationException) {
|
||||||
@@ -249,35 +249,42 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Log.d(TAG, "--- doRealVisualAngleChange --- 10 ---")
|
Log.d(TAG, "--- doRealVisualAngleChange --- 10 ---")
|
||||||
doChangeAngle(Record(target, triggerTime = triggerTime))
|
doChangeAngle(Record(target, triggerTime = triggerTime), displayed)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doChangeAngle(record: Record) {
|
private fun doChangeAngle(target: Record, previous: Record? = null) {
|
||||||
val angle = record.target.angle
|
val angle = target.target.angle
|
||||||
CallerMapUIServiceManager.getMapUIController()?.also {
|
CallerMapUIServiceManager.getMapUIController()?.also {
|
||||||
Log.d(TAG, "--- doChangeAngle ---: ${record.target}")
|
Log.d(TAG, "--- doChangeAngle ---: ${target.target}")
|
||||||
if (record.target !is Default) {
|
if (target.target !is Default) {
|
||||||
record.isDisplay = true
|
target.isDisplay = true
|
||||||
synchronized(queue) {
|
synchronized(queue) {
|
||||||
queue += record
|
queue += target
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (record.target is Default && roadEventFlag) {
|
if (target.target is Default && roadEventFlag) {
|
||||||
roadEventFlag = false
|
roadEventFlag = false
|
||||||
it.setLockMode(true)
|
it.setLockMode(true)
|
||||||
}
|
}
|
||||||
if (record.target is RoadEvent) {
|
if (target.target is RoadEvent) {
|
||||||
it.setLockMode(false)
|
|
||||||
roadEventFlag = true
|
|
||||||
//taxi乘客屏,使用的新地图效果,切了视角也看不到
|
//taxi乘客屏,使用的新地图效果,切了视角也看不到
|
||||||
if (!AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) {
|
if (!AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) {
|
||||||
|
roadEventFlag = true
|
||||||
|
it.setLockMode(false)
|
||||||
scope.launch {
|
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 {
|
} 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)
|
it.changeMapVisualAngle(angle, null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user