This change follows the pattern of how the IME UID is set.
The UID is stored in AudioService and re-sent there if the audio server
dies.
Fix: 194368677
Test: manual - hotword works when another app is using the mic and in
Auto projection mode; also after restarting the process or killing
audio server
Test: atest HotwordDetectionServiceBasicTest
Change-Id: I325cb33d17387e62302967b261b6fe61086d8893
The MediaSessionManager has two system APIs
- getMediaKeyEventSession
- getMediaKeyEventSessionPackageName
which get the current the media key session and its package name.
Since the APIs require MEDIA_CONTENT_CONTROL permission,
non-system apps could not use the APIs.
This CL adds an overloaded version of those APIs so that apps with
enabled notification listener can use the functionality.
Bug: 187483932
Test: Passed MediaSessionManager(Host)Test
Change-Id: I18904fb68ad175a668f79deb77ced507b7fc800b
This reverts commit 45dd2a3202.
Reason for revert: b/195280234 is blocking droidfood
Bug: b/195280234
Change-Id: I09593dffb797d1e4c60cff52e7901ed6c00f719c
This CL also updates the values of some tuner System API constants.
Those values generated by the HIDL HAL were duplicated, and should be
fixed.
Bug: 191825295
Bug: 194426536
Fix: 194426536
Test: atest android.media.tv.tuner.cts
Change-Id: Ife35bd0000b3aa864d6d0a7842536cad07f5ab9c
MediaProjection is used by apps to capture the contents of
a display. Apps consume the content from a surface passed
in to MediaProjection#createVirtualDisplay. The images
written out to the surface can be used for saving
screenshots of the current display, screen recording,
or casting to a different display.
MediaProjection is currently tied to capturing a physical
display. This change instead captures the DisplayArea
the app is launched on. This is consistent with Display API
sandboxing, which returns the DisplayArea bounds rather
than the physical display bounds.
Note that apps use the Display APIs to size the
VirtualDisplay and output surface.
Verified: screenshots, screen recording, and casting
Bug: 180624777
Test: atest WmTests:DisplayContentTests
Change-Id: I909e9d32f573aec33869d9f49d6caffc8d7420aa
MediaRouter2Manager returned selected routes
as "transferable" routes.
This CL fixes it.
Bug: 194370296
Test: manually
Change-Id: I85e0e94bd38e07ee1a99369e9de5a4564aee6d58
The MediaSessionManager has two system APIs
- addOnMediaKeyEventSessionChangedListener
- removeOnMediaKeyEventSessionChangedListener
which listen the media key session updates.
Since the APIs require MEDIA_CONTENT_CONTROL permission,
non-system apps could not use the APIs.
This CL adds an overloaded version of those APIs so that apps with
enabled notification listener can use the functionality.
Bug: 187483932
Test: Passed MediaSessionManager(Host)Test
Change-Id: Ic13353983e23f557afaa13eb11a48e48d24d4358
Ensure that AudioMix.Builder always produces and AudioMix
which uses an output channel mask. There are assumptions
in the framework that this is the case, however clients
can actually pass an input mask.
Bug: 194910301
Test: gts-tradefed run gts -m GtsGmscoreHostTestCases \
-t com.google.android.gts.audio.AudioHostTest
Change-Id: I698eef509a0e3427b7cfc4bf8b045379416f7964
To call the media service while bypassing transcoding there are 4 file
descriptors involved:
A: The original file descriptor the app owns and is responsible for
closing
B: Dupe of A, to pass into the MediaStore API as an input to receive a
non-transoding fd
C: The output from the MediaStore API
D: Final fd owned by the media service, after C gets duped over binder
as part of setDataSource
We were leaking (B) and (C). Now we close them appropriately.
See I0124ec8fbd0471237e99bab321f903544f8fe1f8 for another 2 fd leak
fix in MediaProvider
Test: atest TranscodeTest
Test: Manual with 'adb shell lsof | grep <filename>'
Bug: 194828489
Bug: 179804072
Change-Id: I978257bbc4a8f6813b6e6a5ce22124257204f432
Merged-In: I978257bbc4a8f6813b6e6a5ce22124257204f432
To call the media service while bypassing transcoding there are 4 file
descriptors involved:
A: The original file descriptor the app owns and is responsible for
closing
B: Dupe of A, to pass into the MediaStore API as an input to receive a
non-transoding fd
C: The output from the MediaStore API
D: Final fd owned by the media service, after C gets duped over binder
as part of setDataSource
We were leaking (B) and (C). Now we close them appropriately.
See I0124ec8fbd0471237e99bab321f903544f8fe1f8 for another 2 fd leak
fix in MediaProvider
Test: atest TranscodeTest
Test: Manual with 'adb shell lsof | grep <filename>'
Bug: 194828489
Bug: 179804072
Change-Id: I978257bbc4a8f6813b6e6a5ce22124257204f432
The executor can be run in a different thread, which can cause race
condition. Adding the lock can help avoid the NPE reported.
Bug: 193604292
Test: atest android.media.tv.tuner.cts.TunerTest
Change-Id: I647ea2b428c1510b1df7f6cecc686bb7eb288a18
Also add support for IMAGE_TYPE_UNKNOWN files that do not have an
identifiable file extension, but follows the TIFF specification.
Also fixes issue where certain thumbnail-only tags were not being
replaced after primary/preview/thumbnail image data was swapped.
Bug: 193010129, Bug: 193010735
Test: atest ExifInterfaceTest
Change-Id: I098cf1a0730d0cb0f1d6010a21b3ec7ada8dc6b7