Merge branch 'dev_robotaxi-d-app-module_2100_220816_2.10.0' into 'test_robotaxi-d-app-module_2100_220816_2.10.0.1'

Dev robotaxi d app module 2100 220816 2.10.0

See merge request zhjt/AndroidApp/MoGoEagleEye!153
This commit is contained in:
wangmingjun
2022-09-07 01:58:18 +00:00
5 changed files with 99 additions and 17 deletions

View File

@@ -1345,6 +1345,9 @@ public class TaxiModel {
* 实时计算当前剩余里程和时间
*/
public void dynamicCalculateRouteInfo() {
if (mLatitude <= 0.0 || mLongitude <= 0.0){
return;
}
if (mRoutePoints.size() > 0){
List<LatLng> lastPoints = CoordinateCalculateRouteUtil
.getRemainPointListByCompare(mRoutePoints, mLongitude, mLatitude);

View File

@@ -974,7 +974,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
int mode = Constants.getIpcConnectionMode(this);
Set<MessageType> messageTypes = new HashSet<>();
// 注释掉下面代码,默认开启点云订阅
//messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD);
messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD);
SubscribeInterfaceOptions subscribeInterfaceOptions = SubscribeInterfaceOptions.newBuilder()
.setRole(com.zhidao.support.adas.high.common.Constants.TERMINAL_ROLE.DEBUG)
.setType(com.zhidao.support.adas.high.common.Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE)

View File

@@ -90,19 +90,19 @@ class MoGoAutopilotProvider :
CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this)
// 配置默认关闭的连接topic
val messageTypes: MutableSet<MessageType> = HashSet()
messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD)
val subscribeInterfaceOptions = SubscribeInterfaceOptions.newBuilder()
.setRole(Constants.TERMINAL_ROLE.DRIVER)
.setType(Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE)
.setMessageTypes(messageTypes).build()
// val messageTypes: MutableSet<MessageType> = HashSet()
// messageTypes.add(MessageType.TYPE_RECEIVE_POINT_CLOUD)
// val subscribeInterfaceOptions = SubscribeInterfaceOptions.newBuilder()
// .setRole(Constants.TERMINAL_ROLE.DRIVER)
// .setType(Constants.SUBSCRIBE_TYPE.UNSUBSCRIBE)
// .setMessageTypes(messageTypes).build()
// "192.168.1.102"
val options = AdasOptions.Builder()
.setIpcConnectionMode(AdasOptions.IPC_CONNECTION_MODE.FIXATION)
.setIpcFixationIP(AdasManager.getInstance().getIPCFixationIPList(mContext))
.setClient(false)
.setSubscribeInterfaceOptions(subscribeInterfaceOptions)
// .setSubscribeInterfaceOptions(subscribeInterfaceOptions)//
.build()
AdasManager.getInstance().create(options, MoGoAdasMsgConnectStatusListenerImpl())

View File

