Binder stub implement isn't GCed while any other process is
holding it. Better not keeping the strong references.
Bug: 146030676
Test: Run CtsMediaTestCases
Change-Id: I9c95370e23ed6ad76d00689223c1b74c669f5a9d
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.
APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I
Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
Bug: 170729553
Test: Treehugger
Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
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
It removes onLoadChildren because onLoadChildren is not used anymore
that is identical to onLoadChildrenWithOptions with null options. It
also renames onLoadChildrenWithOptions to onLoadChildren for simpler
name.
Test: atest CtsMediaTestCases:android.media.cts.MediaBrowserTest \
CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest
Change-Id: I6aebd812249cd3a717aa6d2f48e4a40601ef1063
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.
Bug: 145132366
Test: m && diff unsupportedappusage_index.csv \
git diff HEAD^ HEAD | grep '^[+-][^+-]' | grep -v '.import'
Change-Id: I853372f3c6fef905553bb31be4f1bb48df735f7a
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.
Bug: 145132366
Test: m && diff unsupportedappusage_index.csv \
git diff HEAD^ HEAD | grep '^[+-][^+-]' | grep -v '.import'
Change-Id: I087bb1cecbe59f1cf0c2e770c735d7a433722c6f
In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
information added
So they are being moved back to the greylist for Q.
Test: Treehugger
Bug: 136102585
Change-Id: I6518440a7b0de8292ad05b4df9f0f9580d18b2a5
This CL copies the AML-related changes under frameworks/av to
frameworks/base. This CL includes changes in following merged commits:
a003298 AML: Replace ParceledListSlice
b82512b AML: Remove use of Bundle#setDefusable
70b92a4 AML: Use config_mediaMetadataBitmapMaxSize which is @SystemApi
b4dbc2d Replace hidden Parcel.(read|write)CharSequence usages
Bug:122711373, Bug:122432476
Test: atest CtsMediaTestCases:android.media.cts.MediaSessionTest;
atest CtsMediaTestCases:android.media.cts.MediaControllerTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest;
Change-Id: I1a13e0ae71097caa90f677bc19b7864929dbc20f
For packages:
android.service.wallpaper
android.service.vr
android.service.voice
android.service.trust
android.service.textservice
android.service.restrictions
android.service.resolver
android.service.quicksettings
android.service.power
android.service.pm
android.service.persistentdata
android.service.oemlock
android.service.notification
android.service.media
android.service.gatekeeper
android.service.fingerprint
android.service.euicc
android.service.dreams
android.service.diskstats
android.service.chooser
android.service.carrier
android.service.battery
android.service.autofill
android.service.appwidget
android.service
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I51645d8a8cdce3015749fc27e34830e822ef41ae
MediaBrowserService#getCurrentControllerInfo() can have more fine
grained differentiation for multiple MediaBrowser in a package/process
Bug: 79728675
Test: Run CtsMediaTestCases
Change-Id: Ibc5076ea5ec40f059297b1e7bda9edef7107556e
This CL cleans up connectionRecords when binder dead and the connection
is lost.
Bug: 65132577
Test: check the number of ConnectionRecord, kill the media app, check
the number again.
Change-Id: I8b31745bcee220b9e70c3f43d7fc9d8dc3f6b83a
The method MediaBrowserService.getBrowserRootHints can be called
inside of onSearch(), but the JavaDoc does not mention it.
This CL adds this information in the JavaDoc.
Test: Called getBrowserRootHints inside of onSearch method.
Change-Id: If82a371c8d06aab396e29141827c8991cff2cd3e
When the implementation of MediaBrowserService returns null,
ItemCallback.onError was called, but the JavaDoc is saying that
ItemCallback.onItemLoaded can be called with a null result.
This CL makes ItemCallback.onItemLoaded be able to take a null result,
and ItemCallback.onError be called when the implementation doesn't override
the onLoadItem method or when the returned object is not MediaItem.
Bug: 27808084
Change-Id: I97cfd83786f8f857dc9551e5b0a358962f98e4a2
EXTRA_SUGGESTION_KEYWORDS will be used for denoting specific keywords
which will be considered when the browser service suggests media items.
Bug: 28210241
Change-Id: I3831c0819f9d3ffa3fdd628031063069a5a62006
A workaround change for supporting support lib 23.x in N release.
This change should be reverted in some point before O release.
Bug: 28572934
Change-Id: I7e6afc0293688e425736bc93da0ea10233c07e9a
unsubscribe() should accept the Callback used to call subscribe()
as the identifying key for what to unsubscribe, not the options
Bundle used to call subscribe.
Bug: 27384292
Change-Id: I0a5664d35983fcbdb6f9e60fd35acac813daf0c7
- Rename add and remove in Subscription putCallback and removeCallback
for better readability.
- Fix a broken link of javadoc.
Change-Id: If41941d1134d4ee6ef953932ca572f5d445a2aff
- Change double spaces to a single space.
- Add IntDef annotation.
- Use a plural noun for 'flag'.
- Check parentId using TextUtils.isEmpty().
Change-Id: Ic268e543a60fbe281a4deaa24d4d9bde9c0bc22d
Do not change the methods signature and order of methods in
MediaBrowser related AIDL files. A change of the method signatures
or the order could break the support library.
Bug: 26841304
Change-Id: Id8c013eafc38c1a716df63dd86f446bc9c9ff21d
This adds all the plumbing for supporting a getMediaItem call in
MediaBrowser.
Will also need to add a support lib component to make it backward
compatible.
Change-Id: I528e9ebaf4e0fe386f346ef85c14973168a380df
Only one callback can be set on a given media id on MediaBrowser. When you
try to subscribe with a new callback it replaces the old callback, but it
wasn't resending the child data for the id. This causes calling subscribe
again also cause the data to be reloaded and sent to the app again.
bug:18683452
Change-Id: I2d30dbbbfe07cb9a720fb6d65664c1c4c58cb637
The MusicDemo was depending on the fact that setting the session token
is done synchronously and that getSessionToken can be called immediately
after. This makes setting the token synchronous again but leaves the
post to update any MediaBrowsers that are waiting on a connection.
This does introduce a small race condition if an app tries to set it
twice from different threads, but this is a very unlikely situation
and MediaBrowserService is not guaranteed to be thread safe.
bug:18603085
Change-Id: Id934c9f3b6520225cd92d1d8a6e2b3d606b8c6c8
This will delay all calls to onConnected from the MediaBrowserService
until a session token has been set. This also requires making it an
exception to try setting the session twice.
bug:18052336
Change-Id: Iecf186c53364183e1696af83a855c8db3294a5d0