Commit 1141bca5 authored by p x's avatar p x
Browse files

3

parent a5e7e33e
kotlin version: 2.0.21
error message: The daemon has terminated unexpectedly on startup attempt #1 with error code: 0. The daemon process output:
1. Kotlin compile daemon is ready
......@@ -62,7 +62,9 @@ class ParseSocketRepo @Inject constructor(private val clientRetrofitMethod: Clie
}
}
/***查询车位信息***/
/***查询车位信息
* 苏州hmi用的这个接口判断空闲车位
* ***/
suspend fun getSpaceData(): MyResult<SpaceNoBean> {
var map = mutableMapOf("pageNo" to 20, "pageSize" to 1000)
var body = RequestBodyUtil.toRequestBody(map)
......
......@@ -11,6 +11,7 @@ import com.sd.cavphmi.bean.ParkBean
import com.sd.cavphmi.bean.VehicleStats
import com.sd.cavphmi.databinding.ActivityMainBinding
import com.sd.cavphmi.intfaces.OnConCan
import com.sd.cavphmi.viewmodels.AvpMapVM
import com.sd.cavphmi.viewmodels.MainVm
import com.sd.cavphmi.viewmodels.MockVM
import dagger.hilt.android.AndroidEntryPoint
......@@ -36,10 +37,12 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
}
private val mockVM: MockVM by viewModels()
private val avpMapVM: AvpMapVM by viewModels()
private lateinit var dialogFragment: ExitAppDialog
override fun initView() {
viewModel.mockVM = mockVM
}
......@@ -48,8 +51,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
viewModel.getCurrentTime()
viewModel.getMobileNetworkSignal()
viewModel.getOrderData()
viewModel.getSpaceData()
// viewModel.getSpaceData()
//test
// viewModel.findPathPlanning()
}
......@@ -57,23 +59,19 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
override fun initListener() {
mockBt()
mockLis()
//订单数据
viewModel.orderBean.observe(this) {
binding.order = it
}
}
private fun mockLis() {
mockVM.orderBean.observe(this) {
binding.order = it
}
}
private fun mockBt() {
binding.btVehicle.setOnClickListener {
viewModel.subVehicle().observe(this) {
viewModel.subVehicle(true).observe(this) {
topicVehicle(it)
}
}
......@@ -93,7 +91,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
viewModel.subEndV2x()
}
binding.btChewei.setOnClickListener {
viewModel.subPoints().observe(this){
viewModel.subPoints().observe(this) {
topicvPoints(it)
}
}
......@@ -119,6 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
// }
}
/**停车位变更**/
private fun topicvPoints(bean: ParkBean) {
var curValue = bean.parkingSpace
......
package com.sd.cavphmi.viewmodels
import android.content.Context
import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
@HiltViewModel
class AvpMapVM @Inject constructor(@ApplicationContext private var context: Context) :
ViewModel() {
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.sd.cavphmi.viewmodels
import android.content.Context
import android.text.TextUtils
import androidx.activity.viewModels
import androidx.databinding.ObservableField
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
......@@ -50,7 +51,8 @@ class MainVm @Inject constructor(
private var client: MyWebSocketClient? = null
private var gson = Gson()
//模拟操作
lateinit var mockVM: MockVM
//车辆位姿数据
var carVehicle = MutableLiveData<CarVehicle>()
......@@ -114,6 +116,27 @@ class MainVm @Inject constructor(
}, 2000, 1000 * 60)
}
/***获取信号强度**/
fun getMobileNetworkSignal() {
netSingTimer.schedule(object : TimerTask() {
override fun run() {
viewModelScope.launch {
var result = parseSocketRepo.getTimeOut()
when (result) {
is MyResult.Success<Int> -> {
timeOutDiff.set(result.data)
// println("-------时间差---- = ${result.data}")
}
else -> {
// println("-------Error---- = ${result.msg}")
}
}
}
}
}, 5000, 1000 * 60)
}
/***获取订单信息
* @param vehiclePlate 车牌号
* **/
......@@ -261,26 +284,7 @@ class MainVm @Inject constructor(
}
}
/***获取信号强度**/
fun getMobileNetworkSignal() {
netSingTimer.schedule(object : TimerTask() {
override fun run() {
viewModelScope.launch {
var result = parseSocketRepo.getTimeOut()
when (result) {
is MyResult.Success<Int> -> {
timeOutDiff.set(result.data)
// println("-------时间差---- = ${result.data}")
}
else -> {
// println("-------Error---- = ${result.msg}")
}
}
}
}
}, 5000, 1000 * 60)
}
/**查询车位信息**/
fun getSpaceData() {
......@@ -462,9 +466,12 @@ class MainVm @Inject constructor(
/*** 联网车辆位姿数据**/
fun subVehicle(): LiveData<CarVehicle> {
val reqStr = getSendData("/topic/vehicle")
client?.send(reqStr)
fun subVehicle(mock: Boolean = false): LiveData<CarVehicle> {
if (mock) {
mockVM.onVehicleMock(carVehicle,heading,speed)
} else {
client?.send(getSendData("/topic/vehicle"))
}
return carVehicle
}
......
package com.sd.cavphmi.viewmodels
import android.content.Context
import androidx.databinding.ObservableField
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.sd.cavphmi.base.MyBaseViewModel
......@@ -17,16 +19,16 @@ import javax.inject.Inject
@HiltViewModel
class MockVM @Inject constructor(
@ApplicationContext var context: Context,
@ApplicationContext private var context: Context,
private var parseSocketRepo: ParseSocketRepo
) : MyBaseViewModel() {
//车辆位姿数据
var carVehicle = MutableLiveData<CarVehicle>()
//订单信息
var orderBean = MutableLiveData<OrderBean>()
fun onVehicleMock() {
fun onVehicleMock(
carVehicle: MutableLiveData<CarVehicle>,
heading: ObservableField<Int>,
speed: ObservableField<Float>
) {
viewModelScope.launch {
var dst = mutableListOf<String>()
FileIoUtils.getAssetMock(context, "mock/carvehicle.txt", dst)
......@@ -34,23 +36,13 @@ class MockVM @Inject constructor(
delay(3000)
val bean =
parseSocketRepo.parseDataBean(str, CarVehicle::class.java)
println("---模拟车辆位姿数据 = ${bean}")
var result =
parseSocketRepo.getOrderData(bean.vehicleData?.get(0)?.vehiclePlate ?: "")
when (result) {
is MyResult.Success<OrderBean> -> {
println("-------订单信息---- = ${result.data}")
orderBean.value=result.data
}
else -> {
// println("-------Error---- = ${result.msg}")
}
}
println("------模拟车辆位姿数据 = ${bean}")
heading.set(bean.vehicleData.get(0).heading.toInt())
speed.set(bean.vehicleData.get(0).speed)
carVehicle.value = bean
}
}
}
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment