diff --git a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt index fa19e1430f..8ebfca820b 100644 --- a/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt +++ b/OCH/taxi/pcommon/src/main/java/com/mogo/och/taxi/passenger/ui/model/music/MusicModel.kt @@ -29,25 +29,25 @@ object MusicModel : OrderListener, IMoGoAutopilotStatusListener { order?.orderStatus?.let { when (TaxiPassengerOrderStatusEnum.valueOf(it)) { TaxiPassengerOrderStatusEnum.None -> { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() } TaxiPassengerOrderStatusEnum.OnTheWayToStart -> { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() } TaxiPassengerOrderStatusEnum.ArriveAtStart -> { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() } TaxiPassengerOrderStatusEnum.UserArriveAtStart -> {} TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> {} TaxiPassengerOrderStatusEnum.ArriveAtEnd -> {} TaxiPassengerOrderStatusEnum.JourneyCompleted -> { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() stopMusicDisposable = RxUtils.createSubscribe(60_000) { AuditionManager.stop() } } TaxiPassengerOrderStatusEnum.Cancel -> { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() stopMusicDisposable = RxUtils.createSubscribe(60_000) { AuditionManager.stop() } @@ -60,14 +60,14 @@ object MusicModel : OrderListener, IMoGoAutopilotStatusListener { val string = SharedPrefsMgr.getInstance().getString(startMusicWithOrderKey) if (string == null) { orderInfo?.let { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo) AuditionManager.playFirst() } } else { orderInfo?.let { if (it.orderNo != string) { - RxUtils.disposeSubscribe(stopMusicDisposable) + cancelStopMusicDisposable() SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo) AuditionManager.playFirst() } @@ -76,6 +76,14 @@ object MusicModel : OrderListener, IMoGoAutopilotStatusListener { } } + private fun cancelStopMusicDisposable() { + if (stopMusicDisposable != null) { + AuditionManager.stop() + } + RxUtils.disposeSubscribe(stopMusicDisposable) + stopMusicDisposable = null + } + fun load() { }