vhaudiquet / blade-player

Android music player that plays from local library, Spotify or Deezer
GNU General Public License v3.0
67 stars 12 forks source link

Cannot establish connection to deezer #47

Open i-r-raccoon opened 3 years ago

i-r-raccoon commented 3 years ago

Device: Fairphone3 OS: /e/OS Q (Android 10)

When trying to connect to deezer the app crashes after I put in my credentials.

05-06 21:28:15.411  8128  8128 I chromium: [INFO:CONSOLE(2)] "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.", source: https://e-cdns-files.dzcdn.net/cache/js/legacy.a392d93c330815648fa5.js (2)
05-06 21:28:16.249  2827  2827 D NotificationRepository: updateNotification() called with: list = [4]
--------- beginning of crash
05-06 21:28:16.546  8128  9426 E AndroidRuntime: FATAL EXCEPTION: AsyncDeezerRequest_279742
05-06 21:28:16.546  8128  9426 E AndroidRuntime: Process: v.blade, PID: 8128
05-06 21:28:16.546  8128  9426 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/utils/URLEncodedUtils;
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    at com.deezer.sdk.network.b.ClassicRock.accordion(Unknown Source:28)
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    at com.deezer.sdk.network.connect.DeezerConnect.requestSync(Unknown Source:120)
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    at com.deezer.sdk.network.connect.DeezerConnect$Country.run(Unknown Source:10)
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:919)
05-06 21:28:16.546  8128  9426 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: org.apache.http.client.utils.URLEncodedUtils
05-06 21:28:16.546  8128  9426 E AndroidRuntime:    ... 6 more
05-06 21:28:16.582  1582  1600 W ActivityTaskManager:   Force finishing activity v.blade/.ui.settings.SourcesActivity
05-06 21:28:16.583  1582  9428 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
05-06 21:28:16.614  8128  9426 I Process : Sending signal. PID: 8128 SIG: 9
05-06 21:28:16.785  1582  1684 W InputDispatcher: channel '36922b6 v.blade/v.blade.ui.settings.SourcesActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
05-06 21:28:16.785  1582  1684 E InputDispatcher: channel '36922b6 v.blade/v.blade.ui.settings.SourcesActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
05-06 21:28:16.851  1582  2715 I ActivityManager: Process com.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0 (pid 9121) has died: fore BTOP
05-06 21:28:16.852  1582  1612 W libprocessgroup: Failed to open process cgroup uid 99023 pid 9121: Permission denied
05-06 21:28:16.852  1582  1612 E libprocessgroup: Error encountered killing process cgroup uid 99023 pid 9121: Permission denied
05-06 21:28:16.852  1893  1893 I Zygote  : Process 9121 exited cleanly (0)
05-06 21:28:16.855  1582  2715 W ActivityManager: Scheduling restart of crashed service v.blade/org.chromium.content.app.SandboxedProcessService0:0 in 1000ms

The settings page also states now that Spotify is disconnected. When I try to connect again, it instantly crashes

05-06 21:35:30.956  9828  9866 W ocessService0:: Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (greylist-max-o, reflection, denied)
05-06 21:35:30.956  9828  9866 W ocessService0:: Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
05-06 21:35:30.957  9828  9866 W ocessService0:: Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
05-06 21:35:30.958  9828  9866 I cr_CachingUmaRecorder: Flushed 1 samples from 1 histograms.
05-06 21:35:30.970  9748  9820 D Retrofit: <--- HTTP 200 https://api.spotify.com/v1/me (422ms)
05-06 21:35:30.987  9828  9866 W SystemServiceRegistry: No service published for: uimode
05-06 21:35:31.022  9748  9820 W linker  : Warning: "/data/app/v.blade-OUkJck_UrqVbQt_d78dpQQ==/lib/arm64/libspotify_embedded_shared.so" unused DT entry: DT_RPATH (type 0xf arg 0x6b3) (ignoring)
05-06 21:35:31.272   604  9885 E ResolverController: No valid NAT64 prefix (111, <unspecified>/0)
05-06 21:35:31.299  9748  9886 E AndroidRuntime: FATAL EXCEPTION: AsyncDeezerRequest_279742
05-06 21:35:31.299  9748  9886 E AndroidRuntime: Process: v.blade, PID: 9748
05-06 21:35:31.299  9748  9886 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/utils/URLEncodedUtils;
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    at com.deezer.sdk.network.b.ClassicRock.accordion(Unknown Source:28)
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    at com.deezer.sdk.network.connect.DeezerConnect.requestSync(Unknown Source:120)
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    at com.deezer.sdk.network.connect.DeezerConnect$Country.run(Unknown Source:10)
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:919)
05-06 21:35:31.299  9748  9886 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: org.apache.http.client.utils.URLEncodedUtils
05-06 21:35:31.299  9748  9886 E AndroidRuntime:    ... 6 more
05-06 21:35:31.323  1582  2171 W ActivityTaskManager:   Force finishing activity v.blade/.ui.settings.SourcesActivity
05-06 21:35:31.329  1582  9888 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
05-06 21:35:31.397  1582  1602 I ActivityManager: Showing crash dialog for package v.blade u0
05-06 21:35:31.398  1582  1602 E system_server: Invalid ID 0x00000000.

Completely closing the app and reopening at least brings back the Spotify connection. But Deezer just doesn't work for me.

This also happens if I'm not connected to Spotify at all.

i-r-raccoon commented 3 years ago

So I guess it's not me alone, but the native Deezer SDK doesn't work at all anymore? I guess this is causing the issue... https://en.deezercommunity.com/android-47/is-deezer-no-longer-supporting-android-native-sdk-deezer-sdk-0-11-2-aar-67605

vhaudiquet commented 3 years ago

Hi, Thank you for your interest in the project and the details in your report. I was really busy this year with university, and could not work on Blade at all. Now that i have some free time, i'm trying to code a new version of Blade almost without using existing code. I have to do that because the project was originally designed for Android 7, and i have added workarrounds and ugly fixes along the way to get to this barely usable Android 10 version. By starting again from the ground up, i'm sure Blade-2.0 will be much more stable as a music player for Android 11/12. However, besides changes in Android, there were, as you pointed out to me, changes in deezer sdk. I was aware that the spotify SDK completely changed, but i wasnt aware about deezer... This is a real pain, because it makes the project really complicated, relying on hacks/.. instead of having official APIs.... Anyway, i just started now, i'll see what i can do with/without the new sdk, but obviously i can't give a timeline for now.

Thank you for pointing out this issue to me ; but obviously because of the previous reasons it will remain a "wontfix", that will disappear in version 2 i hope.

yephny commented 2 years ago

@vhaudiquet How is v2 development going? Looking forward to it.

vhaudiquet commented 2 years ago

@vhaudiquet How is v2 development going? Looking forward to it.

I made the repo i'm using for v2 development public : https://github.com/vhaudiquet/BladePlayer

I had multiple issues and started again multiple times, trying different apis/software stacks (i tried Flutter, Cordova, and Jetpack Compose for UI) but in fact i settled for native android java/xml again. I think it's going well, and i can probably release a first working version at the end of this or next month.

Thank you for supporting the project ! :))