[6.5.0][Marker] Marker清除逻辑添加走过事件点之后跟离和时长的设置
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package com.mogo.functions.test
|
||||
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import androidx.test.core.app.ActivityScenario
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.filters.LargeTest
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager
|
||||
import com.mogo.eagle.core.function.main.MainLauncherActivity
|
||||
import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils
|
||||
import com.mogo.map.MapDataWrapper
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import mogo.telematics.pad.MessagePad.V2nCrossSpeed
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
@LargeTest
|
||||
class GreenWaveTest {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "RoadInfoTest"
|
||||
}
|
||||
|
||||
lateinit var launch: ActivityScenario<MainLauncherActivity>
|
||||
|
||||
@Before
|
||||
fun before() {
|
||||
launch = ActivityScenario.launch(MainLauncherActivity::class.java)
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
fun testGreenWave(): Unit = runBlocking {
|
||||
val arguments = InstrumentationRegistry.getArguments()
|
||||
val millis = arguments.getString("delay", "0").toLong()
|
||||
if (millis > 0) {
|
||||
delay(millis)
|
||||
}
|
||||
var location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
val distance = arguments.getString("distance", "0").toDouble()
|
||||
var newPoint = DrivingDirectionUtils.calculateNewPoint(location.longitude, location.latitude, location.heading, distance)
|
||||
var crossInfo = MapDataWrapper.getCrossRoad(newPoint.first, newPoint.second, location.heading)
|
||||
while (crossInfo == null || TextUtils.isEmpty(crossInfo.cross_id) || TextUtils.isEmpty(crossInfo.cross_id_end)) {
|
||||
Log.d(TAG, "获取到的路口数据无效, 5秒后重试")
|
||||
delay(TimeUnit.SECONDS.toMillis(5))
|
||||
Log.d(TAG, "5秒时间到,开始计算新的路口数据")
|
||||
location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
newPoint = DrivingDirectionUtils.calculateNewPoint(location.longitude, location.latitude, location.heading, distance)
|
||||
crossInfo = MapDataWrapper.getCrossRoad(newPoint.first, newPoint.second, location.heading)
|
||||
}
|
||||
Log.d(TAG, "获取到路口数据...")
|
||||
FunctionBuildConfig.isNewV2NData = true
|
||||
FunctionBuildConfig.v2nMainSwitch = true
|
||||
CallerV2nNioEventListenerManager.invokeV2nNioGreenWavePassageEvent(
|
||||
V2nCrossSpeed.getDefaultInstance().toBuilder()
|
||||
.setSpeedLeftMin(0)
|
||||
.setSpeedLeftMax(0)
|
||||
.setSpeedRightMin(0)
|
||||
.setSpeedRightMax(0)
|
||||
.setSpeedStraightMin(30)
|
||||
.setSpeedStraightMax(54)
|
||||
.setMaxSpeed(0)
|
||||
.setMaxStatus(0)
|
||||
.setLng(newPoint.first)
|
||||
.setLat(newPoint.second)
|
||||
.build())
|
||||
delay(TimeUnit.MINUTES.toMillis(10))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user