Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
SuZhouAvp
Commits
59b1b616
Commit
59b1b616
authored
Aug 26, 2025
by
罗小雨
Browse files
文本写死 自动驾驶
本地模拟数据 v2x预警信息
parent
bde6fc86
Changes
9
Hide whitespace changes
Inline
Side-by-side
app/src/main/assets/mock/onStartV2x.txt
View file @
59b1b616
...
...
@@ -38,7 +38,6 @@
{"id":"39846615074881536","objects":[{"id":"267","name":"Vehicle","longitude":117.3432854,"latitude":38.9954045,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3431561,"latitude":38.9954295,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583146891,"reportTime":1755583152985}
{"id":"39846614930571264","objects":[{"id":"267","name":"Vehicle","longitude":117.3434776,"latitude":38.9953673,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3431673,"latitude":38.9954273,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583145825,"reportTime":1755583153957}
{"id":"39846615074881536","objects":[{"id":"267","name":"Vehicle","longitude":117.3432854,"latitude":38.9954045,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3431561,"latitude":38.9954295,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583146891,"reportTime":1755583153986}
[{"deviceId":"XM140002","id":"259","msgId":"3924","deviceCode":"O-DT-0034","vehicleCode":"YC1-SV-0057","vehicleId":"259","elevation":"500","heading":164.0171,"latitude":39.0048004,"longitude":117.3464249,"speed":59.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140002","vehiclePurpose":"vehicle_purpose_special_vehicle_xl","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154600,"reportTime":1755583100892,"accessTime":1755583154830},{"deviceId":"XM140003","id":"261","msgId":"3924","deviceCode":"O-DT-0048","vehicleCode":"Badidu1-SV-0058","vehicleId":"261","elevation":"500","heading":77.8483,"latitude":39.0053216,"longitude":117.3415165,"speed":51.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140003","vehiclePurpose":"vehicle_purpose_special_vehicle_xl","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154600,"reportTime":1755583100893,"accessTime":1755583154830},{"deviceId":"XM140004","id":"263","msgId":"3924","deviceCode":"O-LL-0042","vehicleCode":"XZ1-SV-0059","vehicleId":"263","elevation":"500","heading":83.9688,"latitude":39.0030655,"longitude":117.3476613,"speed":58.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140004","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154601,"reportTime":1755583100893,"accessTime":1755583154830},{"deviceId":"XM140005","id":"265","msgId":"3924","deviceCode":"O-LL-0044","vehicleCode":"XZ1-SV-0060","vehicleId":"265","elevation":"500","heading":95.67,"latitude":39.0013334,"longitude":117.3519468,"speed":51.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140005","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154601,"reportTime":1755583100894,"accessTime":1755583154830},{"deviceId":"XM140006","id":"267","msgId":"3924","deviceCode":"O-LL-0045","vehicleCode":"XZ1-SV-0061","vehicleId":"267","elevation":"500","heading":284.6052,"latitude":38.99555,"longitude":117.3425513,"speed":50.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140006","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154603,"reportTime":1755583100895,"accessTime":1755583154830},{"deviceId":"XM140007","id":"269","msgId":"3924","deviceCode":"O-LL-0046","vehicleCode":"XZ1-SV-0062","vehicleId":"269","elevation":"500","heading":4.3295,"latitude":39.001076,"longitude":117.3471009,"speed":0.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140007","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":40960,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154601,"reportTime":1755583100894,"accessTime":1755583154829},{"deviceId":"XM140008","id":"271","msgId":"3924","deviceCode":"O-LL-0047","vehicleCode":"XZ1-SV-0063","vehicleId":"271","elevation":"500","heading":355.8273,"latitude":39.0027332,"longitude":117.3470549,"speed":0.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140008","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":65408,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583154601,"reportTime":1755583100895,"accessTime":1755583154830}]
{"id":"39846614930571264","objects":[{"id":"267","name":"Vehicle","longitude":117.3434776,"latitude":38.9953673,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3431673,"latitude":38.9954273,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583145825,"reportTime":1755583154959}
{"id":"39846615074881536","objects":[{"id":"267","name":"Vehicle","longitude":117.3432854,"latitude":38.9954045,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3431561,"latitude":38.9954295,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583146891,"reportTime":1755583154989}
{"id":"39846615074881536","objects":[{"id":"267","name":"Vehicle","longitude":117.3432854,"latitude":38.9954045,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3431561,"latitude":38.9954295,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583146891,"reportTime":1755583155990}
...
...
@@ -86,7 +85,6 @@
{"id":"39846625984921600","objects":[{"id":"267","name":"Vehicle","longitude":117.3464082,"latitude":38.9960061,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.346401,"latitude":38.995932,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583230210,"reportTime":1755583232263}
{"id":"39846625984921600","objects":[{"id":"267","name":"Vehicle","longitude":117.3464082,"latitude":38.9960061,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.346401,"latitude":38.995932,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583230210,"reportTime":1755583233265}
{"id":"39846625984921600","objects":[{"id":"267","name":"Vehicle","longitude":117.3464082,"latitude":38.9960061,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.346401,"latitude":38.995932,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583230210,"reportTime":1755583234266}
[{"deviceId":"XM140002","id":"259","msgId":"4716","deviceCode":"O-DT-0034","vehicleCode":"YC1-SV-0057","vehicleId":"259","elevation":"500","heading":165.5771,"latitude":39.0046242,"longitude":117.3464869,"speed":59.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140002","vehiclePurpose":"vehicle_purpose_special_vehicle_xl","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233797,"reportTime":1755583180090,"accessTime":1755583233996},{"deviceId":"XM140003","id":"261","msgId":"4716","deviceCode":"O-DT-0048","vehicleCode":"Badidu1-SV-0058","vehicleId":"261","elevation":"500","heading":77.8015,"latitude":39.0045333,"longitude":117.3368018,"speed":46.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140003","vehiclePurpose":"vehicle_purpose_special_vehicle_xl","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233797,"reportTime":1755583180091,"accessTime":1755583233996},{"deviceId":"XM140004","id":"263","msgId":"4716","deviceCode":"O-LL-0042","vehicleCode":"XZ1-SV-0059","vehicleId":"263","elevation":"500","heading":93.0087,"latitude":39.0030839,"longitude":117.348814,"speed":58.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140004","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233798,"reportTime":1755583180091,"accessTime":1755583233996},{"deviceId":"XM140005","id":"265","msgId":"4716","deviceCode":"O-LL-0044","vehicleCode":"XZ1-SV-0060","vehicleId":"265","elevation":"500","heading":90.1995,"latitude":39.0012983,"longitude":117.3499474,"speed":54.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140005","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233799,"reportTime":1755583180091,"accessTime":1755583233996},{"deviceId":"XM140006","id":"267","msgId":"4716","deviceCode":"O-LL-0045","vehicleCode":"XZ1-SV-0061","vehicleId":"267","elevation":"500","heading":184.2677,"latitude":38.9955953,"longitude":117.3463686,"speed":50.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140006","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233802,"reportTime":1755583180092,"accessTime":1755583233996},{"deviceId":"XM140007","id":"269","msgId":"4716","deviceCode":"O-LL-0046","vehicleCode":"XZ1-SV-0062","vehicleId":"269","elevation":"500","heading":4.3426,"latitude":38.9984927,"longitude":117.3468422,"speed":10.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140007","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233802,"reportTime":1755583180092,"accessTime":1755583233996},{"deviceId":"XM140008","id":"271","msgId":"4716","deviceCode":"O-LL-0047","vehicleCode":"XZ1-SV-0063","vehicleId":"271","elevation":"500","heading":355.8273,"latitude":39.0028153,"longitude":117.3470472,"speed":10.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140008","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":1,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583233802,"reportTime":1755583180092,"accessTime":1755583233996}]
{"id":"39846625511358464","objects":[{"id":"267","name":"Vehicle","longitude":117.346415,"latitude":38.996075,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464062,"latitude":38.995986,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583226565,"reportTime":1755583234621}
{"id":"39846625984921600","objects":[{"id":"267","name":"Vehicle","longitude":117.3464082,"latitude":38.9960061,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.346401,"latitude":38.995932,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583230210,"reportTime":1755583235267}
{"id":"39846625511358464","objects":[{"id":"267","name":"Vehicle","longitude":117.346415,"latitude":38.996075,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464062,"latitude":38.995986,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583226565,"reportTime":1755583235622}
...
...
@@ -159,7 +157,6 @@
{"id":"39846644232241152","objects":[{"id":"267","name":"Vehicle","longitude":117.3464609,"latitude":38.9965351,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464526,"latitude":38.9964527,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583369383,"reportTime":1755583369383}
{"id":"39846644232241152","objects":[{"id":"267","name":"Vehicle","longitude":117.3464581,"latitude":38.9965071,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464493,"latitude":38.9964196,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583369383,"reportTime":1755583370539}
{"id":"39846644365279232","objects":[{"id":"267","name":"Vehicle","longitude":117.3464533,"latitude":38.9964591,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464449,"latitude":38.9963751,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583370343,"reportTime":1755583370343}
[{"deviceId":"XM140002","id":"259","msgId":"6080","deviceCode":"O-DT-0034","vehicleCode":"YC1-SV-0057","vehicleId":"259","elevation":"500","heading":159.2216,"latitude":39.005664,"longitude":117.3460563,"speed":39.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140002","vehiclePurpose":"vehicle_purpose_special_vehicle_xl","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370199,"reportTime":1755583316492,"accessTime":1755583370347},{"deviceId":"XM140003","id":"261","msgId":"6080","deviceCode":"O-DT-0048","vehicleCode":"Badidu1-SV-0058","vehicleId":"261","elevation":"500","heading":70.8343,"latitude":39.0065212,"longitude":117.3477347,"speed":49.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140003","vehiclePurpose":"vehicle_purpose_special_vehicle_xl","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370199,"reportTime":1755583316492,"accessTime":1755583370347},{"deviceId":"XM140004","id":"263","msgId":"6080","deviceCode":"O-LL-0042","vehicleCode":"XZ1-SV-0059","vehicleId":"263","elevation":"500","heading":94.2478,"latitude":39.0030317,"longitude":117.347031,"speed":58.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140004","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370199,"reportTime":1755583316493,"accessTime":1755583370347},{"deviceId":"XM140005","id":"265","msgId":"6080","deviceCode":"O-LL-0044","vehicleCode":"XZ1-SV-0060","vehicleId":"265","elevation":"500","heading":88.804,"latitude":39.0012993,"longitude":117.3510377,"speed":54.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140005","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370200,"reportTime":1755583316493,"accessTime":1755583370347},{"deviceId":"XM140006","id":"267","msgId":"6080","deviceCode":"O-LL-0045","vehicleCode":"XZ1-SV-0061","vehicleId":"267","elevation":"500","heading":184.4081,"latitude":38.9964292,"longitude":117.3464503,"speed":31.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140006","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370201,"reportTime":1755583316494,"accessTime":1755583370347},{"deviceId":"XM140007","id":"269","msgId":"6080","deviceCode":"O-LL-0046","vehicleCode":"XZ1-SV-0062","vehicleId":"269","elevation":"500","heading":4.3614,"latitude":38.9976393,"longitude":117.3467589,"speed":53.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140007","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":0,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370200,"reportTime":1755583316493,"accessTime":1755583370347},{"deviceId":"XM140008","id":"271","msgId":"6080","deviceCode":"O-LL-0047","vehicleCode":"XZ1-SV-0063","vehicleId":"271","elevation":"500","heading":355.8273,"latitude":39.0027152,"longitude":117.3470566,"speed":0.0,"gear":2,"drivingMode":1,"acceSpeed":"0","soc":0.0,"wheelAngle":"0","vehiclePlate":"XM140008","vehiclePurpose":"vehicle_purpose_special_vehicle_sm","sweeperState":0,"waterState":0,"door":65408,"light":0,"wiper":0,"deviceStatus":1,"parkInLot":0,"receiveTime":1755583370200,"reportTime":1755583316494,"accessTime":1755583370347}]
{"id":"39846644365279232","objects":[{"id":"267","name":"Vehicle","longitude":117.3464533,"latitude":38.9964591,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464449,"latitude":38.9963751,"elevation":500.0}],"type":6,"typeName":"紧急制动预警","level":1,"startTime":1755583370343,"reportTime":1755583371501}
{"id":"39846644232241152","objects":[{"id":"267","name":"Vehicle","longitude":117.3464581,"latitude":38.9965071,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464493,"latitude":38.9964196,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583369383,"reportTime":1755583371550}
{"id":"39846644232241152","objects":[{"id":"267","name":"Vehicle","longitude":117.3464581,"latitude":38.9965071,"elevation":500.0},{"id":"1600009","name":"Participants","longitude":117.3464493,"latitude":38.9964196,"elevation":500.0}],"type":1,"typeName":"前向碰撞预警","level":1,"startTime":1755583369383,"reportTime":1755583372552}
...
...
app/src/main/java/com/sd/cavphmi/bean/PerTarget.kt
View file @
59b1b616
...
...
@@ -3,8 +3,22 @@ package com.sd.cavphmi.bean
*
*
* ***/
class
PerTarget
{
class
PerTarget
(
val
id
:
String
,
val
type
:
Int
,
val
typeName
:
String
,
val
levlel
:
Int
,
val
startTime
:
Long
,
val
reportTime
:
Long
,
val
typeList
:
ArrayList
<
PerTargetTypeItem
>
)
}
data class
PerTargetTypeItem
(
val
id
:
String
,
val
name
:
String
,
val
longitude
:
Float
,
val
latitude
:
Float
,
val
startTime
:
Long
,
val
elevation
:
Int
)
\ No newline at end of file
app/src/main/java/com/sd/cavphmi/ui/MainActivity.kt
View file @
59b1b616
package
com.sd.cavphmi.ui
import
android.animation.AnimatorSet
import
android.animation.ObjectAnimator
import
android.os.Handler
import
android.os.Looper
import
android.util.Log
import
android.view.KeyEvent
import
android.widget.ImageView
import
androidx.activity.viewModels
import
androidx.lifecycle.ViewModelProvider
import
com.sd.cavphmi.BR
...
...
@@ -34,6 +40,8 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
return
BR
.
vm
}
private
var
isPlay
=
false
private
var
type
=-
11
//预警类型
private
val
mockVM
:
MockVM
by
viewModels
()
// private val avpMapVM: AvpMapVM by viewModels()
...
...
@@ -81,10 +89,23 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
binding
.
btTarget
.
setOnClickListener
{
viewModel
.
subTarget
()
}
//v2x 预警
binding
.
btV2x
.
setOnClickListener
{
viewModel
.
subStartV2x
()
}
viewModel
.
v2xStartBean
.
observe
(
this
){
Log
.
e
(
"V2x"
,
"-------------typeName--"
+
it
.
typeName
)
if
(
isPlay
){
return
@observe
}
else
{
isPlay
=
true
setImage
()
Handler
(
Looper
.
getMainLooper
()).
postDelayed
(
displayRunnable
,
5000
)
}
}
//网联车辆状态
// binding.btStatus.setOnClickListener {
...
...
@@ -102,6 +123,44 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
}
private
fun
setImage
()
{
if
(
viewModel
.
v2xStartBean
.
value
.
type
==
1
){
//前向碰撞
binding
.
viewPopuler
.
setImageResource
(
R
.
drawable
.
advance
)
startPulseAnimation
(
binding
.
viewPopuler
)
}
else
if
(
viewModel
.
v2xStartBean
.
value
.
type
==
3
){
//左转辅助
binding
.
viewPopuler
.
setImageResource
(
R
.
drawable
.
left_icon
)
startPulseAnimation
(
binding
.
viewPopuler
)
}
else
if
(
viewModel
.
v2xStartBean
.
value
.
type
==
4
){
//盲区预警
binding
.
viewPopuler
.
setImageResource
(
R
.
drawable
.
change_lanes
)
startPulseAnimation
(
binding
.
viewPopuler
)
}
else
if
(
viewModel
.
v2xStartBean
.
value
.
type
==
6
){
//紧急制动预警
binding
.
viewPopuler
.
setImageResource
(
R
.
drawable
.
stop_icon
)
startPulseAnimation
(
binding
.
viewPopuler
)
}
else
if
(
viewModel
.
v2xStartBean
.
value
.
type
==
12
){
//弱势交通参与者
binding
.
viewPopuler
.
setImageResource
(
R
.
drawable
.
weak
)
startPulseAnimation
(
binding
.
viewPopuler
)
}
else
{
binding
.
viewPopuler
.
setImageResource
(
0
)
}
}
fun
startPulseAnimation
(
imageView
:
ImageView
)
{
val
alphaAnim
=
ObjectAnimator
.
ofFloat
(
imageView
,
"alpha"
,
1.0f
,
0.5f
)
val
scaleXAnim
=
ObjectAnimator
.
ofFloat
(
imageView
,
"scaleX"
,
1.0f
,
1.2f
)
val
scaleYAnim
=
ObjectAnimator
.
ofFloat
(
imageView
,
"scaleY"
,
1.0f
,
1.2f
)
val
set
=
AnimatorSet
().
apply
{
playTogether
(
alphaAnim
,
scaleXAnim
,
scaleYAnim
)
duration
=
300
}
set
.
start
()
}
private
val
displayRunnable
=
object
:
Runnable
{
override
fun
run
()
{
isPlay
=
false
}
}
override
fun
dispatchKeyEvent
(
event
:
KeyEvent
):
Boolean
{
if
((
event
.
getKeyCode
()
==
KeyEvent
.
KEYCODE_BACK
)
||
event
.
getKeyCode
()
==
KeyEvent
.
KEYCODE_HOME
)
{
...
...
app/src/main/java/com/sd/cavphmi/ui/fragment/CarPanelFragment.kt
View file @
59b1b616
...
...
@@ -71,12 +71,12 @@ class CarPanelFragment : BaseFragment<FragmentCarPanelBinding, MainVm>() {
override
fun
initView
()
{
viewModel
.
mockVM
=
mockVM
binding
.
cpBean
=
viewModel
.
carPanelBean
//驾驶模式
if
(
viewModel
.
carPanelBean
.
driveMode
==
"1"
){
binding
.
tvDrivemode
.
text
=
"自动驾驶"
}
else
{
binding
.
tvDrivemode
.
text
=
"人工驾驶"
}
//
//驾驶模式
//
if(viewModel.carPanelBean.driveMode=="1"){
//
binding.tvDrivemode.text="自动驾驶"
//
}else{
//
binding.tvDrivemode.text="人工驾驶"
//
}
//车灯
if
(
viewModel
.
carPanelBean
.
lights
==
0
){
binding
.
ivLeftLight
.
setImageResource
(
R
.
drawable
.
trun_left_grey
)
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MainVm.kt
View file @
59b1b616
...
...
@@ -176,7 +176,7 @@ class MainVm @Inject constructor(
* **/
fun
subTarget
():
LiveData
<
PerTarget
>
{
if
(
isMock
)
{
//
mockVM.onSubTargetMock(targetPre)
mockVM
.
onSubTargetMock
(
targetPre
)
}
else
{
try
{
if
(
feelTargetWSClient
==
null
)
{
...
...
@@ -206,7 +206,7 @@ class MainVm @Inject constructor(
* **/
fun
subStartV2x
():
LiveData
<
V2xStartBean
>
{
if
(
isMock
)
{
//
mockVM.on
SubTargetMock(targetPre
)
mockVM
.
on
V2xMock
(
v2xStartBean
)
}
else
{
try
{
if
(
v2xWSClient
==
null
)
{
...
...
app/src/main/java/com/sd/cavphmi/viewmodels/MockVM.kt
View file @
59b1b616
...
...
@@ -10,6 +10,7 @@ import com.sd.cavphmi.bean.CarPanelBean
import
com.sd.cavphmi.bean.CarVehicle
import
com.sd.cavphmi.bean.CarVehicleItem
import
com.sd.cavphmi.bean.PerTarget
import
com.sd.cavphmi.bean.V2xStartBean
import
com.sd.cavphmi.utils.FileIoUtils
import
dagger.hilt.android.lifecycle.HiltViewModel
import
dagger.hilt.android.qualifiers.ApplicationContext
...
...
@@ -61,16 +62,36 @@ class MockVM @Inject constructor(
//感知目标物
fun
onSubTargetMock
(
targetPre
:
MutableLiveData
<
PerTarget
>)
{
// viewModelScope.launch {
// val parts = mutableListOf<String>()
// FileIoUtils.getAssetMock(context, "mock/PerTarget.txt", parts)
// parts.forEach { str ->
// delay(1000)
// var bean = parseSocketRepo.parseDataBean(str, PerTarget::class.java)
// println("------模拟感知目标物数据 = ${bean}")
// targetPre.value = bean
// }
// }
viewModelScope
.
launch
{
val
parts
=
mutableListOf
<
String
>()
FileIoUtils
.
getAssetMock
(
context
,
"mock/onStartV2x.txt"
,
parts
)
parts
.
forEach
{
str
->
delay
(
1000
)
var
bean
=
parseDataBean
(
str
,
PerTarget
::
class
.
java
)
println
(
"------模拟感知目标物数据 = ${bean}"
)
println
(
"------模拟感知目标物typeName = ${bean.typeName}"
)
println
(
"------模拟感知目标物type = ${bean.type}"
)
println
(
"------模拟感知目标物level = ${bean.type}"
)
targetPre
.
value
=
bean
}
}
}
//v2预警
fun
onV2xMock
(
targetPre
:
MutableLiveData
<
V2xStartBean
>)
{
viewModelScope
.
launch
{
val
parts
=
mutableListOf
<
String
>()
FileIoUtils
.
getAssetMock
(
context
,
"mock/onStartV2x.txt"
,
parts
)
parts
.
forEach
{
str
->
delay
(
1000
)
var
bean
=
parseDataBean
(
str
,
V2xStartBean
::
class
.
java
)
println
(
"------模拟感知目标物数据 = ${bean}"
)
println
(
"------模拟感知目标物typeName = ${bean.typeName}"
)
println
(
"------模拟感知目标物type = ${bean.type}"
)
println
(
"------模拟感知目标物level = ${bean.type}"
)
targetPre
.
value
=
bean
}
}
}
//全局路径发生切换
...
...
app/src/main/res/drawable-xhdpi/left_icon.png
0 → 100644
View file @
59b1b616
5.26 KB
app/src/main/res/drawable-xhdpi/stop_icon.png
0 → 100644
View file @
59b1b616
11.4 KB
app/src/main/res/layout/activity_main.xml
View file @
59b1b616
...
...
@@ -34,7 +34,15 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
<!-- 模拟气泡-->
<ImageView
android:id=
"@+id/view_populer"
android:layout_width=
"200dp"
android:layout_height=
"30dp"
android:layout_marginBottom=
"10dp"
android:layout_alignParentRight=
"true"
android:layout_above=
"@id/map_car_pan"
/>
<LinearLayout
android:layout_marginTop=
"30dp"
android:id=
"@+id/ll_1"
...
...
@@ -86,6 +94,7 @@
</LinearLayout>
<FrameLayout
android:id=
"@+id/video_frag"
android:layout_width=
"500dp"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment