Commit Graph

67 Commits

Author SHA1 Message Date
Sungsoo Lim
00d0bb3818 Fix AudioAttributes.setContentType
Test: build
Change-Id: Icfafeb3069010bf73c3d3e00f19c62c5fbf0e437
2018-11-22 13:51:53 +09:00
Mathew Inwood
8c854f86a4 Move some members to the "Q blacklist".
Based on some analysis, these fields/methods are likely false positives.
Set maxTargetSdk=P so that any apps using them are required to migrate off
them in future. See the bug for more details.

Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 115609023
Test: m
Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
2018-09-14 13:18:34 +01:00
Tomoharu Kasahara
76b988ad23 Merge "Convert AudioAttribute to Stream correctly for TTS" am: 874e10f4a6
am: 96b6adc014

Change-Id: Id90684e28b0fc33be3301c6adf0683be239ae0d0
2018-09-11 13:44:31 -07:00
Tomoharu Kasahara
96b6adc014 Merge "Convert AudioAttribute to Stream correctly for TTS"
am: 874e10f4a6

Change-Id: I52a610027d11574ab51cd83683de64ff2dddadfe
2018-09-11 13:35:21 -07:00
Treehugger Robot
874e10f4a6 Merge "Convert AudioAttribute to Stream correctly for TTS" 2018-09-11 19:26:56 +00:00
Tomoharu Kasahara
be0103c0a5 Convert AudioAttribute to Stream correctly for TTS
Add FLAG_BEACON for STREAM_TTS then use it for
conversion from AudioAttribute to stream type.

Bug: 113303490
Test: Use AudioAttributes.toLegacyStreamType

Change-Id: I7fa2b3f095437f8077545d1fff795bb0d8fe6b89
2018-09-11 20:21:59 +09:00
Par-Gunnar Hjalmdahl
96e68bc2e6 Convert AudioAttribute to Stream correctly
When converting an AudioAttribute with FLAG_SCO set, it should
be converted to STREAM_BLUETOOTH_SCO. However, since getFlags()
returns only public flags, and FLAG_SCO isn't public,
the conversion will fail. Change to getAllFlags() to get right
flags.

Bug: 113314374
Test: Use AudioAttributes.toLegacyStreamType

Change-Id: Ic283f055d746d5c3df645dc310c92dac3c80827f
2018-08-28 20:34:01 +09:00
Mathew Inwood
473b9d5bfc Add @UnsupportedAppUsage annotations
For packages:
  android.media.tv
  android.media.soundtrigger
  android.media.session
  android.media.projection
  android.media.midi
  android.media.effect.effects
  android.media.effect
  android.media.browse
  android.media.audiopolicy
  android.media.audiofx
  android.media

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: I9b58cb2d1e02d9156a7b0d19c1feff4bcd2c53a9
Merged-In: I3bd40136d7fc948f66eca6b2d139c15e39c5a248
2018-08-17 09:07:01 +01:00
Jean-Michel Trivi
6d38a1b260 AudioAttributes: handle unknown usage like media
In the native audio policy management, the default stream type
  for volume is STREAM_MUSIC, i.e. any player by default is
  considered a "media" player. Do the same for audio attributes
  with regards to suppressible behaviors.

Bug: 74052135
Test: ZenModeHelperTest + see bug
Change-Id: I8f65044807fd3e745f21e031a0aa01a5e6f74cd2
2018-04-09 21:24:25 +00:00
Hongwei Wang
1b322dd042 Adds comment how to deal with newly added audio usage
Bug: 77547740
Test: adb shell dumpsys media.audio_policy
Change-Id: If0d9f1d0ac2205900532cb9f761746ce4d164d32
2018-04-03 16:22:06 -07:00
Beverly
d696476fb3 System sounds get its own dnd toggle
- Added logic for streams to be muted by dnd (unassociated with ringer)

Test: runtest -x frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
Bug: 73362490
Change-Id: I1101e67282f7331497e91eb510d2bf4f1ea6b4b1
2018-03-06 09:08:29 -05:00
Kweku Adams
bc84aecc76 Fixing bugs in Notification proto dumping.
Also changing method signatures to be more in line with our convention.
Based on some of the changes I went through, it looks like:
1. We were only legitimately saving the very last NotificationRecord
that was dumped.
2. We weren't dumping any NotificationChannels into
NotificationChannelGroup protos.

Bug: 65750824
Test: Android builds
Change-Id: I8c1ef90cf69d8ea00a7bad0c67445741056e23ef
2018-01-23 13:36:23 -08:00
Phil Burk
91df2717b9 AudioAttributes: note that AAudio.h should sync
Usage and other attributes may need to be added to AAudio.

