Limit size of initial Parcel for async binder call
It limits the size of the initial Parcel of ParceledListSlice for async binder call in MediaSessionRecord and MediaBrowserService. The binder buffer might be full if multiple large Parcels are sent through async transaction. ParceledListSlice sends the first part of the list via the initial Parcel and the rest of the list via another synchronous transaction in the other direction. The added CTS tests are supposed to be flaky before this change, but are stable after this change. It was hard to reproduce failures for the test added in MediaSessionTest because MediaSession#setQueue is synchronous binder call to system_server so series of setQueue runs too slowly to overflow the buffer on the process who is listening onQueueChanged, while the test added in MediaBrowserServiceTest was very flaky. Bug: 37493677 Test: atest CtsMediaTestCases:android.media.cts.MediaSessionTest \ CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest Change-Id: I24268637792015dac604550a333d4829d1f0e0a0
Loading
Please register or sign in to comment