[Opt]全览模式View和业务分离
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.mogo.eagle.core.function.call.biz
|
||||
|
||||
import androidx.annotation.MainThread
|
||||
import com.mogo.eagle.core.data.map.Infrastructure
|
||||
import com.mogo.eagle.core.data.v2x.V2XEvent
|
||||
import com.mogo.eagle.core.function.api.v2x.IFuncBizProvider
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
|
||||
object CallerFuncBizListenerManager: CallerBase<IFuncBizProvider>() {
|
||||
|
||||
private var map: HashMap<String, java.util.ArrayList<Infrastructure>>? = null
|
||||
|
||||
override fun doSomeAfterAddListener(tag: String, listener: IFuncBizProvider) {
|
||||
listener.onInfStructures(map)
|
||||
}
|
||||
|
||||
@MainThread
|
||||
fun invokeInfStructures(map: HashMap<String, java.util.ArrayList<Infrastructure>>) {
|
||||
this.map = map
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onInfStructures(map)
|
||||
}
|
||||
}
|
||||
|
||||
@MainThread
|
||||
fun invokeV2XEvents(v2xEvents: List<V2XEvent>?) {
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.onV2XEvents(v2xEvents)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,9 +20,9 @@ object CallerSmpManager : CallerBase<Any>() {
|
||||
get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_SMP)
|
||||
.navigation() as IMogoSmallMapProvider
|
||||
|
||||
private val mogoOverViewMapProvider: IMogoSmallMapProvider
|
||||
get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_OVERVIEW)
|
||||
.navigation() as IMogoSmallMapProvider
|
||||
// private val mogoOverViewMapProvider: IMogoSmallMapProvider
|
||||
// get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_OVERVIEW)
|
||||
// .navigation() as IMogoSmallMapProvider
|
||||
|
||||
private val v2xProvider: IV2XEventProvider
|
||||
get() = ARouter.getInstance().build(MogoServicePaths.PATH_V2X_MODULE)
|
||||
@@ -65,22 +65,22 @@ object CallerSmpManager : CallerBase<Any>() {
|
||||
if (Thread.currentThread() !== Looper.getMainLooper().thread) {
|
||||
UiThreadHandler.post {
|
||||
v2xProvider.queryWholeRoadEvents()
|
||||
mogoOverViewMapProvider.startQueryV2XEvents()
|
||||
// mogoOverViewMapProvider.startQueryV2XEvents()
|
||||
}
|
||||
} else {
|
||||
v2xProvider.queryWholeRoadEvents()
|
||||
mogoOverViewMapProvider.startQueryV2XEvents()
|
||||
// mogoOverViewMapProvider.startQueryV2XEvents()
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun clearV2XMarkers() {
|
||||
if (Thread.currentThread() !== Looper.getMainLooper().thread) {
|
||||
UiThreadHandler.post {
|
||||
mogoOverViewMapProvider.clearV2XMarkers()
|
||||
}
|
||||
} else {
|
||||
mogoOverViewMapProvider.clearV2XMarkers()
|
||||
}
|
||||
// if (Thread.currentThread() !== Looper.getMainLooper().thread) {
|
||||
// UiThreadHandler.post {
|
||||
// mogoOverViewMapProvider.clearV2XMarkers()
|
||||
// }
|
||||
// } else {
|
||||
// mogoOverViewMapProvider.clearV2XMarkers()
|
||||
// }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user