Closed 4QFBI closed 1 year ago
My Android build... Just downloaded from Fdroid today.
I love this!!! Thank you Talo!!!
Thanks for the report, this was already fixed in fe730c73260dab98f7e432aa859f7fc133bf3d6a. You can try the fix before the next release by downloading a build from the repo actions.
Thanks Talo!!! It works... So much better than unfree Spotify and the rather intrusive ads.
Once I click the note in the upper right corner. Then...
Then if I click the shuffle button... This happens.
---STACK TRACE--- java.lang.UnsupportedOperationException: Property 'CustomImageUrl' cannot be read from. Local playlist must be loaded from file into a LocalPlaylistData. at com.toasterofbread.spmp.model.mediaitem.UnsupportedPropertyRememberer.onRead(Unknown Source:49) at com.toasterofbread.spmp.model.mediaitem.PropertyRememberer$rememberSingleQueryProperty$2$1.invoke(SourceFile:1) at com.toasterofbread.spmp.model.mediaitem.PropertyRememberer$rememberSingleQueryProperty$2$1.invoke(SourceFile:2) at com.toasterofbread.spmp.model.mediaitem.db.PropertyImpl.observe(SourceFile:38) at com.toasterofbread.spmp.ui.component.MediaItemThumbnailKt.Thumbnail(SourceFile:15) at com.toasterofbread.spmp.ui.component.mediaitempreview.MediaItemPreviewKt.MediaItemPreviewLong-1ykzHlg(SourceFile:39) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.CurrentRadioIndicatorKt$CurrentRadioIndicator$2$2.invoke(SourceFile:30) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.CurrentRadioIndicatorKt$CurrentRadioIndicator$2$2.invoke(SourceFile:1) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:3) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:11) at androidx.compose.animation.CrossfadeKt$Crossfade$5$1.invoke(SourceFile:61) at androidx.compose.animation.CrossfadeKt$Crossfade$5$1.invoke(SourceFile:14) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:7) at okio.Utf8.Crossfade(SourceFile:42) at okio.Utf8.Crossfade(SourceFile:63) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.CurrentRadioIndicatorKt.CurrentRadioIndicator(SourceFile:368) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$4.invoke(SourceFile:32) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$4.invoke(SourceFile:1) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:7) at coil.util.-Logs.CompositionLocalProvider(SourceFile:182) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt.QueueTab-Kz89ssw(SourceFile:752) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$5.invoke(SourceFile:2) at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$5.invoke(SourceFile:1) at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(SourceFile:285) at androidx.compose.runtime.ComposerImpl.skipToGroupEnd(SourceFile:34) at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt.NowPlayingCardContent--orJrPs(SourceFile:81) at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt.access$NowPlayingCardContent--orJrPs(Unknown Source:0) at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2$9$3.invoke(SourceFile:20) at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2$9$3.invoke(SourceFile:1) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:7) at coil.util.-Logs.CompositionLocalProvider(SourceFile:182) at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2.invoke(SourceFile:80) at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2.invoke(SourceFile:1) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:3) at androidx.compose.foundation.CanvasKt$Canvas$1.invoke(SourceFile:26) at androidx.compose.foundation.CanvasKt$Canvas$1.invoke(SourceFile:4) at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(SourceFile:285) at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(SourceFile:58) at androidx.compose.runtime.ComposerImpl.doCompose(SourceFile:167) at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(SourceFile:36) at androidx.compose.runtime.CompositionImpl.recompose(SourceFile:18) at androidx.compose.runtime.Recomposer.access$performRecompose(SourceFile:96) at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(SourceFile:347) at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(Unknown Source:6) at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(SourceFile:48) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1054) at android.view.Choreographer.doCallbacks(Choreographer.java:878) at android.view.Choreographer.doFrame(Choreographer.java:807) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1041) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7725) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@cd7072f, androidx.compose.ui.platform.MotionDurationScaleImpl@918913c, StandaloneCoroutine{Cancelling}@c1e4ec5, AndroidUiDispatcher@645c01a]
---LOGCAT (last 158 lines)--- --------- beginning of main 10-25 20:25:55.384 2845 2868 I OpenGLRenderer: Davey! duration=1093ms; Flags=0, IntendedVsync=87783667338871, Vsync=87784384005509, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=87784399360730, AnimationStart=87784399365730, PerformTraversalsStart=87784708745522, DrawStart=87784708849584, SyncQueued=87784751014428, SyncStart=87784751710470, IssueDrawCommandsStart=87784752734428, SwapBuffers=87784760120938, FrameCompleted=87784761929584, DequeueBufferDuration=536875, QueueBufferDuration=712812, GpuCompleted=0, 10-25 20:25:56.962 2845 2937 D BufferPoolAccessor2.0: bufferpool2 0x821f45d8 : 7(40320 size) total buffers - 4(23040 size) used buffers - 1/8 (recycle/alloc) - 7/98 (fetch/transfer) 10-25 20:25:56.963 2845 2937 D BufferPoolAccessor2.0: evictor expired: 1, evicted: 1 10-25 20:25:57.471 2845 2857 I terofbread.spm: Background young concurrent copying GC freed 161480(6840KB) AllocSpace objects, 50(2468KB) LOS objects, 17% free, 22MB/26MB, paused 324us total 147.833ms 10-25 20:25:57.814 2845 2845 I Choreographer: Skipped 36 frames! The application may be doing too much work on its main thread. 10-25 20:25:57.874 2845 2857 I terofbread.spm: Background concurrent copying GC freed 25924(962KB) AllocSpace objects, 39(1084KB) LOS objects, 44% free, 30MB/54MB, paused 1.345ms total 279.849ms 10-25 20:25:58.108 2845 2868 I OpenGLRenderer: Davey! duration=893ms; Flags=0, IntendedVsync=87786591781517, Vsync=87787191781493, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=87787192402448, AnimationStart=87787192407188, PerformTraversalsStart=87787405834583, DrawStart=87787405901458, SyncQueued=87787471076198, SyncStart=87787471877187, IssueDrawCommandsStart=87787472845885, SwapBuffers=87787480785885, FrameCompleted=87787485777083, DequeueBufferDuration=489532, QueueBufferDuration=1117344, GpuCompleted=0, 10-25 20:25:58.792 2845 2934 D CCodecBufferChannel: [c2.android.opus.decoder#339] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0 smoothness=4] 10-25 20:25:58.792 2845 2934 D PipelineWatcher: DEBUG: elapsed 0 / 4 10-25 20:26:00.110 2845 2857 I terofbread.spm: Background concurrent copying GC freed 245927(10MB) AllocSpace objects, 6(520KB) LOS objects, 34% free, 46MB/70MB, paused 163us total 266.685ms 10-25 20:26:00.961 2845 2857 I terofbread.spm: Background concurrent copying GC freed 33692(1187KB) AllocSpace objects, 11(31MB) LOS objects, 38% free, 38MB/62MB, paused 158us total 190.160ms 10-25 20:26:02.388 2845 2845 V MediaRouter: Audio routes updated: AudioRoutesInfo{ type=SPEAKER, bluetoothName=24HR TWS }, a2dp=true 10-25 20:26:02.390 2845 2845 V MediaRouter: Selecting route: RouteInfo{ name=24HR TWS, description=Bluetooth audio, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO , presentationDisplay=null } 10-25 20:26:02.545 2845 2933 D BufferPoolAccessor2.0: bufferpool2 0x821f45d8 : 4(23040 size) total buffers - 4(23040 size) used buffers - 1/8 (recycle/alloc) - 13/169 (fetch/transfer) 10-25 20:26:02.946 2845 2934 D CCodecBufferChannel: [c2.android.opus.decoder#339] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0 smoothness=4] 10-25 20:26:02.946 2845 2934 D PipelineWatcher: DEBUG: elapsed 0 / 4 10-25 20:26:06.814 2845 2934 D CCodecBufferChannel: [c2.android.opus.decoder#339] DEBUG: elapsed: n=4 [in=0 pipeline=0 out=0 smoothness=4] 10-25 20:26:06.814 2845 2934 D PipelineWatcher: DEBUG: elapsed 0 / 4 10-25 20:26:16.855 2845 2891 I SpMp : savePersistentQueue: Saved 30 songs with data PersistentQueueMetadata(song_index=7, position_ms=111026) 10-25 20:26:24.487 2845 2933 D CCodecBuffers: [c2.android.opus.decoder#339:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0 10-25 20:26:24.488 2845 2933 I CCodecConfig: query failed after returning 7 values (BAD_INDEX) 10-25 20:26:24.488 2845 2933 W Codec2Client: query -- param skipped: index = 1342179345. 10-25 20:26:24.489 2845 2933 W Codec2Client: query -- param skipped: index = 2415921170. 10-25 20:26:24.748 2845 2845 W System.err: java.lang.UnsupportedOperationException: Property 'CustomImageUrl' cannot be read from. Local playlist must be loaded from file into a LocalPlaylistData. 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.model.mediaitem.UnsupportedPropertyRememberer.onRead(Unknown Source:49) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.model.mediaitem.PropertyRememberer$rememberSingleQueryProperty$2$1.invoke(SourceFile:1) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.model.mediaitem.PropertyRememberer$rememberSingleQueryProperty$2$1.invoke(SourceFile:2) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.model.mediaitem.db.PropertyImpl.observe(SourceFile:38) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.ui.component.MediaItemThumbnailKt.Thumbnail(SourceFile:15) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.ui.component.mediaitempreview.MediaItemPreviewKt.MediaItemPreviewLong-1ykzHlg(SourceFile:39) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.CurrentRadioIndicatorKt$CurrentRadioIndicator$2$2.invoke(SourceFile:30) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.CurrentRadioIndicatorKt$CurrentRadioIndicator$2$2.invoke(SourceFile:1) 10-25 20:26:24.755 2845 2845 W System.err: at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:3) 10-25 20:26:24.755 2845 2845 W System.err: at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:11) 10-25 20:26:24.755 2845 2845 W System.err: at androidx.compose.animation.CrossfadeKt$Crossfade$5$1.invoke(SourceFile:61) 10-25 20:26:24.755 2845 2845 W System.err: at androidx.compose.animation.CrossfadeKt$Crossfade$5$1.invoke(SourceFile:14) 10-25 20:26:24.755 2845 2845 W System.err: at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:7) 10-25 20:26:24.755 2845 2845 W System.err: at okio.Utf8.Crossfade(SourceFile:42) 10-25 20:26:24.755 2845 2845 W System.err: at okio.Utf8.Crossfade(SourceFile:63) 10-25 20:26:24.755 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.CurrentRadioIndicatorKt.CurrentRadioIndicator(SourceFile:368) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$4.invoke(SourceFile:32) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$4.invoke(SourceFile:1) 10-25 20:26:24.756 2845 2845 W System.err: at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:7) 10-25 20:26:24.756 2845 2845 W System.err: at coil.util.-Logs.CompositionLocalProvider(SourceFile:182) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt.QueueTab-Kz89ssw(SourceFile:752) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$5.invoke(SourceFile:2) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.queue.NowPlayingQueueTabKt$QueueTab$5.invoke(SourceFile:1) 10-25 20:26:24.756 2845 2845 W System.err: at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(SourceFile:285) 10-25 20:26:24.756 2845 2845 W System.err: at androidx.compose.runtime.ComposerImpl.skipToGroupEnd(SourceFile:34) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt.NowPlayingCardContent--orJrPs(SourceFile:81) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt.access$NowPlayingCardContent--orJrPs(Unknown Source:0) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2$9$3.invoke(SourceFile:20) 10-25 20:26:24.756 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2$9$3.invoke(SourceFile:1) 10-25 20:26:24.756 2845 2845 W System.err: at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:7) 10-25 20:26:24.756 2845 2845 W System.err: at coil.util.-Logs.CompositionLocalProvider(SourceFile:182) 10-25 20:26:24.757 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2.invoke(SourceFile:80) 10-25 20:26:24.757 2845 2845 W System.err: at com.toasterofbread.spmp.ui.layout.nowplaying.NowPlayingKt$NowPlaying$2.invoke(SourceFile:1) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(SourceFile:3) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.foundation.CanvasKt$Canvas$1.invoke(SourceFile:26) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.foundation.CanvasKt$Canvas$1.invoke(SourceFile:4) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(SourceFile:285) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(SourceFile:58) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.ComposerImpl.doCompose(SourceFile:167) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(SourceFile:36) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.CompositionImpl.recompose(SourceFile:18) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.Recomposer.access$performRecompose(SourceFile:96) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(SourceFile:347) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(Unknown Source:6) 10-25 20:26:24.757 2845 2845 W System.err: at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(SourceFile:48) 10-25 20:26:24.757 2845 2845 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1054) 10-25 20:26:24.757 2845 2845 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:878) 10-25 20:26:24.757 2845 2845 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:807) 10-25 20:26:24.757 2845 2845 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1041) 10-25 20:26:24.757 2845 2845 W System.err: at android.os.Handler.handleCallback(Handler.java:938) 10-25 20:26:24.757 2845 2845 W System.err: at android.os.Handler.dispatchMessage(Handler.java:99) 10-25 20:26:24.757 2845 2845 W System.err: at android.os.Looper.loop(Looper.java:223) 10-25 20:26:24.757 2845 2845 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7725) 10-25 20:26:24.757 2845 2845 W System.err: at java.lang.reflect.Method.invoke(Native Method) 10-25 20:26:24.757 2845 2845 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 10-25 20:26:24.758 2845 2845 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952) 10-25 20:26:24.758 2845 2845 W System.err: Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@cd7072f, androidx.compose.ui.platform.MotionDurationScaleImpl@918913c, StandaloneCoroutine{Cancelling}@c1e4ec5, AndroidUiDispatcher@645c01a] 10-25 20:26:24.840 2845 2845 E SystemProperties: hookModelNameForImeIfNeeded xxxx1 key = debug.second-display.pkg 10-25 20:26:24.840 2845 2845 E SystemProperties: hookModelNameForImeIfNeeded xxxx2 10-25 20:26:24.840 2845 2845 E SystemProperties: hookModelNameForImeIfNeeded packageName is com.toasterofbread.spmp 10-25 20:26:24.854 2845 2888 I System.out: Retrieving logcat output... 10-25 20:26:24.875 2845 2845 E SystemProperties: hookModelNameForImeIfNeeded xxxx1 key = debug.layout 10-25 20:26:24.875 2845 2845 E SystemProperties: hookModelNameForImeIfNeeded xxxx2 10-25 20:26:24.875 2845 2845 E SystemProperties: hookModelNameForImeIfNeeded packageName is com.toasterofbread.spmp