DD3Boh / OuterTune

A Material 3 Music Player with YouTube Music support for Android. Forked from InnerTune
GNU General Public License v3.0
216 stars 12 forks source link

Playlists with lots of songs display as having only 1 song #11

Open ixhbinphoenix opened 3 months ago

ixhbinphoenix commented 3 months ago

Checklist

Steps to reproduce the bug

  1. Like a playlist with a ton of songs (in my case, 1880)
  2. Open your library
  3. See that the playlist seemingly only has 1 song
  4. Open the playlist and see that this is obviously not the case

Expected behavior

The library should show the actual amount of 1880 songs

Actual behavior

The library shows only 1 song

Screenshots/Screen recordings

Screenshot_20240624_161529 Screenshot_20240624_160603

Logs

Late-enabling -Xcheck:jni
Using CollectorTypeCMC GC.
Load libframework-connectivity-tiramisu-jni.so using APEX ns com_android_tethering for caller /apex/com.android.tethering/javalib/framework-connectivity-t.jar: ok
Compat change id reported: 171979766; UID 10220; state: ENABLED
Compat change id reported: 242716250; UID 10220; state: ENABLED
Configuring clns-4 for other apk /system/framework/org.apache.http.legacy.jar. target_sdk_version=34, uses_libraries=ALL, library_path=/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/lib/arm64:/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.dd3boh.outertune.debug
Extending system_exposed_libraries: libedgetpu_dba.google.so
Unable to open '/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/base.dm': No such file or directory
Unable to open '/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/base.dm': No such file or directory
Configuring clns-5 for other apk /data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/lib/arm64:/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.dd3boh.outertune.debug
Currently set values for:
  angle_gl_driver_selection_pkgs=[com.android.angle, com.linecorp.b612.android, com.campmobile.snow, com.google.android.apps.tachyon]
  angle_gl_driver_selection_values=[angle, native, native, native]