Bug: 68052449
Test: just a comment
Change-Id: I6858ef22e437cbd1f9c31142516eca4705422fa6
2018-01-18 09:17:22 -08:00
Nadav Bar
33f4f68ba2 Enabled the use of VOICE_DOWNLINK, VOICE_UPLINK and VOICE_CALL as audio sources for AudioRecord (Only supported for system apps)
Change-Id: Id75e9cfdccd1f2a92e50a5f475314361c45d8abf
Test: Tested manually.
2017-11-21 12:27:44 +02:00
Beverly
e2d9a23114 DND behavior system sounds cannot bypass DND
If media & system feedback is not allowed to bypass DND
(set in Do Not Disturb Behavior Settings), then touch sounds
and lock screen sounds cannot play sounds.

Bug: 69062790
Test: runtest -x frameworks/base/services/tests/notification/src/com/android/server/notification/ZenModeHelperTest.java
Change-Id: Ic599f61d73d06d0616e5a247c537ff35487b5449
2017-11-10 14:02:51 -05:00
Beverly Tai
1e26cacc71 Merge "Add alarm + media/other to NotifManager.Policy" 2017-10-12 13:20:51 +00:00
Beverly
0421687f0c Add alarm + media/other to NotifManager.Policy
Alarm and media/system/other policies added to be able to toggle
filtering of alarm and media sounds for ZenMode/DND.

Bug: 63077372
Test: runtest -x frameworks/base/services/tests/notification/src/com/android/server/notification/ZenModeHelperTest.java
Change-Id: I256782af00ad736c1aebdb96f9400d66ebb64a15
2017-10-09 15:10:04 -04:00
Kweku Adams
62b4224757 incidentd: Adding RankingHelper data to NotificationManager proto output.
BUG: 65750824
Test: flash on device and look at incident.proto output
Change-Id: I9323cc109d96715b2114aa405eda79ae4c109c14
2017-10-03 12:35:48 -07:00
Jean-Michel Trivi
3120059d5b AudioService: log changes in OP_PLAY_AUDIO
Log changes to AppOpsManager.OP_PLAY_AUDIO in live player

Test: "adb shell dumpsys audio" after entering silence mode
Bug: 62258749
Bug: 64286665
Change-Id: Ia1c202c5b8b25e14f7c2e85060a256dc69433909
2017-08-29 11:39:56 -07:00
Jean-Michel Trivi
f1cd71a3b2 Total Silence vs VoIP
Do not suppress VoIP audio in any DnD mode.

Test: start a VoIP app and enter Total Silence mode, verify comm audio is still heard.
Bug: 37742663
Change-Id: I40de67b45713f476a2e07b05ac84bd6663f50fdf
2017-06-22 19:30:29 -07:00
Jean-Michel Trivi
7a84eaef3c DnD: Total silence doesn't suppress A11y
When entering Total silence mode, text prompts from a11y were losing
 AppOpsManager.OP_PLAY_AUDIO, causing them to play muted (amplification
 of 0.0f) even though the STREAM_ACCESSIBILITY volume was not.
The fix consists in adding another category of sound suppression
 behavior in AudioAttributes, for usage types that should never be
 suppressed (== muted), and using it for USAGE_ACCESSIBILITY.
 When ZenModeHelper iterates over usages to mute/unmute players,
 consider whether that usage's suppression behavior is SUPPRESSIBLE_NEVER.

Test: turn Talkback on, then enter Total silence and verify Talkback is heard
Bug 62827456

Change-Id: I48cae48797ef9bc6bcaee82484ba078ee445345c
2017-06-20 22:45:14 +00:00
Jean-Michel Trivi
fa97222e87 Revert "Revert "AudioAttributes: remove static getVolumeControlStream method""
This reverts commit e4a9911b68.

Change-Id: Id260024dbf926a1defc1c5302a86b694e3c7f8c9

Bug: 36724262
2017-04-19 18:37:27 +00:00
Jean-Michel Trivi
e4a9911b68 Revert "AudioAttributes: remove static getVolumeControlStream method"
This reverts commit e0b5bf50d6.

Change-Id: I2f3f10c149b205d22c41d5c9767ea10b0dee7682
2017-04-04 18:26:44 +00:00
Jean-Michel Trivi
e0b5bf50d6 AudioAttributes: remove static getVolumeControlStream method
Remove (unreleased) getVolumeControlStream static method.

Test: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.AudioAttributesTest
Bug: 36724262
Change-Id: Ieab0f61eb0ce032d9dd6716bf78f7cfc59b6eb51
2017-04-03 12:02:19 -07:00
Jean-Michel Trivi
e67bc4d484 AudioAttributes: make getVolumeControlStream() non static
In AudioAttributes class:
 - deprecate static getVolumeControlStream(AudioAttributes) method,
 - add non-static getVolumeControlStream() method.

