Unhide some compressed audio formats for offloading
or direct output.
Unhide AudioManager method to query whether a given
format can be offloaded on the device.
Unhide AudioTrack.Builder method to request offload.
Unhide callback for new AudioTrack events and
associated methods.
Bug: 63934228
Test: same as MediaPlayer2 tests
Change-Id: If763eb2424baa6aa55cb60e96bb3564c4234e23f
The new API setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent()
is similar to the existing setBluetoothA2dpDeviceConnectionState()
except that it takes one extra argument that indicates whether the
AudioManager.ACTION_AUDIO_BECOMING_NOISY intent will be sent:
setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(
..., boolean suppressNoisyIntent)
This API is needed so the Active A2DP Sink device can be changed
while audio is streaming, and the audio continues playing on the new
Active Device.
Bug: 69269748
Test: Manual: multiple connected A2DP devices, and selecting each as
the Active Device.
Change-Id: I75766a58d9e6b42b3ce68bd9ad3a7a72ca5a1023
Surface new callbacks from native AudioTrack to
Java through the existing callback method and
post to the Java instance.
New AudioManager method to query whether offload
is supported.
Allow using non-PCM format on a track built for
offload (new option in AudioTrack.Builder)
Numerous "todo" are added for the unhide of the
API additions and will be in a separate patch.
Bug: 63934228
Test: same as MediaPlayer2 tests
Change-Id: I98a81ffffc95c7596a39ee634dcb89bb854f3178
We already make a generic native routing event handler. There is no need
to keep the handler class in MediaRecorder.
Bug: 64038649
Test: runtest --path cts/tests/tests/media/src/android/media/cts/RoutingTest.java
Change-Id: I2d54977a6f990fb549d27aabf52f040bd9da58fa
Since the inherited methods hashCode and equals from the class Object is
already a public API, they don't need to be marked as SystemApi; they
haven't been appear in system-current.txt.
Having annotation on such members hasn't been harmful,
but will soon trigger CTS failures when we do the exact match for
SystemAPIs; a runtime entity annotated as @SystemApi have to exist in
the documented API (e.g. system-current.txt). So, removing the bogus
annotations.
Bug: 67891551
Test: m -j does not require m update-system-api
Change-Id: I40d60ed524d660f47b5c569980c28c6f0bd83db9
This change adds support for priveliged apps with the MODIFY_PHONE_STATE
permission to mute the voice call stream using the adjustStreamVolume method.
The change adds specific handling for VOICE_CALL as a mutable stream.
Bug: 71017199
Fixes: 7107199
Test: Tested manually
Change-Id: Ic6d0466992dcea4f37899eac80a0102c992bdd72
AudioManager: new methods in SDK for querying:
- the minimum volume index
- the volume in dB for a given index on a given device type
Bug: 64844598
Test: cts-tradefed run cts-dev -m CtsMediaTestCases -t android.media.cts.AudioManagerTest
Change-Id: Iac999e7676643272820a4f1f4a32cf3a781ab7cd
MtpStorageManager keeps track of file information and
send notifications for new files. MtpDatabase now uses
this instead of MediaProvider for getting object information,
although some operations are still reflected into MP.
Since MtpStorageManager handles storage ids, remove
that field from StorageVolume and VolumeInfo.
Clean up a lot of the jni code for MtpDatabase.
Bug: 63143623
Test: Test every MtpOperation in a variety of situations on Linux and
Windows. Also use the shell to manipulate files. Verify that the cache
is consistent throughout, and the operations behave as expected. Verify
files created by the shell appear.
Test: adb shell am instrument -w android.mtp /android.support.test.runner.AndroidJUnitRunner
Change-Id: Id4ea810047b0c323399cd833047733e5daafb30a
Motivation of this change:
In CarAudioService, we enumerate the AudioDeviceInfo on device via
AudioManager.getDevices(). The AudioDeviceInfo would be used to
construct the dynamic routing via AudioMix.Builder, which accepts
AudioDeviceInfo.
Meanwhile, we wire also the volume change to hal via
AudioManager.setAudioPortConfig(), which accepts AudioPort.
Bug: 65751827
Test: lunch bat_land-userdebug && m -j
Change-Id: I438cfd61e502340def5376fe373a296ab69ff86e
This CL mirrors changes made to the android.support.annotation version
of IntDef, to keep the usage and semantics identical (though the
internal version of @IntDef and @LongDef are of course hidden and not
part of the SDK.)
Test: These annotations have source retention and therefore have
no runtime impact; the change was compiling the SDK.
Change-Id: Idaf47e8d983c88be1bd8f938615c86611014b45a
Behaves pretty much the same as @IntDef, but now supports "suffix"
in addition to "prefix" when matching constants.
Test: manual docs output looks sane
Bug: 70406696
Change-Id: I35064b0f9f36f1f13ccdb40302d818a004014f15
Added a note to the various getFrame... methods saying that if you
don't need a full-resolution frame, getScaledFrameAtTime() is
preferable. Removed existing text suggesting you use those other
methods for fetching a thumbnail.
Staged revised doc to:
http://go/dac-stage/reference/android/media/MediaMetadataRetriever.html
Bug: 69804003
Test: make ds-docs
Change-Id: I54250b2d127987ef3c1633c011f5eac6b747372e
When emitting a method or field, verify that we're able to reference
all mentioned types. This ensures that we don't accidentally
reference undefined classes/interfaces.
Test: manual inspection of API files
Bug: 69791141
Change-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4
These changes are needed to ensure that "checkapi" doesn't claim
that we're changing the API after an upcoming doclava change.
Test: manual inspection of API text files
Bug: 69505783
Change-Id: I8292ba80cc65b7dd78f0e9dba4fcc7ffcedfab9c
MtpServer needs this function to update the database for directory
copy operation.
Test: Call this function from MtpServer and database is updated in
directory copy scenario.
Change-Id: I9b316f4dbf7f35922292c33ab02f9efebc867aa8
Signed-off-by: kyle_tso <kyle_tso@htc.com>