[6.5.1_exam]合并Taxi考试到主分支
This commit is contained in:
@@ -22,6 +22,7 @@ import com.mogo.eagle.core.data.deva.report.WorkOrderReportInfo
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneModule
|
||||
import com.mogo.eagle.core.data.deva.scene.SceneTAG
|
||||
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
|
||||
import com.mogo.eagle.core.data.takeover.TakeOverAnnotation
|
||||
import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider
|
||||
import com.mogo.eagle.core.function.api.devatools.block.IMoGoBlockProvider
|
||||
import com.mogo.eagle.core.function.api.devatools.download.DownloadType
|
||||
@@ -73,6 +74,7 @@ import com.zhjt.mogo_core_function_devatools.status.entity.RouteDownloadStatus
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.Status
|
||||
import com.zhjt.mogo_core_function_devatools.status.ui.AutoPilotLaunchBeforeView
|
||||
import com.zhjt.mogo_core_function_devatools.strict.StrictModeProviderImpl
|
||||
import com.zhjt.mogo_core_function_devatools.takeover.TakeOverManager
|
||||
import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager
|
||||
import com.zhjt.mogo_core_function_devatools.tts.TtsManager.Companion.ttsManager
|
||||
import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.upgradeManager
|
||||
@@ -647,4 +649,8 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
|
||||
override fun setRouteDynamicColorEnable(enable: Boolean) {
|
||||
mapRouteProvider?.setRouteDynamicColorEnable(enable)
|
||||
}
|
||||
|
||||
override fun takeOver(@TakeOverAnnotation takeOverAnnotation: Int) {
|
||||
TakeOverManager.takeOverManager.takeOver(takeOverAnnotation)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.zhjt.mogo_core_function_devatools.takeover
|
||||
|
||||
import com.mogo.eagle.core.data.takeover.TakeOverAnnotation
|
||||
import com.zhjt.mogo_core_function_devatools.takeover.network.TakeOverNetWorkModel
|
||||
|
||||
class TakeOverManager {
|
||||
|
||||
companion object {
|
||||
val takeOverManager: TakeOverManager by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||
TakeOverManager()
|
||||
}
|
||||
}
|
||||
|
||||
private val takeOverNetWorkModel = TakeOverNetWorkModel()
|
||||
|
||||
fun takeOver(@TakeOverAnnotation takeOverAnnotation: Int) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.zhjt.mogo_core_function_devatools.takeover.network
|
||||
|
||||
import com.mogo.eagle.core.data.BaseResponse
|
||||
import retrofit2.http.*
|
||||
|
||||
interface TakeOverApiService {
|
||||
|
||||
//云端接管
|
||||
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||
@POST("/paralleldriving-service/autocars")
|
||||
suspend fun takeOver(@Body map: MutableMap<String, Any>): BaseResponse<Any>
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.zhjt.mogo_core_function_devatools.takeover.network
|
||||
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
|
||||
class TakeOverHost {
|
||||
|
||||
companion object{
|
||||
private const val HOST_DEV = "http://dzt-test.zhidaozhixing.com/"
|
||||
private const val HOST_RELEASE = "http://dzt.zhidaozhixing.com/"
|
||||
|
||||
fun get(): String{
|
||||
return when (DebugConfig.getNetMode()) {
|
||||
DebugConfig.NET_MODE_DEV -> HOST_DEV
|
||||
DebugConfig.NET_MODE_QA -> HOST_DEV
|
||||
DebugConfig.NET_MODE_DEMO -> HOST_RELEASE
|
||||
DebugConfig.NET_MODE_RELEASE -> HOST_RELEASE
|
||||
else -> HOST_RELEASE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,288 @@
|
||||
package com.zhjt.mogo_core_function_devatools.takeover.network
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.data.BaseResponse
|
||||
import com.mogo.eagle.core.data.app.AppConfigInfo
|
||||
import com.mogo.eagle.core.data.takeover.*
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.eagle.core.network.apiCall
|
||||
import com.mogo.eagle.core.network.request
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
|
||||
class TakeOverNetWorkModel {
|
||||
|
||||
private fun getNetWorkApi(baseUrl: String = TakeOverHost.get()): TakeOverApiService {
|
||||
return MoGoRetrofitFactory.getInstanceNoCallAdapter(baseUrl)
|
||||
.create(TakeOverApiService::class.java)
|
||||
}
|
||||
|
||||
private val retryMap: ConcurrentHashMap<Int, Int> = ConcurrentHashMap<Int, Int>()
|
||||
|
||||
fun manualControl(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[MANUAL_CONTROL] = retryMap[MANUAL_CONTROL] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = MANUAL_CONTROL
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(MANUAL_CONTROL)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[MANUAL_CONTROL]!! <= 3) {
|
||||
retryMap[MANUAL_CONTROL] = retryMap[MANUAL_CONTROL]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("manualControl result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[MANUAL_CONTROL]!! <= 3) {
|
||||
retryMap[MANUAL_CONTROL] = retryMap[MANUAL_CONTROL]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun overTake(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[OVER_TAKE] = retryMap[OVER_TAKE] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = OVER_TAKE
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(OVER_TAKE)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[OVER_TAKE]!! <= 3) {
|
||||
retryMap[OVER_TAKE] = retryMap[OVER_TAKE]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("overTake result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[OVER_TAKE]!! <= 3) {
|
||||
retryMap[OVER_TAKE] = retryMap[OVER_TAKE]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun lineToLeft(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[LINE_TO_LEFT] = retryMap[LINE_TO_LEFT] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = LINE_TO_LEFT
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(LINE_TO_LEFT)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[LINE_TO_LEFT]!! <= 3) {
|
||||
retryMap[LINE_TO_LEFT] = retryMap[LINE_TO_LEFT]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("lineToLeft result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[LINE_TO_LEFT]!! <= 3) {
|
||||
retryMap[LINE_TO_LEFT] = retryMap[LINE_TO_LEFT]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun lineToRight(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[LINE_TO_RIGHT] = retryMap[LINE_TO_RIGHT] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = LINE_TO_RIGHT
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(LINE_TO_RIGHT)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[LINE_TO_RIGHT]!! <= 3) {
|
||||
retryMap[LINE_TO_RIGHT] = retryMap[LINE_TO_RIGHT]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("lineToRight result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[LINE_TO_RIGHT]!! <= 3) {
|
||||
retryMap[LINE_TO_RIGHT] = retryMap[LINE_TO_RIGHT]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun pullOver(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[PULL_OVER] = retryMap[PULL_OVER] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = PULL_OVER
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(PULL_OVER)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[PULL_OVER]!! <= 3) {
|
||||
retryMap[PULL_OVER] = retryMap[PULL_OVER]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("pullOver result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[PULL_OVER]!! <= 3) {
|
||||
retryMap[PULL_OVER] = retryMap[PULL_OVER]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun emergencyStop(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[EMERGENCY_STOP] = retryMap[EMERGENCY_STOP] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = EMERGENCY_STOP
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(EMERGENCY_STOP)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[EMERGENCY_STOP]!! <= 3) {
|
||||
retryMap[EMERGENCY_STOP] = retryMap[EMERGENCY_STOP]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("emergencyStop result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[EMERGENCY_STOP]!! <= 3) {
|
||||
retryMap[EMERGENCY_STOP] = retryMap[EMERGENCY_STOP]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun takeOverRequest(onSuccess: (() -> Unit), onError: ((String) -> Unit)) {
|
||||
request<BaseResponse<Any>> {
|
||||
start {
|
||||
retryMap[TAKE_OVER_REQUEST] = retryMap[TAKE_OVER_REQUEST] ?: 0 + 1
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
val map = mutableMapOf<String, Any>()
|
||||
map["sn"] = MoGoAiCloudClientConfig.getInstance().sn
|
||||
map["type"] = TAKE_OVER_REQUEST
|
||||
map["plateNumber"] = AppConfigInfo.plateNumber ?: ""
|
||||
getNetWorkApi().takeOver(map)
|
||||
}
|
||||
}
|
||||
onSuccess {
|
||||
if (it.result != null) {
|
||||
retryMap.remove(TAKE_OVER_REQUEST)
|
||||
onSuccess.invoke()
|
||||
} else {
|
||||
if (retryMap[TAKE_OVER_REQUEST]!! <= 3) {
|
||||
retryMap[TAKE_OVER_REQUEST] = retryMap[TAKE_OVER_REQUEST]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else {
|
||||
onError.invoke("takeOverRequest result is null")
|
||||
}
|
||||
}
|
||||
}
|
||||
onError {
|
||||
if (retryMap[TAKE_OVER_REQUEST]!! <= 3) {
|
||||
retryMap[TAKE_OVER_REQUEST] = retryMap[TAKE_OVER_REQUEST]!! + 1
|
||||
manualControl(onSuccess, onError)
|
||||
} else if (it.message != null) {
|
||||
onError.invoke(it.message!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user