Test: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.AudioAttributesTest
Change-Id: Ic2276cb7367e0bcb0c07e1fe63de68dafddbccb5
2017-03-28 21:37:35 +00:00
Jean-Michel Trivi
a690473348 API for app to know what to set in Activity.setVolumeControlStream()
Stream types are deprecated to describe an audio playback use case.
But they are used for volume control. This API helps the developer
  go from an AudioAttributes instance used for playback, to a
  stream type used to describe which volume stream type should be
  used when the user presses on the volume keys.

Test: see AudioAttributes cts test
Bug 21267880

Change-Id: I2b9da5b282e8ed2342c61c14a7f59b874d0ce979
2017-02-04 16:35:25 -08:00
Andy Hung
ebc2c14b07 AudioTrack: Enable deep buffer mode from Java
Test: AudioTrack CTS test, Play Movies
Bug: 30687201
Change-Id: Id3a8d675966671ed13c488936228bd76dfc6c1fe
2017-01-25 13:00:34 -08:00
Jean-Michel Trivi
0c8855d0f2 New AudioAttributes usage for "assistant" use case
Define USAGE_ASSISTANT for new use cases involving audio help,
  query responses and more.

Test: make offline-sdk-docs
Bug: 30947943

Change-Id: Idf93ce4c0f014dbc9b491244cbad9e643cc03413
2016-12-29 12:09:15 -08:00
Jean-Michel Trivi
3f0945a608 Define stream type for accessibility volume control
New stream type for accessibility volume.
Add related appOps.

Test: see added CTS tests in AudioManagerTest & Stub
Bug 30448020

Change-Id: I34f96713b22fedf75322b8ffe2b96a7c566f5009
2016-11-21 15:15:45 -08:00
Jean-Michel Trivi
e743bda5de Fix Zen mode for different notification usage types
ZenModeHelper was only considering a subset of all notification usage
 types. The code was also iterating over the usage values, expecting
 them to be contiguous, which will break with the addition of new
 usage values.
The update consists in:
 - defining in AudioAttributes an array of expected usage types
 - defining the suppression behavior for each usage type
 - have ZenModeHelper query the behavior for each usage in
    order to apply the corresponding muting behavior.

Bug 29009099

Change-Id: If884dda6297f125c60c5775c757df4f782e22e53
2016-09-09 12:04:11 -07:00
Phil Burk
2050f6cb43 AudioAttributes docs: warn about small buffer size with FLAG_LOW_LATENCY
Explain buffer size optimization.

This CL has no code changes, just documentation changes.

Bug: 28802853
Change-Id: I91942f00a3e9691e4fc05b24656b8bf4cb538bc2
Signed-off-by: Phil Burk <philburk@google.com>
2016-05-26 10:34:50 -07:00
Jean-Michel Trivi
f82f746903 Support for Bundle in AudioAttributes
Bug 25449464

Change-Id: I99cdfd4589e3161b52620e439ba993ce21d256b4
2016-02-08 19:24:19 +00:00
Phil Burk
dc5f027783 AudioTrack: make low latency APIs public
Allow apps to lower their Java audio latency.

Bug: 21019153
Change-Id: I1be9a083c46e9fcf7db2635e813cab13dbad810a
Signed-off-by: Phil Burk <philburk@google.com>
2016-01-27 23:24:20 +00:00
Jean-Michel Trivi
11ca2874d2 Merge "Fix AudioAttributes.Builder.setFlags() javadoc" 2016-01-19 18:46:09 +00:00
Ricardo Garcia
ed5865b172 Merge "Adding UNPROCESSED to the available audio_sources and SUPPORT_AUDIO_SOURCE_UNPROCESSED property" 2016-01-17 20:07:15 +00:00
Phil Burk
dd73142b53 AudioTrack: Add FLAG_LOW_LATENCY
Allow Java to write directly to the FastMixer to
reduce latency.

Change-Id: I957c82ba430e7ee2780ea00ea96c1f5b23dc47f5
Bug: 21019153
Signed-off-by: Phil Burk <philburk@google.com>
2016-01-16 11:09:57 -08:00
rago
a7cc59c318 Adding UNPROCESSED to the available audio_sources and
SUPPORT_AUDIO_SOURCE_UNPROCESSED property

bug: 25564291
Change-Id: I05d48fcc1859501902aa38604a5b86fa5d468468
2016-01-15 18:33:13 -08:00
Jean-Michel Trivi
26d2fdbba3 Fix AudioAttributes.Builder.setFlags() javadoc
Change-Id: I6bca54040060e538d1f9e48ed3510c7524e55129
2016-01-14 12:59:39 -08:00
Zach Johnson
45228bf3e0 Fix AudioAttributes.usageToString() string return values
Change-Id: I75642d043d647c921259dad20df504dd2e551644
2015-08-25 00:35:27 +00:00
Jean-Michel Trivi
d1d5a0a080 API for converting AudioAttributes to stream type
Bug 21267880

