[charter]
[3.2.0] [车门操作统一到一个地方]
This commit is contained in:
@@ -4,7 +4,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.och.bus.passenger.bean.LoopInfo
|
||||
import com.mogo.och.bus.passenger.constant.CharterPassengerConst
|
||||
import com.mogo.och.bus.passenger.utils.RxUtils
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
||||
@@ -4,7 +4,7 @@ import androidx.lifecycle.LifecycleOwner
|
||||
import com.mogo.commons.mvp.IView
|
||||
import com.mogo.commons.mvp.Presenter
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.utils.RxUtils
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
abstract class BusBasePassengerFunctionDevicePresenter<V : IView?>(view: V) :
|
||||
|
||||
@@ -5,92 +5,15 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.M1CarUserNoOrderFragment
|
||||
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
class BusPassengerCarUseAndNoOrderPresenter(view: M1CarUserNoOrderFragment?) :
|
||||
BusBasePassengerFunctionDevicePresenter<M1CarUserNoOrderFragment?>(view),
|
||||
OCHM1LightAirconditionDoorStatusManager.OCHM1LightAirconditionDoorCallback {
|
||||
BusBasePassengerFunctionDevicePresenter<M1CarUserNoOrderFragment?>(view){
|
||||
companion object {
|
||||
private const val TAG = "BusPassengerFunctionPresenter"
|
||||
}
|
||||
|
||||
private var subscribe: Disposable? = null
|
||||
private var subscribeDoorStatus: Disposable? = null
|
||||
private var gnssSpeed = 0.0
|
||||
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this)
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG) { location ->
|
||||
location?.let {
|
||||
gnssSpeed = it.gnssInfo.vehicleSpeed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.removeListener(TAG)
|
||||
disposeSubscribe(subscribe)
|
||||
disposeSubscribe(subscribeDoorStatus)
|
||||
}
|
||||
|
||||
override fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) {
|
||||
if (!isFirst) {
|
||||
if (isOpen) {
|
||||
ToastUtils.showShort("已开启车门")
|
||||
} else {
|
||||
ToastUtils.showShort("已关门车门")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun openDoor() {
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if (!canOpenOrCloseDoor.isNullOrEmpty()) {
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
disposeSubscribe(subscribe)
|
||||
subscribe = createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1)
|
||||
disposeSubscribe(subscribeDoorStatus)
|
||||
subscribeDoorStatus = createSubscribe {
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) {
|
||||
ToastUtils.showShort("车门无法开启,请使用车内物理按钮")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun closeDoor() {
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if (!canOpenOrCloseDoor.isNullOrBlank()) {
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
disposeSubscribe(subscribe)
|
||||
subscribe = createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2)
|
||||
disposeSubscribe(subscribeDoorStatus)
|
||||
subscribeDoorStatus = createSubscribe {
|
||||
if (OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) {
|
||||
ToastUtils.showShort("车门无法关闭,请使用车内物理按钮")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun canOpenOrCloseDoor(): String? {
|
||||
if (gnssSpeed < 0.01) {
|
||||
return null
|
||||
} else {
|
||||
return "车辆正在运行、请稍后再试"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,16 +7,12 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.M1DeviceFragment
|
||||
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) :
|
||||
BusBasePassengerFunctionDevicePresenter<M1DeviceFragment?>(view),
|
||||
OCHM1LightAirconditionDoorStatusManager.OCHM1LightAirconditionDoorCallback {
|
||||
|
||||
private var subscribe: Disposable? = null
|
||||
private var subscribeDoorStatus: Disposable? = null
|
||||
private var gnssSpeed =0.0
|
||||
BusBasePassengerFunctionDevicePresenter<M1DeviceFragment?>(view) {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "BusPassengerFunctionDevicePresenter"
|
||||
@@ -24,75 +20,10 @@ class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) :
|
||||
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this)
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG) { location ->
|
||||
location?.let {
|
||||
gnssSpeed = it.gnssInfo.vehicleSpeed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.removeListener(TAG)
|
||||
disposeSubscribe(subscribe)
|
||||
disposeSubscribe(subscribeDoorStatus)
|
||||
}
|
||||
|
||||
override fun onDoorStatusCallback(isOpen: Boolean,isFirst: Boolean) {
|
||||
if(!isFirst) {
|
||||
if (isOpen) {
|
||||
ToastUtils.showShort("已开启车门")
|
||||
} else {
|
||||
ToastUtils.showShort("已关门车门")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun openDoor() {
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if(!canOpenOrCloseDoor.isNullOrEmpty()){
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
disposeSubscribe(subscribe)
|
||||
subscribe = createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1)
|
||||
disposeSubscribe(subscribeDoorStatus)
|
||||
subscribeDoorStatus = createSubscribe(6000) {
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) {
|
||||
ToastUtils.showShort("车门无法开启,请使用车内物理按钮")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun closeDoor() {
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if(!canOpenOrCloseDoor.isNullOrBlank()){
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
disposeSubscribe(subscribe)
|
||||
subscribe = createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2)
|
||||
disposeSubscribe(subscribeDoorStatus)
|
||||
subscribeDoorStatus = createSubscribe(6000) {
|
||||
if (OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) {
|
||||
ToastUtils.showShort("车门无法关闭,请使用车内物理按钮")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun canOpenOrCloseDoor():String?{
|
||||
if(gnssSpeed<0.01){
|
||||
return null
|
||||
}else{
|
||||
return "车辆正在运行、请稍后再试"
|
||||
}
|
||||
}
|
||||
|
||||
// 靠边停车
|
||||
|
||||
@@ -7,12 +7,16 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.bus.passenger.ui.M1SoftFragment
|
||||
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.LightStatus
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
BusBasePassengerFunctionDevicePresenter<M1SoftFragment?>(view),
|
||||
OCHM1LightAirconditionDoorStatusManager.OCHM1LightAirconditionDoorCallback {
|
||||
LightAirconditionDoorCallback {
|
||||
companion object {
|
||||
private const val TAG = "BusPassengerFunctionSoftPresenter"
|
||||
}
|
||||
@@ -26,23 +30,23 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this)
|
||||
LightAirconditionDoorStatusManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.removeListener(TAG)
|
||||
LightAirconditionDoorStatusManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
/**
|
||||
* 空调状态变化
|
||||
*/
|
||||
override fun onAirconditionStatusCallback(heaterIsOpen: Boolean,airconditionStatus: OCHM1LightAirconditionDoorStatusManager.AirconditionStatus,isFirst: Boolean) {
|
||||
override fun onAirconditionStatusCallback(heaterIsOpen: Boolean, airconditionStatus: AirconditionStatus, isFirst: Boolean) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,
|
||||
"回写--空调开关:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.isOpen}、" +
|
||||
"空调温度:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.temperature}" +
|
||||
"空调模式:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.pattert}" +
|
||||
"空调风速:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.windSpeed}")
|
||||
"回写--空调开关:${LightAirconditionDoorStatusManager.airconditionStatus.isOpen}、" +
|
||||
"空调温度:${LightAirconditionDoorStatusManager.airconditionStatus.temperature}" +
|
||||
"空调模式:${LightAirconditionDoorStatusManager.airconditionStatus.pattert}" +
|
||||
"空调风速:${LightAirconditionDoorStatusManager.airconditionStatus.windSpeed}")
|
||||
UiThreadHandler.post {
|
||||
if(airconditionStatus.isOpen){
|
||||
mView?.setAirconditionHeaterView(
|
||||
@@ -66,7 +70,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
/**
|
||||
* 暖风机状态变化
|
||||
*/
|
||||
override fun onHeaterStatusCallback(airconditionIsOpen:Boolean,heaterStatue: OCHM1LightAirconditionDoorStatusManager.HeaterStatue,isFirst: Boolean) {
|
||||
override fun onHeaterStatusCallback(airconditionIsOpen:Boolean, heaterStatue: HeaterStatue, isFirst: Boolean) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,
|
||||
"回写--暖风机开关:${heaterStatue.isOpen}、" +
|
||||
"风速:${heaterStatue.windSpeed}")
|
||||
@@ -93,7 +97,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
/**
|
||||
* 灯状态变化
|
||||
*/
|
||||
override fun onLightTop1Callback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus,isFirst: Boolean) {
|
||||
override fun onLightTop1Callback(lightStatus: LightStatus, isFirst: Boolean) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,
|
||||
"回写--顶灯1开关:${lightStatus.isOpenLight1}、" +
|
||||
"顶灯2开关:${lightStatus.isOpenLight2}、" +
|
||||
@@ -105,7 +109,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
/**
|
||||
* 灯状态变化
|
||||
*/
|
||||
override fun onLightTop2Callback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus,isFirst: Boolean) {
|
||||
override fun onLightTop2Callback(lightStatus: LightStatus, isFirst: Boolean) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,
|
||||
"回写--顶灯1开关:${lightStatus.isOpenLight1}、" +
|
||||
"顶灯2开关:${lightStatus.isOpenLight2}、" +
|
||||
@@ -118,7 +122,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
/**
|
||||
* 灯状态变化
|
||||
*/
|
||||
override fun onLightAtmosphereCallback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus,isFirst: Boolean) {
|
||||
override fun onLightAtmosphereCallback(lightStatus: LightStatus, isFirst: Boolean) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,
|
||||
"回写--顶灯1开关:${lightStatus.isOpenLight1}、" +
|
||||
"顶灯2开关:${lightStatus.isOpenLight2}、" +
|
||||
@@ -137,10 +141,10 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1AirConditionerCmd(1,modeCmd,windSpeedCmd,temperatureCmd)
|
||||
disposeSubscribe(airconditionDisposable)
|
||||
airconditionDisposable = createSubscribe(10000){
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.airconditionStatus.isOpen&&
|
||||
OCHM1LightAirconditionDoorStatusManager.airconditionStatus.windSpeed!=windSpeedCmd&&
|
||||
OCHM1LightAirconditionDoorStatusManager.airconditionStatus.temperature!=temperatureCmd&&
|
||||
OCHM1LightAirconditionDoorStatusManager.airconditionStatus.pattert!=modeCmd) {
|
||||
if (!LightAirconditionDoorStatusManager.airconditionStatus.isOpen&&
|
||||
LightAirconditionDoorStatusManager.airconditionStatus.windSpeed!=windSpeedCmd&&
|
||||
LightAirconditionDoorStatusManager.airconditionStatus.temperature!=temperatureCmd&&
|
||||
LightAirconditionDoorStatusManager.airconditionStatus.pattert!=modeCmd) {
|
||||
ToastUtils.showShort("空调操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
@@ -150,7 +154,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1AirConditionerCmd(2,modeCmd,windSpeedCmd,temperatureCmd)
|
||||
disposeSubscribe(airconditionDisposable)
|
||||
airconditionDisposable = createSubscribe(10000){
|
||||
if (OCHM1LightAirconditionDoorStatusManager.airconditionStatus.isOpen) {
|
||||
if (LightAirconditionDoorStatusManager.airconditionStatus.isOpen) {
|
||||
ToastUtils.showShort("空调操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
@@ -163,8 +167,8 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1HeaderCmd(1,windSpeedCmd)
|
||||
disposeSubscribe(heaterDisposable)
|
||||
heaterDisposable = createSubscribe(10000){
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.heaterStatue.isOpen&&
|
||||
OCHM1LightAirconditionDoorStatusManager.heaterStatue.windSpeed!=windSpeedCmd) {
|
||||
if (!LightAirconditionDoorStatusManager.heaterStatue.isOpen&&
|
||||
LightAirconditionDoorStatusManager.heaterStatue.windSpeed!=windSpeedCmd) {
|
||||
ToastUtils.showShort("暖风机操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
@@ -175,7 +179,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1HeaderCmd(2,0)
|
||||
disposeSubscribe(heaterDisposable)
|
||||
heaterDisposable = createSubscribe(10000){
|
||||
if (OCHM1LightAirconditionDoorStatusManager.heaterStatue.isOpen) {
|
||||
if (LightAirconditionDoorStatusManager.heaterStatue.isOpen) {
|
||||
ToastUtils.showShort("暖风机操作未生效,请稍后重试吧~")//还是开着的
|
||||
}
|
||||
}
|
||||
@@ -187,14 +191,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
if(leftLight){
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp1Cmd(1)
|
||||
subscribeLightTop1 = createSubscribe{
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) {
|
||||
if (!LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp1Cmd(2)
|
||||
subscribeLightTop1 = createSubscribe{
|
||||
if (OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) {
|
||||
if (LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
@@ -206,14 +210,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
if(rightLight){
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp2Cmd(1)
|
||||
subscribeLightTop2 = createSubscribe{
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) {
|
||||
if (!LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp2Cmd(2)
|
||||
subscribeLightTop2 = createSubscribe{
|
||||
if (OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) {
|
||||
if (LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
@@ -225,14 +229,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
if (atmosphereLight) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1SmallLampCmd(1)
|
||||
subscribeLightAtmosphere = createSubscribe{
|
||||
if (!OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) {
|
||||
if (!LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1SmallLampCmd(2)
|
||||
subscribeLightAtmosphere = createSubscribe{
|
||||
if (OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) {
|
||||
if (LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.mogo.och.bus.passenger.ui.MainFragment
|
||||
import com.mogo.och.common.module.bean.dpmsg.DPMsgType
|
||||
import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil
|
||||
@@ -32,21 +32,20 @@ import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg
|
||||
import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.util.*
|
||||
|
||||
class BusPassengerPresenter(view: MainFragment?) :
|
||||
BusBasePassengerFunctionDevicePresenter<MainFragment?>(view),
|
||||
IBusPassengerControllerStatusCallback, IDistanceTimeCallback, IOrderChangeCallback,
|
||||
IOrderStatusChangeListener, OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback {
|
||||
IDistanceTimeCallback, IOrderChangeCallback, IOrderStatusChangeListener,
|
||||
OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback {
|
||||
|
||||
private var subscribe: Disposable? = null
|
||||
private var gnssSpeed = 0.0f
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
CharterPassengerModel.init()
|
||||
// 定位监听
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG,this)
|
||||
CharterPassengerModel.setiDistanceTimeCallback(this)
|
||||
CharterPassengerModel.setCarTypeChangeListener(this)
|
||||
CharterPassengerModel.setStatusChangeListener(TAG,this)
|
||||
@@ -59,7 +58,6 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG,null)
|
||||
CharterPassengerModel.setiDistanceTimeCallback(null)
|
||||
CharterPassengerModel.setCarTypeChangeListener(null)
|
||||
CallerTelematicListenerManager.removeListener(TAG)
|
||||
@@ -81,12 +79,6 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
mView?.setOrderTime(sumTime, arrivedTime)
|
||||
}
|
||||
}
|
||||
override fun onCarLocationChanged(location: MogoLocation?) {
|
||||
location?.let {
|
||||
setSpeed(it.gnssSpeed)
|
||||
gnssSpeed = it.gnssSpeed
|
||||
}
|
||||
}
|
||||
|
||||
val msgReceived = object : IReceivedMsgListener {
|
||||
override fun onReceivedMsg(type: Int, byteArray: ByteArray) {
|
||||
@@ -98,11 +90,11 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
) as BaseDPMsg
|
||||
when (msg.type) {
|
||||
DPMsgType.TYPE_OPEN_CLOSE_DOOR.type -> {
|
||||
val doorStatus = OCHM1LightAirconditionDoorStatusManager.doorStatus
|
||||
val doorStatus = LightAirconditionDoorStatusManager.doorStatus
|
||||
if(doorStatus.isOpen){
|
||||
closeDoor()
|
||||
LightAirconditionDoorManager.go2OpenDoor(false)
|
||||
}else{
|
||||
openDoor()
|
||||
LightAirconditionDoorManager.go2OpenDoor(true)
|
||||
}
|
||||
}
|
||||
DPMsgType.TYPE_COMMON.type -> {
|
||||
@@ -128,40 +120,6 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.m1_voice_di)
|
||||
}
|
||||
|
||||
fun openDoor() {
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if(!canOpenOrCloseDoor.isNullOrEmpty()){
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
disposeSubscribe(subscribe)
|
||||
subscribe = createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1)
|
||||
}
|
||||
|
||||
fun closeDoor() {
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if(!canOpenOrCloseDoor.isNullOrBlank()){
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
disposeSubscribe(subscribe)
|
||||
subscribe = createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2)
|
||||
}
|
||||
|
||||
private fun canOpenOrCloseDoor():String?{
|
||||
if(gnssSpeed<0.01){
|
||||
return null
|
||||
}else{
|
||||
return "车辆正在运行、请稍后再试"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算剩余距离和剩余时间
|
||||
*/
|
||||
@@ -290,4 +248,13 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) {
|
||||
if (!isFirst) {
|
||||
if (isOpen) {
|
||||
ToastUtils.showShort("已开启车门")
|
||||
} else {
|
||||
ToastUtils.showShort("已关门车门")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,9 +4,7 @@ import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.CompoundButton
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import com.mogo.commons.mvp.MvpDialogFragment
|
||||
@@ -14,11 +12,9 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.SharedPrefs
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.bus.passenger.presenter.BusPassengerCarUseAndNoOrderPresenter
|
||||
import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter
|
||||
import kotlinx.android.synthetic.m1.m1_contain_fragment.*
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
|
||||
import kotlinx.android.synthetic.m1.m1_order_end.*
|
||||
|
||||
/**
|
||||
@@ -45,10 +41,10 @@ class M1CarUserNoOrderFragment :
|
||||
override fun initViews() {
|
||||
dialog?.setCancelable(false)
|
||||
iv_end_order_opendoor.onClick {
|
||||
mPresenter?.openDoor()
|
||||
LightAirconditionDoorManager.go2OpenDoor(true)
|
||||
}
|
||||
iv_end_order_closedoor.onClick {
|
||||
mPresenter?.closeDoor()
|
||||
LightAirconditionDoorManager.go2OpenDoor(false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,15 +36,6 @@ class M1DeviceFragment :
|
||||
mPresenter?.startStopSide()
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
tv_car_setting_opendoor.onClick {
|
||||
// 开门 AdasManager.getInstance().sendRoboBusJinlvM1FrontDoorCmd(2);
|
||||
mPresenter?.openDoor()
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
tv_car_setting_closedoor.onClick {
|
||||
mPresenter?.closeDoor()
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
}
|
||||
|
||||
override fun createPresenter(): BusPassengerFunctionDevicePresenter =
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.mogo.och.bus.passenger.net.BusPassengerServiceManager
|
||||
import com.mogo.och.bus.passenger.ui.M1ContainFragment
|
||||
import com.mogo.och.bus.passenger.ui.adapter.OrderLineItemAdapter
|
||||
import com.mogo.och.bus.passenger.ui.adapter.OrderSiteItemAdapter
|
||||
import com.mogo.och.bus.passenger.utils.RxUtils
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.bus.passenger.view.BottomDecoration
|
||||
import com.mogo.och.common.module.bean.dpmsg.DPMsgType
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.mogo.och.bus.passenger.ui.view.door
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
class CloseDoorView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : AppCompatTextView(context, attrs, defStyleAttr) {
|
||||
|
||||
init {
|
||||
setOnClickListener {
|
||||
go2OpenDoor()
|
||||
}
|
||||
}
|
||||
|
||||
private fun go2OpenDoor(){
|
||||
LightAirconditionDoorManager.go2OpenDoor(false)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.mogo.och.bus.passenger.ui.view.door
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import androidx.appcompat.widget.AppCompatTextView
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
|
||||
class OpenDoorView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : AppCompatTextView(context, attrs, defStyleAttr) {
|
||||
|
||||
init {
|
||||
setOnClickListener {
|
||||
go2OpenDoor()
|
||||
}
|
||||
}
|
||||
|
||||
private fun go2OpenDoor(){
|
||||
LightAirconditionDoorManager.go2OpenDoor(true)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -47,7 +47,7 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_car_setting_go"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
<com.mogo.och.bus.passenger.ui.view.door.CloseDoorView
|
||||
android:id="@+id/tv_car_setting_opendoor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -62,7 +62,7 @@
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_car_setting_stopside"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
<com.mogo.och.bus.passenger.ui.view.door.OpenDoorView
|
||||
android:id="@+id/tv_car_setting_closedoor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.mogo.och.common.module.manager.devicemanage
|
||||
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.LightStatus
|
||||
|
||||
interface LightAirconditionDoorCallback {
|
||||
|
||||
fun onAirconditionStatusCallback(heaterIsOpen: Boolean, airconditionStatus: AirconditionStatus,
|
||||
isFirst: Boolean) {
|
||||
}
|
||||
|
||||
fun onHeaterStatusCallback(airconditionIsOpen: Boolean, heaterStatue: HeaterStatue,
|
||||
isFirst: Boolean) {
|
||||
}
|
||||
|
||||
fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) {}
|
||||
|
||||
fun onLightTop1Callback(lightStatus: LightStatus, isFirst: Boolean) {
|
||||
}
|
||||
|
||||
fun onLightTop2Callback(lightStatus: LightStatus, isFirst: Boolean) {}
|
||||
|
||||
fun onLightAtmosphereCallback(lightStatus: LightStatus, isFirst: Boolean) {}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.mogo.och.common.module.manager.devicemanage
|
||||
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
object LightAirconditionDoorManager {
|
||||
private const val TAG = "LightAirconditionDoorManager"
|
||||
|
||||
private var dooorSubscribe: Disposable? = null
|
||||
private var doorStatusSubscribe: Disposable? = null
|
||||
|
||||
fun go2OpenDoor(isOpen:Boolean){
|
||||
val canOpenOrCloseDoor = canOpenOrCloseDoor()
|
||||
if(!canOpenOrCloseDoor.isNullOrBlank()){
|
||||
ToastUtils.showShort(canOpenOrCloseDoor)
|
||||
return
|
||||
}
|
||||
RxUtils.disposeSubscribe(dooorSubscribe)
|
||||
dooorSubscribe = RxUtils.createSubscribe(1000) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0)
|
||||
}
|
||||
if(isOpen) {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1)
|
||||
}else{
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2)
|
||||
}
|
||||
RxUtils.disposeSubscribe(doorStatusSubscribe)
|
||||
doorStatusSubscribe = RxUtils.createSubscribe(6000) {
|
||||
if (LightAirconditionDoorStatusManager.doorStatus.isOpen) {
|
||||
ToastUtils.showShort("车门无法关闭,请使用车内物理按钮")
|
||||
}else{
|
||||
ToastUtils.showShort("车门无法开启,请使用车内物理按钮")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun canOpenOrCloseDoor(): String? {
|
||||
val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02()
|
||||
return if(location.gnssSpeed<0.01){
|
||||
null
|
||||
}else{
|
||||
"车辆正在运行、请稍后再试"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.mogo.och.common.module.manager
|
||||
package com.mogo.och.common.module.manager.devicemanage
|
||||
|
||||
import chassis.VehicleStateOuterClass
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoRoboBusJinlvM1StatesListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StatesListenerManager
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.DoorStatus
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.LightStatus
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener {
|
||||
object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener {
|
||||
private const val TAG = "OCHM1LightAirconditionDoorStatusManager"
|
||||
|
||||
init {
|
||||
@@ -13,7 +17,7 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen
|
||||
CallerRoboBusJinlvM1StatesListenerManager.setListenerHz(TAG,5)
|
||||
}
|
||||
|
||||
val M_LISTENERS: ConcurrentHashMap<String, OCHM1LightAirconditionDoorCallback> =
|
||||
val M_LISTENERS: ConcurrentHashMap<String, LightAirconditionDoorCallback> =
|
||||
ConcurrentHashMap()
|
||||
|
||||
val airconditionStatus = AirconditionStatus(false, 0, 26, 2)
|
||||
@@ -23,7 +27,7 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen
|
||||
|
||||
fun addListener(
|
||||
tag: String,
|
||||
listener: OCHM1LightAirconditionDoorCallback
|
||||
listener: LightAirconditionDoorCallback
|
||||
) {
|
||||
if (M_LISTENERS.containsKey(tag)) {
|
||||
return
|
||||
@@ -47,7 +51,7 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen
|
||||
* 删除监听
|
||||
* @param listener 要删除的监听对象
|
||||
*/
|
||||
fun removeListener(listener: OCHM1LightAirconditionDoorCallback) {
|
||||
fun removeListener(listener: LightAirconditionDoorCallback) {
|
||||
if (!M_LISTENERS.containsValue(listener)) {
|
||||
return
|
||||
}
|
||||
@@ -58,36 +62,6 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
interface OCHM1LightAirconditionDoorCallback {
|
||||
|
||||
fun onAirconditionStatusCallback(heaterIsOpen:Boolean,airconditionStatus: AirconditionStatus,isFirst: Boolean){}
|
||||
|
||||
fun onHeaterStatusCallback(airconditionIsOpen: Boolean,heaterStatue: HeaterStatue,isFirst: Boolean){}
|
||||
|
||||
fun onDoorStatusCallback(isOpen: Boolean,isFirst: Boolean){}
|
||||
|
||||
fun onLightTop1Callback(lightStatus: LightStatus,isFirst: Boolean){}
|
||||
fun onLightTop2Callback(lightStatus: LightStatus,isFirst: Boolean){}
|
||||
fun onLightAtmosphereCallback(lightStatus: LightStatus,isFirst: Boolean){}
|
||||
|
||||
}
|
||||
|
||||
data class AirconditionStatus(
|
||||
var isOpen: Boolean,
|
||||
var pattert: Int,
|
||||
var temperature: Int,
|
||||
var windSpeed: Int
|
||||
)
|
||||
|
||||
data class HeaterStatue(var isOpen: Boolean, var windSpeed: Int)
|
||||
data class DoorStatus(var isOpen: Boolean)
|
||||
data class LightStatus(
|
||||
var isOpenLight1: Boolean,
|
||||
var isOpenLight2: Boolean,
|
||||
var isOpenatmosphere: Boolean
|
||||
)
|
||||
|
||||
override fun onRoboBusJinlvM1States(states: VehicleStateOuterClass.RoboBusJinlvM1State) {
|
||||
val airConditionerState = states.airConditionerState
|
||||
val heaterState = states.heaterState
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.mogo.och.common.module.manager.devicemanage.data
|
||||
|
||||
data class AirconditionStatus(
|
||||
var isOpen: Boolean,
|
||||
var pattert: Int,
|
||||
var temperature: Int,
|
||||
var windSpeed: Int
|
||||
)
|
||||
@@ -0,0 +1,3 @@
|
||||
package com.mogo.och.common.module.manager.devicemanage.data
|
||||
|
||||
data class DoorStatus(var isOpen: Boolean)
|
||||
@@ -0,0 +1,3 @@
|
||||
package com.mogo.och.common.module.manager.devicemanage.data
|
||||
|
||||
data class HeaterStatue(var isOpen: Boolean, var windSpeed: Int)
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.mogo.och.common.module.manager.devicemanage.data
|
||||
|
||||
data class LightStatus(
|
||||
var isOpenLight1: Boolean,
|
||||
var isOpenLight2: Boolean,
|
||||
var isOpenatmosphere: Boolean
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.bus.passenger.utils
|
||||
package com.mogo.och.common.module.utils
|
||||
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
Reference in New Issue
Block a user