[Opt]全览模式View和业务分离

This commit is contained in:
chenfufeng
2023-02-06 18:45:30 +08:00
parent 2ce02f2a5b
commit 2c6684b617
23 changed files with 206 additions and 1107 deletions

View File

@@ -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)
}
}
}

View File

@@ -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()
// }
}
}