@@ -145,7 +145,25 @@ class CanStatus(var enabled: Boolean = false): Status() {
*/
class TracingStatus(var state: Tracing = UNKNOWN): Status() {
enum class Tracing(val code: String? = "") {
enum class Tracing(val code: String? = "", var extra: Map<String, String>? = null) {
/**
* 类型切换
*/
MAP_TRA_TYPE("IMAP_TRA_TYPE"),
/**
* 地图数据存在
*/
MAP_DATA_EXIST("IMAP_DATA_EXIST"),
/**
* 地图数据不存在
*/
MAP_DATA_NOT_EXIST("EMAP_DATA_NOT_EXIST"),
/**
* 寻迹-已找到轨迹文件
*/
@@ -213,13 +231,50 @@ class TracingStatus(var state: Tracing = UNKNOWN): Status() {
}
fun String.toState(): Tracing? {
return when(this) {
"IMAP_TRA_EXIST" -> TRACK_FINDED
"IMAP_TRA_LOADED" -> TRACK_LOADED
"EMAP_TRA_NOT_EXIST" -> TRACK_NOT_EXIST
"EMAP_TRA_LOAD_FAILED" -> TRACK_LOAD_FAIL
"IMAP_TRA_ROUTING" -> ROUTE_LOADED
val ss = split("|")
var code = ""
if (ss.isNotEmpty()) {
code = ss[0]
}
var extra: Map<String, String>? = null
if (ss.size > 1) {
val sb = StringBuilder()
for (i in 1 until ss.size) {
sb.append(ss[i])
sb.append(",")
}
if (sb.isNotEmpty()) {
sb.setLength(sb.length - 1)
}
extra = mutableMapOf("extra" to sb.toString())
}
return when(code) {
"IMAP_TRA_EXIST" -> TRACK_FINDED.apply {
this.extra = extra
}
"IMAP_TRA_LOADED" -> TRACK_LOADED.apply {
this.extra = extra
}
"EMAP_TRA_NOT_EXIST" -> TRACK_NOT_EXIST.apply {
this.extra = extra
}
"EMAP_TRA_LOAD_FAILED" -> TRACK_LOAD_FAIL.apply {
this.extra = extra
}
"IMAP_TRA_ROUTING" -> ROUTE_LOADED.apply {
this.extra = extra
}
"EMAP_HADMAP_ENGINE_NO_ROUTING_INFO" -> ROUTE_FAILED
"IMAP_TRA_TYPE" -> MAP_TRA_TYPE.apply {
this.extra = extra
}
"MAP_DATA_EXIST" -> MAP_DATA_EXIST.apply {
this.extra = extra
}
"MAP_DATA_NOT_EXIST" -> MAP_DATA_NOT_EXIST.apply {
this.extra = extra
}
else -> null
}
}

View File

@@ -6,6 +6,7 @@ import android.widget.*
import androidx.core.content.*
import androidx.recyclerview.widget.*
import com.mogo.eagle.core.utilcode.kotlin.*
import com.mogo.eagle.core.utilcode.mogo.logger.*
import com.mogo.eagle.core.utilcode.util.*
import com.zhjt.mogo_core_function_devatools.*
import com.zhjt.mogo_core_function_devatools.R
@@ -19,6 +20,10 @@ import kotlinx.coroutines.*
internal class StatusAdapter(val ctx: Context, var data: ArrayList<Status>): RecyclerView.Adapter<StatusViewHolder>() {
companion object {
const val TAG = "StatusAdapter"
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): StatusViewHolder =
StatusViewHolder(LayoutInflater.from(ctx).inflate(R.layout.layout_status_bar_item, parent, false))
@@ -69,7 +74,7 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList<Status>): Rec
}
is TracingStatus -> {
when(status.state) {
ROUTE_FAILED, TRACK_LOAD_FAIL, TRACK_NOT_EXIST, TRACK_FINDED, UNKNOWN -> {
MAP_DATA_NOT_EXIST, MAP_DATA_EXIST, MAP_TRA_TYPE, ROUTE_FAILED, TRACK_LOAD_FAIL, TRACK_NOT_EXIST, TRACK_FINDED, UNKNOWN -> {
iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_trace_unkown)
}
TRACK_LOADED -> {
@@ -116,7 +121,26 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList<Status>): Rec
else ->
"定位异常"
}
is TracingStatus -> "轨迹类型:${ if (status.state == TRACK_LOADED) "循迹" else if (status.state == ROUTE_LOADED) "自主算路" else "暂无轨迹" }"
is TracingStatus -> {
val extra = status.state.extra
val extraDesc = if (extra != null && extra.isNotEmpty()) extra.values.joinToString(",") else ""
Logger.d(TAG, "traceing_state: $status -> extra: $extraDesc :: extra: $extra")
when(status.state) {
//"轨迹类型:${ if (status.state == TRACK_LOADED) "循迹" else if (status.state == ROUTE_LOADED) "自主算路" else "暂无轨迹" }"
MAP_TRA_TYPE -> {
"暂无轨迹"
}
MAP_DATA_EXIST -> "地图数据存在,正在加载${if (extraDesc.isEmpty()) "" else "[$extraDesc]" }"
MAP_DATA_NOT_EXIST -> "地图数据不存在${if (extraDesc.isEmpty()) "" else "[$extraDesc]"}"
TRACK_FINDED -> "轨迹类型:循迹[已找到轨迹$extraDesc]"
TRACK_LOADED -> "轨迹类型:循迹[加载成功$extraDesc]"
TRACK_NOT_EXIST -> "轨迹类型:循迹[不存在$extraDesc]"
TRACK_LOAD_FAIL -> "轨迹类型:循迹[加载失败$extraDesc]"
ROUTE_LOADED -> "轨迹类型:自主算路[加载成功$extraDesc]"
ROUTE_FAILED -> "轨迹类型:自主算路[加载失败$extraDesc]"
UNKNOWN -> "暂无轨迹"
}
}
}
}
}