[X] I've checked that there is no open or closed issue about this bug.
[X] This issue contains only one bug.
[X] The title of this issue accurately describes the bug.
Steps to reproduce
Close the app. First time after a session listening to music.
Open again the app and appears the next messages in notification.
Expected behavior
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1029)
at java.util.ArrayList$Itr.next(ArrayList.java:982)
at com.toasterofbread.spmp.platform.PlayerDownloadManager.onResultIntentReceived(SourceFile:155)
at com.toasterofbread.spmp.platform.PlayerDownloadManager.access$onResultIntentReceived(Unknown Source:0)
at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:2)
at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:1)
at com.toasterofbread.spmp.platform.PlatformServiceImpl.sendMessageOut(Unknown Source:18)
at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus(SourceFile:49)
at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus$default(Unknown Source:5)
at com.toasterofbread.spmp.PlayerDownloadService$Download.setStatus(Unknown Source:14)
at com.toasterofbread.spmp.PlayerDownloadService.performDownload_gIAlu_s$close(Unknown Source:9)
at com.toasterofbread.spmp.PlayerDownloadService.performDownload-gIAlu-s(SourceFile:433)
at com.toasterofbread.spmp.PlayerDownloadService.access$performDownload-gIAlu-s(Unknown Source:0)
at com.toasterofbread.spmp.PlayerDownloadService$startDownload$2$1.invokeSuspend(SourceFile:172)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
at kotlinx.coroutines.DispatchedTask.run(Unknown Source:107)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:159)
at coil.util.-Logs.runBlocking(SourceFile:99)
at coil.util.-Logs.runBlocking$default(SourceFile:3)
at com.toasterofbread.spmp.PlayerDownloadService.startDownload$lambda$7(Unknown Source:21)
at com.toasterofbread.spmp.PlayerDownloadService.$r8$lambda$b5sjCRHJviWGWxVq6E2DxOS0Wqs(SourceFile:1)
at com.toasterofbread.spmp.PlayerDownloadService$$ExternalSyntheticLambda1.run(SourceFile:1)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Actual behavior
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1029)
at java.util.ArrayList$Itr.next(ArrayList.java:982)
at com.toasterofbread.spmp.platform.PlayerDownloadManager.onResultIntentReceived(SourceFile:155)
at com.toasterofbread.spmp.platform.PlayerDownloadManager.access$onResultIntentReceived(Unknown Source:0)
at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:2)
at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:1)
at com.toasterofbread.spmp.platform.PlatformServiceImpl.sendMessageOut(Unknown Source:18)
at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus(SourceFile:49)
at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus$default(Unknown Source:5)
at com.toasterofbread.spmp.PlayerDownloadService$Download.setStatus(Unknown Source:14)
at com.toasterofbread.spmp.PlayerDownloadService.performDownload_gIAlu_s$close(Unknown Source:9)
at com.toasterofbread.spmp.PlayerDownloadService.performDownload-gIAlu-s(SourceFile:433)
at com.toasterofbread.spmp.PlayerDownloadService.access$performDownload-gIAlu-s(Unknown Source:0)
at com.toasterofbread.spmp.PlayerDownloadService$startDownload$2$1.invokeSuspend(SourceFile:172)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
at kotlinx.coroutines.DispatchedTask.run(Unknown Source:107)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:159)
at coil.util.-Logs.runBlocking(SourceFile:99)
at coil.util.-Logs.runBlocking$default(SourceFile:3)
at com.toasterofbread.spmp.PlayerDownloadService.startDownload$lambda$7(Unknown Source:21)
at com.toasterofbread.spmp.PlayerDownloadService.$r8$lambda$b5sjCRHJviWGWxVq6E2DxOS0Wqs(SourceFile:1)
at com.toasterofbread.spmp.PlayerDownloadService$$ExternalSyntheticLambda1.run(SourceFile:1)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Screenshots / recordings
No response
Logs
When I opened the app again after close, sometimes is a long period of time.
Checklist
Steps to reproduce
Expected behavior
java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1029) at java.util.ArrayList$Itr.next(ArrayList.java:982) at com.toasterofbread.spmp.platform.PlayerDownloadManager.onResultIntentReceived(SourceFile:155) at com.toasterofbread.spmp.platform.PlayerDownloadManager.access$onResultIntentReceived(Unknown Source:0) at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:2) at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:1) at com.toasterofbread.spmp.platform.PlatformServiceImpl.sendMessageOut(Unknown Source:18) at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus(SourceFile:49) at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus$default(Unknown Source:5) at com.toasterofbread.spmp.PlayerDownloadService$Download.setStatus(Unknown Source:14) at com.toasterofbread.spmp.PlayerDownloadService.performDownload_gIAlu_s$close(Unknown Source:9) at com.toasterofbread.spmp.PlayerDownloadService.performDownload-gIAlu-s(SourceFile:433) at com.toasterofbread.spmp.PlayerDownloadService.access$performDownload-gIAlu-s(Unknown Source:0) at com.toasterofbread.spmp.PlayerDownloadService$startDownload$2$1.invokeSuspend(SourceFile:172) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8) at kotlinx.coroutines.DispatchedTask.run(Unknown Source:107) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:159) at coil.util.-Logs.runBlocking(SourceFile:99) at coil.util.-Logs.runBlocking$default(SourceFile:3) at com.toasterofbread.spmp.PlayerDownloadService.startDownload$lambda$7(Unknown Source:21) at com.toasterofbread.spmp.PlayerDownloadService.$r8$lambda$b5sjCRHJviWGWxVq6E2DxOS0Wqs(SourceFile:1) at com.toasterofbread.spmp.PlayerDownloadService$$ExternalSyntheticLambda1.run(SourceFile:1) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) at java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)
Actual behavior
java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1029) at java.util.ArrayList$Itr.next(ArrayList.java:982) at com.toasterofbread.spmp.platform.PlayerDownloadManager.onResultIntentReceived(SourceFile:155) at com.toasterofbread.spmp.platform.PlayerDownloadManager.access$onResultIntentReceived(Unknown Source:0) at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:2) at com.toasterofbread.spmp.platform.PlayerDownloadManager$result_receiver$1.invoke(SourceFile:1) at com.toasterofbread.spmp.platform.PlatformServiceImpl.sendMessageOut(Unknown Source:18) at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus(SourceFile:49) at com.toasterofbread.spmp.PlayerDownloadService$Download.broadcastStatus$default(Unknown Source:5) at com.toasterofbread.spmp.PlayerDownloadService$Download.setStatus(Unknown Source:14) at com.toasterofbread.spmp.PlayerDownloadService.performDownload_gIAlu_s$close(Unknown Source:9) at com.toasterofbread.spmp.PlayerDownloadService.performDownload-gIAlu-s(SourceFile:433) at com.toasterofbread.spmp.PlayerDownloadService.access$performDownload-gIAlu-s(Unknown Source:0) at com.toasterofbread.spmp.PlayerDownloadService$startDownload$2$1.invokeSuspend(SourceFile:172) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8) at kotlinx.coroutines.DispatchedTask.run(Unknown Source:107) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(SourceFile:159) at coil.util.-Logs.runBlocking(SourceFile:99) at coil.util.-Logs.runBlocking$default(SourceFile:3) at com.toasterofbread.spmp.PlayerDownloadService.startDownload$lambda$7(Unknown Source:21) at com.toasterofbread.spmp.PlayerDownloadService.$r8$lambda$b5sjCRHJviWGWxVq6E2DxOS0Wqs(SourceFile:1) at com.toasterofbread.spmp.PlayerDownloadService$$ExternalSyntheticLambda1.run(SourceFile:1) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) at java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)
Screenshots / recordings
No response
Logs
When I opened the app again after close, sometimes is a long period of time.
SpMp version
0.2.3
Android version
Android 13
Additional information
No response