Registering with the maximum potential memory made by visible by an
ImageReader/Writer can cause the VM to try to heavily garbage-collect
the rest of the application. This can have significant impact on camera
applications, since they often have large ImageReader/Writer queues.
Bug: 28454727
Change-Id: I2ba43635f93da66655be024165a15631b3b421d3
- New service TVRemoteService triggered by SystemServer
- Provider service proxy and watcher for maintaining connections to unbundled
services which have the BIND_TV_REMOTE_SERVICE permission.
- Shared library to facilitate connections between unbundled service and
TVRemoteService.
- Unbundled service needs TV_VIRTUAL_REMOTE_CONTROLLER
permission to be fully functional.
b/23792608
Change-Id: Ief5c6995883d1f7268a73bdd0c920c4c3f42cddb
Test all A2DP type variants when checking if an A2DP device is connected
in isBluetoothA2dpOn().
Bug: 28286051
Change-Id: I756d632b12d584d8a27cc1890e758d8accff7120
Previously MtpDevice#readEvent does not have throws IOException at its
definition, though internal JNI functions throws it.
BUG=28254719
Change-Id: I4e6cf8003d168b7e732c4b4eb2eafe52a12442c2
* MtpEvent: Remove public constructor since properties cannot be set
directly.
* MtpEvent: Move event constants from MtpConstants to MtpEvent class.
* getPartialObject64: the byte[] must have indices of Integer.MAX_VALUE
at most. Document as such.
* sendObjectInfo: what happens if the transfer doesn’t succeed? How is
the app notified? If there is a reason for the failure communicated,
how does the app find this out? Add docs.
* Add isOperationSupported(int) and isEventSupported(int) helpers.
Change-Id: Ifd80016d2ddd3b66d5c45f6da76b6133f0c9a617
Fixes: 28146379
This CL makes ExifInterface store the tag values as the original forms
and the format validiation is added that compares the given value and
the data format specificed in EXIF specification in order to keep the
valid tag values only.
Bug: 27583378, Bug: 27614052, Bug: 28075709
Change-Id: If60bbddefe74c4b87b4ce64b5fc79e467e36a5b9
Add a new class to group media/audio player features under one
interface. Currently only used for audio-related AppsOps
restrictions. In the future can group routing, audio focus
handling by the framework...
MediaPlayer inherits from PlayerBase, and overrides the methods
that are needed to delegate the handling of the restrictions
in a separate class.
When AppOps restrictions change (as triggered through the
callback in PlayerBase), reset the volume to its value intended
by the application (when unmuting) or the framework (0 when
enforcing the restriction).
Bug 28069414
Change-Id: I2f38e4b9b3c029778836868cf78f4d15d7603247
Now that we use the same set of API for both time shifting and
recording, the descriptions should be updated to support both use cases.
Bug: 28067038
Change-Id: I036446eca373ca27005f74b008a259f27b7c5f61