Avoid blocking outgoing binder call for setQueue
There has been a blocking binder call out of system_server for
MediaSession#setQueue because ParceledListSlice internally creates
another binder on the caller side and calls the binder from callee
if the list is too large to fit in a single IPC transaction.
It introduces ParcelableListBinder to do multiple transactions in the
same direction, so that the binder call doesn't block system_server.
Bug: 147703076
Test: atest CtsMediaTestCases:android.media.cts.MediaSessionTest
Change-Id: I5623c20d615d25c88999d80615958d6cb6e51a77
4 files changed