Opus icon indicating copy to clipboard operation
Opus copied to clipboard

App crashed when l clicked on the shuffle icon in the youtube playlist.

Open cckole opened this issue 5 years ago • 6 comments

Descriptions

After adding my YouTube playlist to the app as appropriate, I discovered it was added successfully. I then clicked on it to play a song, after which I clicked on shuffle icon. It was when I clicked on the shuffle that the app crashed. So in short, app crashed when I clicked on the shuffle icon in the YouTube playlist.

Steps to reproduce

Launch the app

  • First, you need to get your playlist URL from YouTube

  • Click on playlist. You will see that below by the right when you launch the app

  • Scroll down and Click on Add a playlist

  • Paste your copied YouTube playlist URL in the space provided and click okay

  • After your playlist has automatically synced, click on the youtube playlist to access the list of songs in it.

  • Click on the shuffle icon and note the crash

Expected behavior

When I clicked on the shuffle icon, I expected the songs in the playlist to be shuffled and play randomly as the feature is designed in the app. If the shuffle icon is clicked anywhere in the app, it fetches and play another song after which songs plays at random. That was exactly what I expected it to do in the YouTube playlist.

Reproducing the bug

2019_06_27_13_40_20

Device used

Tekno spark k7

Android 7.0

App version 3.4.2

Logcat

07-05 09:28:41.154 22919 22919 E AndroidRuntime: Process: com.sdg.opus, PID: 22919
07-05 09:28:41.154 22919 22919 E AndroidRuntime: android.runtime.JavaProxyThrowable: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
07-05 09:28:41.154 22919 22919 E AndroidRuntime: Parameter name: index
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at System.Collections.Generic.List`1[T].RemoveAt (System.Int32 index) [0x00009] in <30b38a2efd1f4f0c8d25a002ce490554>:0 
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at Opus.Api.PlaylistManager.Shuffle (System.String YoutubeID) [0x000d2] in <8724d86c569744239242f51546aeb685>:0 
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0 (System.Object state) [0x00000] in <30b38a2efd1f4f0c8d25a002ce490554>:0 
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at Android.App.SyncContext+<>c_DisplayClass2_0.<Post>b_0 () [0x00000] in <4e1cb06cabca41f5a7511b39bdc8b640>:0 
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <4e1cb06cabca41f5a7511b39bdc8b640>:0 
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <4e1cb06cabca41f5a7511b39bdc8b640>:0 
07-05 09:28:41.154 22919 22919 E AndroidRuntime:   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.83(intptr,intptr)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at mono.java.lang.RunnableImplementor.n_run(Native Method)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:1)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:836)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:103)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:203)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6251)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
07-05 09:28:41.154 22919 22919 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)```

cckole avatar Jun 27 '19 12:06 cckole

I can't reproduce the bug myself, I will need a logcat for this.

Thanks for your feedback!

zoriya avatar Jun 28 '19 20:06 zoriya

@anonymusRacoon, I've added the logcat you requested. Thanks.

cckole avatar Jul 05 '19 09:07 cckole

Ok, I figured why the app crashed. It's because I used a random track position to start playback and in order to speed up the process I used a random number before knowing the size of the playlist and forgot to check after that the playlist needed to be larger than my position. Oups.

Will be fixed in a few hours.

zoriya avatar Jul 05 '19 19:07 zoriya

That's great. WELL DONE.

cckole avatar Jul 05 '19 20:07 cckole

That's done, you can download the update right now.

zoriya avatar Jul 05 '19 20:07 zoriya

I WILL CHECK IT OUT NOW AND FEED YOU BACK

cckole avatar Jul 05 '19 20:07 cckole