Mostly due to no standard stream configurations being defined,
and for the correct overrides for DEPTH_POINT_CLOUD format.
Bug: 20537722
Change-Id: I8a18f5f68697a09dcc4d7555e51728193fe7f333
So that adding and removing device listeners is thread-safe.
Bug: 22909752
Change-Id: I1369ab53c865b54e6e5eb8ea3e8d437fdd1d7197
Signed-off-by: Phil Burk <philburk@google.com>
When connecting/disconnecting and audio device, AudioService
was assuming that the call was always successful through
AudioSystem.setDeviceConnectionState(). In the case of the
connection of a wired headset (mic + headphones), this also
causes A2DP to not be used for media playback.
The connection can fail if the audio device being connected
is not supported by the platform. But if this failure is
not taken into account for DEVICE_OUT_WIRED_HEADSET or
HEADPHONES, A2DP would still be avoided even when an A2DP
device reconnects at boot.
The fix consists in executing the connection logic only when
the connection was deemed successful. Nothing is altered
on the disconnection code path, or the direct connection
of A2DP.
The javadoc is updated in AudioSystem to indicate the return
codes to take into account in setDeviceConnectionState().
Bug 22511833
Change-Id: I22f0d2c7d4ab4fb9ee1be2f248907f721596a16f
These file types don't have "audio/" MIME type, so check for those
MIME types explicitly.
Bug: 22803550
Change-Id: Ia62f94ad4a19409d6a50462935de005bc572f93a
Adds crucial information including required permissions,
MIDI UUID, and call to openBluetoothDevice().
Bug: 22606182
Change-Id: I47393bd0ecc2601906f6e50075d694c9cc17c993
Signed-off-by: Phil Burk <philburk@google.com>
When querying for ringtones, only look for ringtones on external
storage when the caller has READ_EXTERNAL_STORAGE.
Document this behavior in the javadoc of the affected methods.
Bug 22545684
Change-Id: Iae9c9a4ccaf635da8af2ac289b6b4df1b16c5d11
Instead of requiring every application that calls Rintone.getTitle()
to request android.permission.READ_EXTERNAL_STORAGE, pass the call
through to the system UI process. We only do this for media store
URIs.
Bug: 22067670
Change-Id: I38cf3fb8d769ef6984c41a7b04afbbd4c57175ce
In notifyTracksChanged(), the calling onTracksChanged() could be delayed.
To prevent race condition on tracks, we should use the copy of tracks.
Bug: 22436933
Change-Id: I0c595df9d06d5f7bda4a9f8c21a661f7aa7db71f
Add per user versions of mute methods so
device policy manager can mute the correct
user.
Just persist change if the calling user
isn't the current user.
Treat calls to audio manager coming from uid
1000 as if they were coming from current user
rather than user 0 so that the correct user's
user restriction is checked.
Bug: 21782066
Bug: 21778905
Change-Id: I51469b741096d8a2ffdc520eaf5b3fd754f2c819
It ends up that MediaProvider is persisting MTP storage IDs in its
database, so we need to make sure we generate stable IDs over time,
otherwise we can end up looking into a black hole.
Bug: 22256092
Change-Id: I6a75c239aac1b71fd5f6df0df69b24971079a086