Status Update
Comments
ap...@google.com <ap...@google.com> #2
It looks isAudioPathA2DPStatic() is not in the android internal code base which means Samsung specific changes.
ap...@google.com <ap...@google.com> #3
Banseok, do you know where to reroute this issue?
ap...@google.com <ap...@google.com> #4
Any news on this.
Now have seen this crash for 16 unique users. Not much in the grand scheme of things, but still would be useful to have a workaround in the library, catching that IllegalArgumentException somewhere in that stack trace and ignoring it (maybe dumping the stack trace in the log cat).
ap...@google.com <ap...@google.com> #5
The crash seems to be slightly increasing with Android 12. Could this error being handled on MediaRouter library?
ap...@google.com <ap...@google.com> #6
Still happening more and more. Here's an Android 11 stack trace. Please do something about it, even if it is a Samsung specific bug, as it cannot be worked-around at the app level:
java.lang.IllegalArgumentException: Bad stream type -1
at android.os.Parcel.createExceptionOrNull(Parcel.java:2441)
at android.os.Parcel.createException(Parcel.java:2421)
at android.os.Parcel.readException(Parcel.java:2404)
at android.os.Parcel.readException(Parcel.java:2346)
at android.media.IAudioService$Stub$Proxy.getDevicesForStream(IAudioService.java:6999)
at android.media.MediaRouter.isAudioPathA2DPStatic(MediaRouter.java:3310)
at android.media.MediaRouter.selectDefaultRouteStatic(MediaRouter.java:1172)
at android.media.MediaRouter.removeRouteStatic(MediaRouter.java:1288)
at android.media.MediaRouter.removeUserRoute(MediaRouter.java:1244)
at androidx.mediarouter.media.MediaRouterJellybean.removeUserRoute(MediaRouterJellybean.java:110)
at androidx.mediarouter.media.SystemMediaRouteProvider$JellybeanImpl.onSyncRouteRemoved(SystemMediaRouteProvider.java:493)
at androidx.mediarouter.media.MediaRouter$GlobalMediaRouter$CallbackHandler.syncWithSystemProvider(MediaRouter.java:3654)
at androidx.mediarouter.media.MediaRouter$GlobalMediaRouter$CallbackHandler.handleMessage(MediaRouter.java:3622)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.audio.AudioService.ensureValidStreamType(AudioService.java:6407)
at com.android.server.audio.AudioService.getDevicesForStream(AudioService.java:6740)
at android.media.IAudioService$Stub.onTransact(IAudioService.java:3157)
at android.os.Binder.execTransactInternal(Binder.java:1215)
at android.os.Binder.execTransact(Binder.java:1179)
android.os.RemoteException: Remote stack trace:
at com.android.server.audio.AudioService.ensureValidStreamType(AudioService.java:6407)
at com.android.server.audio.AudioService.getDevicesForStream(AudioService.java:6740)
at android.media.IAudioService$Stub.onTransact(IAudioService.java:3157)
at android.os.Binder.execTransactInternal(Binder.java:1215)
at android.os.Binder.execTransact(Binder.java:1179)
ap...@google.com <ap...@google.com> #7
Stack trace above is from a Samsung Android 12 device (not 11 as stated).
ap...@google.com <ap...@google.com> #8
Have same problem. For now 67 users affected, mostly android 12, 100% samsung
ap...@google.com <ap...@google.com> #9
It'd be great if it could be caught, but ultimately this looks like a Samsung bug.
ap...@google.com <ap...@google.com> #10
- 100% Samsung, of which most are of the type Galaxy A52s 5G and Galaxy A51
- 100% Android 12
- 98% App in background
Unfortunately we don't seem to be the ones initiating some sort of action so we can't catch the exception in our application code.
il...@google.com <il...@google.com> #11
This is happening more and more... Apparently, there does not seem to be an incentive from Google to workaround it in this library probably because "not our problem" (it is a Samsung bug). The only thing we can do is to decompile mediarouter and catch the IllegalArguementException ourselves...
Description
Navigation Compose has APIs that would be a better fit as part of the base Navigation library. Instead of allowing Navigation Compose to go to 1.0.0 stable with the libraries and attempting to deprecate them later when they are added to base Navigation, we should instead add those APIs to the next version of Navigation and move Navigation Compose in sync with that.
This means that Navigation Compose will be part of Navigation 2.4.0 instead of an 1.0.0.