Add two audio modes corresponding to a call redirection
scenario:
- AudioManager.MODE_CALL_REDIRECT: PSTN call redirection
- AudioManager.MODE_COMMUNICATION_REDIRECT: VoIP call redirection
When in call redirect mode, call audio uplink and downlink are not
routed to regular audio sinks (e.g. earpiece) or sources (e.g. built in
mic) but disconnected. A privileged app can use system APIs to inject
and extract call audio and redirect the call to another device.
All other media use cases operate as if no call was active.
Bug: 189472651
Test: make
Change-Id: I3b1a616a72b1f7c97e0e5bf7c9f76c40a28876f1
Changed the way the user is checked for audio manager play sound effect
API. Instead of capturing the process user, the current user is used
to determined if the audio should be played. Also moved the should
sound play check to audio service, as the check requires interact
across users permission, instead of adding permission to the API
this can be faciliated in the audio service.
Bug: 165038414
Test: atest AudioManagerTest#testSoundEffects
Test: atest AudioManagerTest#
testCheckingZenModeBlockDoesNotRequireNotificationPolicyAccess
Test: atest VolumeDialogControllerImplTest
Test: manually disable audio effect sounds settings and play audio
NoNonSdkCheck: IAudioService#playSoundEffect is internal API
Change-Id: Ib0e3001fd76e3a5fdd831551d16f091029d03422
Because ISDB-T has up to three layers
(1) It is necessary to be able to obtain the hierarchical structure and
information of each hierarchy by getFrontendStatus. Various transmission
parameters, partial reception flags, error states at each level, etc.
(2) It is necessary to be able to set the transmission parameters of
each layer at the time of request. Various transmission parameters and
partial reception flags.
android.Manifest.permission.ACCESS_TV_TUNER is the overall control to
the tuner resources, it's already checked before querying frontend
status.
Bug: 171537116
Test: atest android.media.tv.tuner.cts on AIDL and HAL HALs.
Change-Id: I0d5a6056a09de5509be0a45cac435da4a43ab55f
These operations can be done already if the caller has
WRITE_SECURE_SETTINGS_PERMISSION, and the only approved callers are
settings apps which have that permission. We don't want anyone else
to bypass the permission check and turn off parent sounds sync.
Test: atest SettingsRoboTests
Bug: 204555055
Change-Id: I47956428f5363affef29af9dbe3d3dde21c5a392
Provide conversion for layouts not listed in
AudioChannelLayout::LAYOUT_* constants. In this case
the conversion is performed on bit-by-bit correspondence
between AudioChannelLayout::CHANNEL_* constants and
SDK channel bits from AudioFormat.
Added missing input channel bits to AudioFormat to match
native. Currently hidden, since we would need to update
docs if we reveal these bits and masks to apps.
Bug: 198812639
Bug: 204362366
Test: atest AidlConversionUnitTests
Change-Id: I7cb80fef2bfe9513f16dc632b22ef81b1e0f0526
All uses of AudioManager.setParameters are a hack that we have to remove.
Bug: 196440888
Tag: #refactor
Test: Build
Change-Id: I6deeffef8fbd8ba1c501f41c74b4763503106cc0
The SharedFilter is used to share the Filter created by TIS to another
process. The TIS uses Filter.createSharedFilter() to create a token and
share it to another process. The new process will use
Tuner.openSharedFilter() to open that new token and create a
SharedFilter. The new process will be able to read the TIS owned
Filter's data with this new SharedFilter.
Bug: 196124225
Test: atest android.media.tv.tuner.cts on both AIDL and HIDL HAL.
Change-Id: Id93b30e4db242d35a3d1ae6023b967a90a78c448
AudioManager.isFixedVolume() was only considering the fixed volume
global property, but was not checking the current volume behavior.
Bug: 203034282
Test: atest MediaActivityTest ; atest MediaRouter2Test#testCallbacksAreCalledWhenVolumeChanged
Change-Id: I1e22e5bcd75c41c1ab6a47dc1e0d7619df989970