[V2X][Road]添加所有marker清空监听回调;解决相关bug

This commit is contained in:
renwj
2022-10-21 19:45:19 +08:00
parent d14b2d3cb6
commit de5eabd2c1
5 changed files with 76 additions and 14 deletions

View File

@@ -0,0 +1,34 @@
package com.mogo.eagle.core.function.call.v2x
import com.mogo.eagle.core.function.api.v2x.*
import java.util.concurrent.*
object CallMarkersClearManager {
private val listeners by lazy { ConcurrentHashMap<String, ArrayList<OnClearAllMarker>>() }
fun addAllMarkersClearListener(tag: String, listener: OnClearAllMarker) {
var ll = listeners[tag]
if (ll == null) {
ll = ArrayList()
}
ll.add(listener)
listeners[tag] = ll
}
fun removeAllMarkersClearListener(tag: String) {
listeners.remove(tag)
}
fun invokeClearAllMarkers() {
listeners.values.flatten().forEach {
it.onClearAllMarkers()
}
}
fun invokeClearAllMarkersOfTag(tag: String) {
listeners.values.flatten().forEach {
it.onClearAllMarkers(tag)
}
}
}