TeamAmaze / AmazeFileManager

Material design file manager for Android
https://teamamaze.xyz
GNU General Public License v3.0
5.31k stars 1.57k forks source link

Audio player: TransactionTooLargeException: data parcel size 1131268 bytes #4268

Open czarnyckm opened 1 week ago

czarnyckm commented 1 week ago

Describe the bug Every time when I try to play a song from huge music library with about 5000 songs the TransactionTooLargeException is thrown see below for stacktrace

To Reproduce Steps to reproduce the behavior:

  1. Go to Audio files
  2. Click on any song to play
  3. See error

Expected behavior

Exception

java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 1131268 bytes
    at android.app.ContextImpl.startServiceCommon(ContextImpl.java:2019)
    at android.app.ContextImpl.startService(ContextImpl.java:1960)
    at android.content.ContextWrapper.startService(ContextWrapper.java:827)
    at android.content.ContextWrapper.startService(ContextWrapper.java:827)
    at com.amaze.fileutilities.utilis.f.r(Extensions.kt:6)
    at com.amaze.fileutilities.audio_player.AudioPlayerService$a.a(AudioPlayerService.kt:38)
    at com.amaze.fileutilities.home_page.ui.files.n0.invoke(MediaFileAdapter.kt:17)
    at l4.s.invokeSuspend(Extensions.kt:53)
    at q8.a.resumeWith(ContinuationImpl.kt:9)
    at g9.h0.run(DispatchedTask.kt:107)
    at android.os.Handler.handleCallback(Handler.java:959)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8736)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
    at com.android.internal.os.ExecInit.main(ExecInit.java:50)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
    Suppressed: g9.f0: [n1{Cancelling}@94e566c, Dispatchers.Main.immediate]
Caused by: android.os.TransactionTooLargeException: data parcel size 1131268 bytes
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(BinderProxy.java:586)
    at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:6430)
    at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1991)
    ... 19 more


kernel0x commented 6 days ago

can be fixed using a library Bundle Saver https://github.com/kernel0x/bundlesaver