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 ...@@ -62,7 +62,9 @@ class ParseSocketRepo @Inject constructor(private val clientRetrofitMethod: Clie
} }
} }
/***查询车位信息***/ /***查询车位信息
* 苏州hmi用的这个接口判断空闲车位
* ***/
suspend fun getSpaceData(): MyResult<SpaceNoBean> { suspend fun getSpaceData(): MyResult<SpaceNoBean> {
var map = mutableMapOf("pageNo" to 20, "pageSize" to 1000) var map = mutableMapOf("pageNo" to 20, "pageSize" to 1000)
var body = RequestBodyUtil.toRequestBody(map) var body = RequestBodyUtil.toRequestBody(map)
......
...@@ -11,6 +11,7 @@ import com.sd.cavphmi.bean.ParkBean ...@@ -11,6 +11,7 @@ import com.sd.cavphmi.bean.ParkBean
import com.sd.cavphmi.bean.VehicleStats import com.sd.cavphmi.bean.VehicleStats
import com.sd.cavphmi.databinding.ActivityMainBinding import com.sd.cavphmi.databinding.ActivityMainBinding
import com.sd.cavphmi.intfaces.OnConCan import com.sd.cavphmi.intfaces.OnConCan
import com.sd.cavphmi.viewmodels.AvpMapVM
import com.sd.cavphmi.viewmodels.MainVm import com.sd.cavphmi.viewmodels.MainVm
import com.sd.cavphmi.viewmodels.MockVM import com.sd.cavphmi.viewmodels.MockVM
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
...@@ -36,10 +37,12 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() { ...@@ -36,10 +37,12 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
} }
private val mockVM: MockVM by viewModels() private val mockVM: MockVM by viewModels()
private val avpMapVM: AvpMapVM by viewModels()
private lateinit var dialogFragment: ExitAppDialog private lateinit var dialogFragment: ExitAppDialog
override fun initView() { override fun initView() {
viewModel.mockVM = mockVM
} }
...@@ -48,8 +51,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() { ...@@ -48,8 +51,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
viewModel.getCurrentTime() viewModel.getCurrentTime()
viewModel.getMobileNetworkSignal() viewModel.getMobileNetworkSignal()
viewModel.getOrderData() viewModel.getOrderData()
viewModel.getSpaceData() // viewModel.getSpaceData()
//test //test
// viewModel.findPathPlanning() // viewModel.findPathPlanning()
} }
...@@ -57,23 +59,19 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() { ...@@ -57,23 +59,19 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
override fun initListener() { override fun initListener() {
mockBt() mockBt()
mockLis() mockLis()
//订单数据 //订单数据
viewModel.orderBean.observe(this) { viewModel.orderBean.observe(this) {
binding.order = it binding.order = it
} }
} }
private fun mockLis() { private fun mockLis() {
mockVM.orderBean.observe(this) {
binding.order = it
}
} }
private fun mockBt() { private fun mockBt() {
binding.btVehicle.setOnClickListener { binding.btVehicle.setOnClickListener {
viewModel.subVehicle().observe(this) { viewModel.subVehicle(true).observe(this) {
topicVehicle(it) topicVehicle(it)
} }
} }
...@@ -93,7 +91,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() { ...@@ -93,7 +91,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
viewModel.subEndV2x() viewModel.subEndV2x()
} }
binding.btChewei.setOnClickListener { binding.btChewei.setOnClickListener {
viewModel.subPoints().observe(this){ viewModel.subPoints().observe(this) {
topicvPoints(it) topicvPoints(it)
} }
} }
...@@ -119,6 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() { ...@@ -119,6 +117,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MainVm>() {
// } // }
} }
/**停车位变更**/ /**停车位变更**/
private fun topicvPoints(bean: ParkBean) { private fun topicvPoints(bean: ParkBean) {
var curValue = bean.parkingSpace 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 ...@@ -2,6 +2,7 @@ package com.sd.cavphmi.viewmodels
import android.content.Context import android.content.Context
import android.text.TextUtils import android.text.TextUtils
import androidx.activity.viewModels
import androidx.databinding.ObservableField import androidx.databinding.ObservableField
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
...@@ -50,7 +51,8 @@ class MainVm @Inject constructor( ...@@ -50,7 +51,8 @@ class MainVm @Inject constructor(
private var client: MyWebSocketClient? = null private var client: MyWebSocketClient? = null
private var gson = Gson() private var gson = Gson()
//模拟操作
lateinit var mockVM: MockVM
//车辆位姿数据 //车辆位姿数据
var carVehicle = MutableLiveData<CarVehicle>() var carVehicle = MutableLiveData<CarVehicle>()
...@@ -114,6 +116,27 @@ class MainVm @Inject constructor( ...@@ -114,6 +116,27 @@ class MainVm @Inject constructor(
}, 2000, 1000 * 60) }, 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 车牌号 * @param vehiclePlate 车牌号
* **/ * **/
...@@ -261,26 +284,7 @@ class MainVm @Inject constructor( ...@@ -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() { fun getSpaceData() {
...@@ -462,9 +466,12 @@ class MainVm @Inject constructor( ...@@ -462,9 +466,12 @@ class MainVm @Inject constructor(
/*** 联网车辆位姿数据**/ /*** 联网车辆位姿数据**/
fun subVehicle(): LiveData<CarVehicle> { fun subVehicle(mock: Boolean = false): LiveData<CarVehicle> {
val reqStr = getSendData("/topic/vehicle") if (mock) {
client?.send(reqStr) mockVM.onVehicleMock(carVehicle,heading,speed)
} else {
client?.send(getSendData("/topic/vehicle"))
}
return carVehicle return carVehicle
} }
......
package com.sd.cavphmi.viewmodels package com.sd.cavphmi.viewmodels
import android.content.Context import android.content.Context
import androidx.databinding.ObservableField
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.sd.cavphmi.base.MyBaseViewModel import com.sd.cavphmi.base.MyBaseViewModel
...@@ -17,16 +19,16 @@ import javax.inject.Inject ...@@ -17,16 +19,16 @@ import javax.inject.Inject
@HiltViewModel @HiltViewModel
class MockVM @Inject constructor( class MockVM @Inject constructor(
@ApplicationContext var context: Context, @ApplicationContext private var context: Context,
private var parseSocketRepo: ParseSocketRepo private var parseSocketRepo: ParseSocketRepo
) : MyBaseViewModel() { ) : MyBaseViewModel() {
//车辆位姿数据
var carVehicle = MutableLiveData<CarVehicle>()
//订单信息
var orderBean = MutableLiveData<OrderBean>()
fun onVehicleMock() { fun onVehicleMock(
carVehicle: MutableLiveData<CarVehicle>,
heading: ObservableField<Int>,
speed: ObservableField<Float>
) {
viewModelScope.launch { viewModelScope.launch {
var dst = mutableListOf<String>() var dst = mutableListOf<String>()
FileIoUtils.getAssetMock(context, "mock/carvehicle.txt", dst) FileIoUtils.getAssetMock(context, "mock/carvehicle.txt", dst)
...@@ -34,23 +36,13 @@ class MockVM @Inject constructor( ...@@ -34,23 +36,13 @@ class MockVM @Inject constructor(
delay(3000) delay(3000)
val bean = val bean =
parseSocketRepo.parseDataBean(str, CarVehicle::class.java) parseSocketRepo.parseDataBean(str, CarVehicle::class.java)
println("---模拟车辆位姿数据 = ${bean}") println("------模拟车辆位姿数据 = ${bean}")
var result = heading.set(bean.vehicleData.get(0).heading.toInt())
parseSocketRepo.getOrderData(bean.vehicleData?.get(0)?.vehiclePlate ?: "") speed.set(bean.vehicleData.get(0).speed)
when (result) {
is MyResult.Success<OrderBean> -> {
println("-------订单信息---- = ${result.data}")
orderBean.value=result.data
}
else -> {
// println("-------Error---- = ${result.msg}")
}
}
carVehicle.value = bean 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