com.dd3boh.outertune.debug is not listed in per-application setting
Neither updatable production driver nor prerelease driver is supported.
Compat change id reported: 279646685; UID 10220; state: DISABLED
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
searching for layers in '/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/lib/arm64'
searching for layers in '/data/app/~~OYyFZS0LzoxPCs2gf8mdlQ==/com.dd3boh.outertune.debug-w2N7RnG1lCYq8JZ7Vb0G5Q==/base.apk!/lib/arm64-v8a'
tagSocket(91) with statsTag=0xffffffff, statsUid=-1
Compat change id reported: 237531167; UID 10220; state: DISABLED
Method boolean androidx.compose.runtime.snapshots.SnapshotStateList.conditionalUpdate(boolean, kotlin.jvm.functions.Function1) failed lock verification and will run slower.
Common causes for lock verification issues are non-optimized dex code
and incorrect proguard optimizations.
Method boolean androidx.compose.runtime.snapshots.SnapshotStateList.conditionalUpdate$default(androidx.compose.runtime.snapshots.SnapshotStateList, boolean, kotlin.jvm.functions.Function1, int, java.lang.Object) failed lock verification and will run slower.
Method java.lang.Object androidx.compose.runtime.snapshots.SnapshotStateList.mutate(kotlin.jvm.functions.Function1) failed lock verification and will run slower.
Method void androidx.compose.runtime.snapshots.SnapshotStateList.update(boolean, kotlin.jvm.functions.Function1) failed lock verification and will run slower.
Method void androidx.compose.runtime.snapshots.SnapshotStateList.update$default(androidx.compose.runtime.snapshots.SnapshotStateList, boolean, kotlin.jvm.functions.Function1, int, java.lang.Object) failed lock verification and will run slower.
Error opening trace file: No such file or directory (2)
Davey! duration=732ms; Flags=1, FrameTimelineVsyncId=35798406, IntendedVsync=334701287450060, Vsync=334701570689916, InputEventId=0, HandleInputStart=334701582539036, AnimationStart=334701582542820, PerformTraversalsStart=334701582657485, DrawStart=334701951901056, FrameDeadline=334701304050060, FrameInterval=334701582357070, FrameStartTime=16661168, SyncQueued=334701960980320, SyncStart=334701968496515, IssueDrawCommandsStart=334701968585545, SwapBuffers=334702024609918, FrameCompleted=334702027882868, DequeueBufferDuration=11719, QueueBufferDuration=1932414, GpuCompleted=334702025304132, SwapBuffersCompleted=334702027882868, DisplayPresentTime=0, CommandSubmissionCompleted=334702024609918, 
Init 106e7b6 [AndroidXMedia3/1.3.1] [lynx, Pixel 7a, Google, 34]
Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (unsupported, reflection, allowed)
Compat change id reported: 160794467; UID 10220; state: ENABLED
Couldn't find a unique registered media button receiver in the given context.
Skipped 36 frames!  The application may be doing too much work on its main thread.
Compat change id reported: 289878283; UID 10220; state: ENABLED
Davey! duration=748ms; Flags=0, FrameTimelineVsyncId=35798429, IntendedVsync=334701604004079, Vsync=334702203800547, InputEventId=0, HandleInputStart=334702210040827, AnimationStart=334702210045018, PerformTraversalsStart=334702262894464, DrawStart=334702335452895, FrameDeadline=334702053802620, FrameInterval=334702209761448, FrameStartTime=16661013, SyncQueued=334702339873957, SyncStart=334702339925430, IssueDrawCommandsStart=334702340099461, SwapBuffers=334702351985976, FrameCompleted=334702352476862, DequeueBufferDuration=14608, QueueBufferDuration=255046, GpuCompleted=334702352476862, SwapBuffersCompleted=334702352366551, DisplayPresentTime=0, CommandSubmissionCompleted=334702351985976, 
Compat change id reported: 171228096; UID 10220; state: ENABLED
Skipped 30 frames!  The application may be doing too much work on its main thread.
tagSocket(144) with statsTag=0xffffffff, statsUid=-1
tagSocket(153) with statsTag=0xffffffff, statsUid=-1
tagSocket(152) with statsTag=0xffffffff, statsUid=-1
Compat change id reported: 78294732; UID 10220; state: ENABLED
Installing profile for com.dd3boh.outertune.debug
Owner FocusChanged(true)
OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
show(ime(), fromIme=false)
com.dd3boh.outertune.debug:f20622b0: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT_BY_INSETS_API fromUser false
showSoftInput() view=androidx.compose.ui.platform.AndroidComposeView{6631dc0 VFED..... .F....ID 0,0-1080,2400 aid=1073741824} flags=0 reason=SHOW_SOFT_INPUT_BY_INSETS_API
requestCursorUpdates on inactive InputConnection
show(ime(), fromIme=true)
Initializing without READ_DEVICE_CONFIG permission. enabled=false, interval=1, missedFrameThreshold=3, frameTimeThreshold=64, package=com.dd3boh.outertune.debug
com.dd3boh.outertune.debug:f20622b0: onShown
A resource failed to call AbstractCursor.close. 
Method java.lang.Object androidx.compose.runtime.snapshots.SnapshotStateMap.mutate(kotlin.jvm.functions.Function1) failed lock verification and will run slower.
Method void androidx.compose.runtime.snapshots.SnapshotStateMap.update(kotlin.jvm.functions.Function1) failed lock verification and will run slower.
Method boolean androidx.compose.runtime.snapshots.SnapshotStateMap.removeIf$runtime_release(kotlin.jvm.functions.Function1) failed lock verification and will run slower.
hide(ime(), fromIme=false)
com.dd3boh.outertune.debug:472da362: onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT_BY_INSETS_API fromUser false
com.dd3boh.outertune.debug:dae8a8da: onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT_REQUEST_HIDE_WITH_CONTROL fromUser false
sendCancelIfRunning: isInProgress=falsecallback=ImeCallback=ImeOnBackInvokedCallback@138269167 Callback=android.window.IOnBackInvokedCallback$Stub$Proxy@1fb6be2
hide(ime(), fromIme=true)
com.dd3boh.outertune.debug:dae8a8da: onCancelled at PHASE_CLIENT_APPLY_ANIMATION
com.dd3boh.outertune.debug:48f910c7: onRequestHide at ORIGIN_CLIENT reason HIDE_SOFT_INPUT_ON_ANIMATION_STATE_CHANGED fromUser false
com.dd3boh.outertune.debug:472da362: onHidden
tagSocket(69) with statsTag=0xffffffff, statsUid=-1
tagSocket(179) with statsTag=0xffffffff, statsUid=-1
tagSocket(141) with statsTag=0xffffffff, statsUid=-1
tagSocket(142) with statsTag=0xffffffff, statsUid=-1
tagSocket(181) with statsTag=0xffffffff, statsUid=-1
tagSocket(183) with statsTag=0xffffffff, statsUid=-1
tagSocket(184) with statsTag=0xffffffff, statsUid=-1
tagSocket(186) with statsTag=0xffffffff, statsUid=-1
tagSocket(187) with statsTag=0xffffffff, statsUid=-1
tagSocket(180) with statsTag=0xffffffff, statsUid=-1
tagSocket(199) with statsTag=0xffffffff, statsUid=-1
tagSocket(198) with statsTag=0xffffffff, statsUid=-1
tagSocket(185) with statsTag=0xffffffff, statsUid=-1
tagSocket(189) with statsTag=0xffffffff, statsUid=-1
tagSocket(203) with statsTag=0xffffffff, statsUid=-1
tagSocket(69) with statsTag=0xffffffff, statsUid=-1
Davey! duration=837ms; Flags=0, FrameTimelineVsyncId=35814031, IntendedVsync=334736439872177, Vsync=334736923012989, InputEventId=0, HandleInputStart=334736930368480, AnimationStart=334736930371736, PerformTraversalsStart=334737252638581, DrawStart=334737252731151, FrameDeadline=334736956269088, FrameInterval=334736929633007, FrameStartTime=16660028, SyncQueued=334737273093619, SyncStart=334737273383332, IssueDrawCommandsStart=334737273860505, SwapBuffers=334737275797476, FrameCompleted=334737278084830, DequeueBufferDuration=25310, QueueBufferDuration=372559, GpuCompleted=334737278084830, SwapBuffersCompleted=334737276276806, DisplayPresentTime=334727887605333, CommandSubmissionCompleted=334737275797476, 
OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
visibilityChanged oldVisibility=true newVisibility=false
OnBackInvokedCallback is not enabled for the application.
Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
visibilityChanged oldVisibility=true newVisibility=false

OuterTune version

0.5.3 (latest dev commit)

Android version

Android 14 (GrapheneOS)

Additional information

This does not happen in (the latest, but very old) InnerTune

mikooomich commented 2 months ago

Hi. How many songs does the playlist itself show for you? Anywhere close to the 1.8k?

ixhbinphoenix commented 2 months ago

Hey, The playlist within OuterTune shows the same songs as youtube and InnerTune, just the number indicating the amount of songs is wrong. Not sure how relevant this is, but youtube reports the playlist to have 1887 videos, while in reality it only contains 1834 videos, since videos were taken down after they were added. This has never been a problem before tho.

ixhbinphoenix commented 2 months ago

Oh, one thing to note that I just found out while testing: This issue only occurs in playlists from your own YT Music library. If I search for the playlist and like it to add it to my library, it displays a (still incorrect, but different) count of 1842 videos. This is not an issue with other playlists where I'm the sole editor tho, where the song count is completely correct. This could also be related to me not being the actual owner of the playlist and me just being added as an editor afterwards.