Fixed some Playing queue crashes

This commit is contained in:
Prathamesh More 2022-03-25 21:43:09 +05:30
parent dc41fe509b
commit d3597d123d

View file

@ -96,6 +96,7 @@ import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.transition.Transition import com.bumptech.glide.request.transition.Transition
import org.koin.java.KoinJavaComponent.get import org.koin.java.KoinJavaComponent.get
import java.util.* import java.util.*
import kotlin.collections.ArrayList
/** /**
* @author Karim Abou Zeid (kabouzeid), Andrew Neal. Modified by Prathamesh More * @author Karim Abou Zeid (kabouzeid), Andrew Neal. Modified by Prathamesh More
@ -175,10 +176,10 @@ class MusicService : MediaBrowserServiceCompat(),
private lateinit var mediaStoreObserver: ContentObserver private lateinit var mediaStoreObserver: ContentObserver
private var musicPlayerHandlerThread: HandlerThread? = null private var musicPlayerHandlerThread: HandlerThread? = null
private var notHandledMetaChangedForCurrentTrack = false private var notHandledMetaChangedForCurrentTrack = false
private var originalPlayingQueue = mutableListOf<Song>() private var originalPlayingQueue = ArrayList<Song>()
@JvmField @JvmField
var playingQueue = mutableListOf<Song>() var playingQueue = ArrayList<Song>()
var isPausedByTransientLossOfFocus = false var isPausedByTransientLossOfFocus = false
private val becomingNoisyReceiver: BroadcastReceiver = object : BroadcastReceiver() { private val becomingNoisyReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
@ -1037,8 +1038,8 @@ class MusicService : MediaBrowserServiceCompat(),
SAVED_POSITION_IN_TRACK, -1 SAVED_POSITION_IN_TRACK, -1
) )
if (restoredQueue.size > 0 && restoredQueue.size == restoredOriginalQueue.size && restoredPosition != -1) { if (restoredQueue.size > 0 && restoredQueue.size == restoredOriginalQueue.size && restoredPosition != -1) {
originalPlayingQueue = restoredOriginalQueue originalPlayingQueue = ArrayList(restoredOriginalQueue)
playingQueue = restoredQueue playingQueue = ArrayList(restoredQueue)
position = restoredPosition position = restoredPosition
openCurrent() openCurrent()
prepareNext() prepareNext()