[v630] fix: taxi乘客屏开启行程启动自驾后播放音乐不能自动播放下一首及UI处理问题;
This commit is contained in:
@@ -35,7 +35,7 @@ import kotlinx.android.synthetic.main.charter_p_music_playing.view.tv_tag
|
||||
|
||||
class MusicPlayingView : ConstraintLayout, MusicPlayingViewModel.IMusicPlayingViewCallback {
|
||||
|
||||
private val TAG = "ItineraryView"
|
||||
private val TAG = "MusicPlayingView"
|
||||
|
||||
constructor(context: Context) : super(context)
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.animation.LinearInterpolator
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.bumptech.glide.request.target.SimpleTarget
|
||||
@@ -20,6 +22,7 @@ import com.mogo.och.common.module.manager.auditionmanager.AuditionManager
|
||||
import com.mogo.och.common.module.manager.auditionmanager.MusicData
|
||||
import com.mogo.och.common.module.manager.auditionmanager.PlayState
|
||||
import com.mogo.och.taxi.passenger.common.R
|
||||
import com.mogo.och.taxi.passenger.ui.music.playing.MusicPlayingViewModel
|
||||
import kotlinx.android.synthetic.main.taxi_p_rightbar.view.aciv_playing_bg
|
||||
import kotlinx.android.synthetic.main.taxi_p_rightbar.view.ck_music
|
||||
import kotlinx.android.synthetic.main.taxi_p_rightbar.view.ck_setting
|
||||
@@ -145,6 +148,15 @@ class RightBarView : ConstraintLayout, AuditionManager.MusicDataChangeListener {
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
// RightBarView启动的时候必须把MusicPlayingViewModel初始化了,否则和AuditionManager的回掉及逻辑会有问题
|
||||
try {
|
||||
val musicPlayingViewModel = findViewTreeViewModelStoreOwner()?.let {
|
||||
ViewModelProvider(it).get(MusicPlayingViewModel::class.java)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
CallerLogger.e(TAG, e)
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
|
||||
@@ -15,17 +15,17 @@ class MusicPlayingViewModel : ViewModel(), AuditionManager.MusicDataChangeListen
|
||||
private var checkMusicData:MusicData?=null
|
||||
|
||||
init {
|
||||
|
||||
AuditionManager.addDataChangeListener(TAG,this)
|
||||
}
|
||||
|
||||
fun setDistanceCallback(viewCallback: IMusicPlayingViewCallback) {
|
||||
this.viewCallback = viewCallback
|
||||
AuditionManager.addDataChangeListener(TAG,this)
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
super.onCleared()
|
||||
this.viewCallback = null
|
||||
AuditionManager.removeDataChangeListener(TAG)
|
||||
}
|
||||
|
||||
fun setMusicData(musicData: MusicData?) {
|
||||
|
||||
Reference in New Issue
Block a user