When a program is inserted during recoding(ex. Flash News), some
applications want to pause that temporary.
Add pause and resume recording feature so that it permits to tune on
pause status while recoding.
Bug: 172029807
Test: run cts -m CtsTvTestCases -t
android.media.tv.cts.TvInputServiceTest
Change-Id: Ib11ae5d3eddcd01dbd48efa58fb2d4011040b210
Merged-In: Ib11ae5d3eddcd01dbd48efa58fb2d4011040b210
When a program is inserted during recoding(ex. Flash News), some
applications want to pause that temporary.
Add pause and resume recording feature so that it permits to tune on
pause status while recoding.
Bug: 172029807
Test: run cts -m CtsTvTestCases -t
android.media.tv.cts.TvInputServiceTest
Change-Id: Ib11ae5d3eddcd01dbd48efa58fb2d4011040b210
Fix permission checks when registering a dynamic audio policy
of type loopback+render for usage VOICE_COMMUNICATION.
Previous checks were assuming that the policy was created with
allowPrivilegedPlaybackCapture flag which should not be a pre requisit.
The conditions to allow capture of VOICE_COMMUNICATION playback (loopback+render
mode) are:
- Having permission MODIFY_AUDIO_ROUTING (implied by ability to regiter a DAP).
- Having permission CAPTURE_VOICE_COMMUNICATION_OUTPUT.
- The capture format is compatible with capture by system requirements.
- The playback client or app did not opt out from capture by system.
Test: atest AudioHostTest
Test: atest AudioPlaybackCaptureTest
Bug: 161569476
Change-Id: I919f016180565b44bf13e8e6afc4a87ef0d6391d
Add sound effect constants for back, home and fast-scroll.
The touch_sounds group name is now optional, which makes the
audio_assets.xml file more generic.
Bug: 157407957
Test: manually tested on a device
Change-Id: I97ee1920032b8db46acea29ed5693a4b63d7dfcf
Add a new resource type CiCamResource to be managed by the TRM
At one moment, there each client could only have one ciCam connected
to either demux or frontend.
Before reconnecting to different ciCam, the client needs to disconnect
first.
Higher priority client could get the ciCam from lower priority one
and cause all resources loss on the previous owner.
Test: atest com.android.server.tv.tunerresourcemanager
Bug: b/172310004
Bug: b/158818696
Change-Id: I2803d0edf1f7282b0a496d7eb79181be42b8eec1
Note that the main goal of this CL is to
move the resource updating with TunerResourceManager
from Tuner java into Tuner native client library.
This requires TunerResourceManager aidl interface to generate
both ndk and java library.
Also this CL removes the previously manually defined
TunerResourceManager java interface and use the automatically
generated java lib instead.
Some Android Services, such as MediaCase/TIF, that previously used the
manually defined TRM java APIs are changed to use the auto gen APIs
in this CL.
Test: atest android.media.tv.tuner.cts on Cuttlefish
Bug: 174095851
Change-Id: I46acdd2f118d5b082aa162c680661a304b4f628b
We've been working hard to require PendingIntents explicitly declare
if they allow their contents to be mutated or not, and to finish
landing that work this change applies the new FLAG_MUTABLE_UNAUDITED
flag to all remaining code locations until they can be manually
inspected.
Bug: 160794467
Test: manual
Change-Id: I8d7ec64ac89755c14b5959bb6ef0bce203c92bf0
Note: This was part of ag/13255478. Making it a separate CL can break
the dependency of the Tuner client changes on the frameworks/base
changes that require owner review from external teams.
Test: make
Bug: 174095851
Change-Id: Id40014b2ccd95b944e465b79571e113d8ed1a254
After the user renames/moves a file/directory, the database of
MediaProvider is not updated. It causes that the file can't be
opened via MediaProvider. Use scanFile to instead of MP.update
for the file/directory.
Handle the .nomedia case for create/copy/move/delete/rename.
Scan the parent directory to update the database.
Test: atest MtpTests
Test: atest --test-mapping packages/providers/MediaProvider
Test: manual. 1. Move/rename the file/directory.
2. Open the file in DocumentsUI
3. create/copy/move/delete/rename for .nomedia case
Bug: 169300366
Bug: 171538933
Bug: 172029805
Bug: 170798581
Change-Id: Ia37be7a027bfe502e3f7c96babe5a5bbed5f942c
Merged-In: Ia37be7a027bfe502e3f7c96babe5a5bbed5f942c
(cherry picked from commit 20079f1064)
Official API guideline is to use UserHandle for user id to ensure
type safety and avoid conflating user IDs with uids.
See go/android-api-guidelines#use-userhandle
Bug: 174762061
Test: build
Change-Id: I1db55e19fe086544f428783898af623422d37a0d
MediaRourter uses main thread for internal operations, and ANR could
happens if AudioService is not running when MediaRouter tried to get
stream volumes. This CL avoids such ANR by caching stream volumes.
Bug: 170327593
Test: manually
(cherry picked from internal master branch)
Change-Id: I7c00b26a3a25f17c877d3ec0e998905ab0b4af28