Change-Id: I3389dcb3a35a3786ecdb8f56a917a0ae619e8417
2015-05-19 16:35:25 -07:00
Eric Laurent
00a009204e enable FM tuner and hotword capture for system apps.
AudioRecord constructor with AudioAttributes and session ID as well
as HOTWORD and RADIO_TUNER audio sources are now system APIs.
Renamed MediaRecorder.AudioSource.FM_TUNER to
MediaRecorder.AudioSource.RADIO_TUNER.

Change-Id: I231c20c21e3e8cffe1837482976ebe284c9af541
2015-03-09 13:06:05 -07:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00
John Spurlock
bbfd31a5d4 AudioAttributes: introduce new flags to bypass audio restrictions.
- New @hidden @SystemApi FLAG_BYPASS_INTERRUPTION_POLICY, request
   to ignore any current audio restrictions, such as zen mode
   content-based notification filtering.
 - Wire up FLAG_BYPASS_INTERRUPTION_POLICY to the existing
   audio restriction checks in the framework.

 - New @hidden @SystemApi FLAG_BYPASS_MUTE, request to play
   audibly, even if the underlying stream is muted.
 - Wiring up to audio framework TBD.

 - Use both of these new flags on the inline volume slider
   controls used in Settings, ensuring playback is heard
   regardless of the current device filter state.

Bug: 19407114
Change-Id: I3d44394931592ccbc1b61ddd9a4d1cc984da17cc
2015-02-18 20:48:26 -05:00
Jean-Michel Trivi
3d22bf04e3 AudioAttributes javadoc update for conversion to stream types
Change-Id: I2b687d8a002897fff90a8c99d180aa0a3511a571
2015-02-03 10:15:08 -08:00
Jean-Michel Trivi
1b3541d5ee AudioMix address and type, rule exclusion API, dynamic source
- Simplify API for defining an exclusion-based rule: don't define
  an exclusion rule, add instead a way to exclude a rule.
- API for defining rules for dynamic sources (rule match on capture
  preset).
- Verify mix type when creating AudioRecord or AudioTrack for a mix.
- Use hashcode of mix for generating the device address.
- AudioService dump prints info about registered policies.
- Annotate as SystemApi the audio policy-related APIs.
- Express mixing match and exclude rule constants as flags for
  future-proofness

Bug 16006090
Bug 16009464

Change-Id: I0dabe71204501acaffea7ef0ddbbab9700e1bd87
2014-11-30 14:33:29 -08:00
Jean-Michel Trivi
8fdb0d4def More AudioPolicy registration
Define new usage in AudioAttributes to describe "virtual" sources.
Maintain a registration string in AudioPolicy and AudioMix that
 is used for the address of the mix in the native policy manager.
AudioPolicy registration marks the audio policy configuration and
 the audio mixes as registered.
The AudioPolicy class is used as the factory for the AudioTrack
 and AudioRecord objects that are respectively used as the
 source and sink of the mixes created by the policy owner.

Bug 16009464

Change-Id: I8e5bd351495257597c513d22597e273fcabdbc55
2014-10-30 17:22:34 -07:00
Benson Huang
ce4483cb83 [FM] Add FM_TUNER audio source to support L version FM radio app
1.MediaRecorder.java: Add FM_TUNER audio source type for FM record.
    2.AudioRecord.java: For FM output to the other device,
     (except the headset case), record the FM tuner signal to a track
      and playback the recorded signal by a track.
    3.AudioAttributes.java: Thus we use AudioRecord, need to modify
      setCapturePreset to support MediaRecorder.AudioSource.FM_TUNER.

    Review: https://partner-android-review.git.corp.google.com/#/c/182071

    Signed-off-by: Benson Huang <benson.huang@mediatek.com>

Change-Id: If068d0bbbffb4848887004396a8a8d9bcba1334e
2014-10-06 18:50:12 +00:00
Eric Laurent
bdad1afa92 AudioRecord: add HW hotword capture flag
Bug: 17575019.
Change-Id: Ifa8b8342dffa12e1943b8f9105f6ab1fa4a2b1a6
2014-09-19 17:43:29 -07:00
Jean-Michel Trivi
04f55a490d more AudioAttributes javadoc
Expand the AudioAttributes and associated Builder javadoc.

Bug 17059703

Change-Id: I81b8d48a3b5b3c203f02da3e37228e5ef7b5451d
2014-09-12 15:56:46 -07:00
Eric Laurent
56340fc2e8 unhide AudioAttributes flag FLAG_HW_AV_SYNC
Bug: 17112525.
Change-Id: Ia817d8e4b6e517da04f948bcb138fc38faea6caf
2014-09-08 18:51:35 -07:00