[6.3.0]
[包车 播放音乐和订单关联起来]
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
package com.mogo.och.charter.passenger.model
|
||||
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.TAG
|
||||
import com.mogo.och.common.module.manager.auditionmanager.AuditionManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
object MusicModel : IMoGoAutopilotStatusListener, IOrderStatusChangeListener {
|
||||
init {
|
||||
CharterPassengerModel.setStatusChangeListener(TAG,this)
|
||||
//自动驾驶状态监听
|
||||
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
private var stopMusicDisposable: Disposable? = null
|
||||
|
||||
private const val startMusicWithOrderKey = "STARTMUSICWITHORDER"
|
||||
|
||||
|
||||
override fun onAutopilotStatusResponse(state: Int) {
|
||||
if(state==IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
|
||||
val string = SharedPrefsMgr.getInstance().getString(startMusicWithOrderKey)
|
||||
CharterPassengerModel.getCurrentOrderInfo()?.orderNo
|
||||
if (string == null) {
|
||||
CharterPassengerModel.getCurrentOrderInfo()?.let {
|
||||
RxUtils.disposeSubscribe(stopMusicDisposable)
|
||||
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
|
||||
AuditionManager.playFirst()
|
||||
}
|
||||
} else {
|
||||
CharterPassengerModel.getCurrentOrderInfo()?.let {
|
||||
if (it.orderNo != string) {
|
||||
RxUtils.disposeSubscribe(stopMusicDisposable)
|
||||
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
|
||||
AuditionManager.playFirst()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun load() {
|
||||
|
||||
}
|
||||
|
||||
override fun onStatusChange(currentStatus: OrderStatusEnum) {
|
||||
when (currentStatus) {
|
||||
OrderStatusEnum.NoOrderUse -> {
|
||||
CharterPassengerModel.getCurrentOrderInfo()?.let {
|
||||
RxUtils.disposeSubscribe(stopMusicDisposable)
|
||||
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
|
||||
AuditionManager.playFirst()
|
||||
}
|
||||
}
|
||||
else ->{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,18 +1,7 @@
|
||||
package com.mogo.och.charter.passenger.ui.music
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
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.UiThreadHandler
|
||||
import com.mogo.och.common.module.wigets.toast.ToastCharterUtils
|
||||
import com.mogo.och.common.module.manager.devicemanage.callback.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 com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
import com.mogo.och.charter.passenger.model.MusicModel
|
||||
|
||||
class MusicControlViewModel : ViewModel() {
|
||||
|
||||
@@ -22,7 +11,7 @@ class MusicControlViewModel : ViewModel() {
|
||||
|
||||
|
||||
init {
|
||||
|
||||
MusicModel.load()
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
|
||||
@@ -56,20 +56,22 @@ object MusicModel : OrderListener, IMoGoAutopilotStatusListener {
|
||||
}
|
||||
}
|
||||
override fun onAutopilotStatusResponse(state: Int) {
|
||||
val string = SharedPrefsMgr.getInstance().getString(startMusicWithOrderKey)
|
||||
if(string==null){
|
||||
orderInfo?.let {
|
||||
RxUtils.disposeSubscribe(stopMusicDisposable)
|
||||
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
|
||||
AuditionManager.playFirst()
|
||||
}
|
||||
}else{
|
||||
orderInfo?.let {
|
||||
if (it.orderNo!=string) {
|
||||
if(state==IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
|
||||
val string = SharedPrefsMgr.getInstance().getString(startMusicWithOrderKey)
|
||||
if (string == null) {
|
||||
orderInfo?.let {
|
||||
RxUtils.disposeSubscribe(stopMusicDisposable)
|
||||
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
|
||||
AuditionManager.playFirst()
|
||||
}
|
||||
} else {
|
||||
orderInfo?.let {
|
||||
if (it.orderNo != string) {
|
||||
RxUtils.disposeSubscribe(stopMusicDisposable)
|
||||
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
|
||||
AuditionManager.playFirst()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user