地图模块适配

This commit is contained in:
jiaguofeng
2023-08-17 18:11:09 +08:00
parent ca496a0d4e
commit bfd591f5d5

View File

@@ -12,7 +12,7 @@ class RoadResultController {
private val TAG = javaClass.simpleName
private var mRoadResultList: ConcurrentHashMap<String,IRoadData> = ConcurrentHashMap()
private var mRoadResultCallHashMap: ConcurrentHashMap<String,ArrayList<IRoadData>> = ConcurrentHashMap()
@@ -20,7 +20,12 @@ class RoadResultController {
if(CompileConfig.DEBUG){
Log.i(TAG, "roadop--addRoadResultListener:$key ")
}
mRoadResultList.put(key,listener)
var list = mRoadResultCallHashMap.get(key)
if(list == null){
list = ArrayList<IRoadData>()
}
list.add(listener)
mRoadResultCallHashMap.put(key,list)
}
fun removeRoadResultListenerByTag(tag:String){
@@ -28,7 +33,7 @@ class RoadResultController {
Log.i(TAG, "roadop--removeRoadResultListenerByTag:$tag ")
}
val keysToRemove = mutableListOf<String>()
mRoadResultList.forEach { (key, value) ->
mRoadResultCallHashMap.forEach { (key, value) ->
if (key.contains(tag)) {
keysToRemove.add(key)
}
@@ -37,7 +42,7 @@ class RoadResultController {
if(CompileConfig.DEBUG){
Log.i(TAG, "roadop--removeRoadResultListenerByTag::$tag--remove:$key ")
}
mRoadResultList.remove(key)
mRoadResultCallHashMap.remove(key)
}
}
@@ -46,17 +51,19 @@ class RoadResultController {
if(CompileConfig.DEBUG){
Log.i(TAG, "roadop--dispatchRoadResult:$key,result:$result ")
}
val call = mRoadResultList.get(key)
call?.let {
val list = mRoadResultCallHashMap.get(key)
if(list != null && list.isNotEmpty()){
CommonController.instance.scope?.launch(Dispatchers.Main) {
it.result(code,result)
list.forEach { call ->
call.result(code,result)
}
}
mRoadResultList.remove(key)
mRoadResultCallHashMap.remove(key)
}
}
fun exit(){
mRoadResultList.clear()
mRoadResultCallHashMap.clear()
}
companion object {