Bug: b/132455654
Test: build and run on automotive hardware. Use kitchen sink to send
and receive messages.
Change-Id: Ic0f04640f1894d6cf336ba7e641df9cf148a2bbd
* In current design, Bluetooth AdapterState stops all BR/EDR
profiles' service and triggers onServiceDisconnected callback to
all binder clients before BluetoothManagerService invokes
onBluetoothStateChange(false), which means unbind service
would never be called in framework.
* Do unbind service when onServiceDisconnected is invoked.
* Move profile binder logic to BluetoothProfileConnector except:
- BluetoothHeadset: its binder logic is in BluetoothManagerService
- BluetoothPbap: it has an individual ServiceListener
Bug: 129037442
Bug: 129437895
Test: Bluetooth ON/OFF stress test.
adb shell dumpsys activity services | egrep "com.android.bluetooth"
to check whether AppBindRecord for com.android.bluetooth grows
Change-Id: Id0d85866d386962b94d2d966f0a864b1da165d13
Added more information into Android SDK for LE Connection-oriented
Channels (CoC) so that it matches the corresponding RFComm
documentation.
Bug: 70683224
Test: Compile
Change-Id: I40abde70a7ca6bcd194ee75bd8367c0ed9e97d05
(cherry picked from commit bcbc130235)
Merged-In: I40abde70a7ca6bcd194ee75bd8367c0ed9e97d05
- Modify MetadataListener to as an interface and rename
it to OnMetadataChangedListener
- Fix typo UNTHETHERED -> UNTETHERED
- Add NonNull annotation for metadata API parameters
- Re-design metadata unregister API
- Change metadata type to byte array
Bug: 124448651
Bug: 126701203
Bug: 126699213
Test: build pass
Change-Id: I79460071c7693f648e92cf849738c24f8bc269d9
- Remove silence state extra data from ACTION_SILENCE_MODE_CHANGED
intent
- Rename getSilenceMode -> isInSilenceMode
- Throw IllegalStateException if Bluetooth is not enabled
Bug: 124448652
Test: runtest bluetooth
Change-Id: I6a8d8d848249faaac34e87408dcf750073b03584
Remove the @UnsupportedAppUsage and add the @IntDef for the Profile
Connection States in the Hearing Aids Profile API. Also, the parent
class BluetoothProfile has its Profile Connection States annontated.
Bug: 128523382
Test: Compile only
Change-Id: Ibd02516fa637ddb48d70a8dfacf607f047aec282
Added NonNull annotations to the 4 LE Connection-oriented channel API in
BluetoothDevice and BluetoothAdapter.
Bug: 126701988
Bug: 126701989
Test: Compile only
Change-Id: I2d4dc8fbd06e30c782123e01f8481d249e40ee02
When the corresponding profile service is not available on device,
bluetoothA2dp, bluetoothHidHost and bluetoothPbap will report
IllegalArgumentException when bluetooth is disabled. This change avoid
that exception.
Bug: 127359897
Test: local test and observe there is no IllegalArgumentException when
bluetooth is disabled
Change-Id: I457e5225b8710dd5d02c405ef558892e99d1736f
(cherry picked from commit ee8371007b82ff8c6d26e8ac90c6e3d3cf6bf2a8)
Bug: 126699327
Bug: 119617521
Test: Ran with CTS tests for Hearing Aids Profile, android.bluetooth.cts.HearingAidProfileTest
Change-Id: If83052a68c867d839e263f490592b80bef513a01
If they were null, then the Parcelable would fail to work.
Bug: 126726802
Test: manual
Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014
Exempt-From-Owner-Approval: Trivial API annotations
- Public this API to help A2DP state machine check selectable
codec capabilities status.
Bug: 124254557
Bug: 125551347
Test: runtest bluetooth
Change-Id: If44887f756d2e8348e8f76dfb67b77b993ffd8db
A lot of unresolved link errors showing up after go/ag/5172152.
Test: m -j docs with -lerror enabled
Bug: b/116163454
Change-Id: I74d1f75e0f00015410a63e13103c28a9c84b4fe0
New AudioDeviceBroker class running in audio service.
Has dedicated message loop for handling audio device
connections and disconnections.
New helper classes for AudioDeviceBroker:
- BtHelper for Bluetooth
- AudioDeviceInventory to manage list of devices
Bug: 112863932
Test: media CTS + audio CTS Verifier
Change-Id: I3e8f662a9d82fa7245695888e14fac7f4fc6e728
Policies of silence mode:
1) If an active device (for A2DP or HFP) enters silence mode,
the active device for that profile will be set to null.
2) If a device exits silence mode while the A2DP or HFP active
device is null, the device will be set as the active device
for that profile.
3) If a device is disconnected, it exits silence mode.
4) If a device is set as the active device for A2DP or HFP,
while silence mode is enabled, then the device will exit
silence mode.
5) If a device is in silence mode, AVRCP position change event
and HFP AG indicators will be disabled.
6) If a device is not connected with A2DP or HFP, it cannot
enter silence mode.
Bug: 112323989
Test: Manual, runtest bluetooth
Change-Id: If7f340de38c350f17c37f00a3a2e871876baa20d
Add the new public Android APIs for the ASHA Hearing Aids Profile.
Bug: 119617521
Bug: 120222233
Test: Run with the new HearingAidProfileTest CTS test
Change-Id: I05fc3d565bd22b5000765122da7714d961dbc15b
The getProfileProxy will return false if Hearing Aids Profile is not
supported. Also the getSupportedProfiles will return the correct support
for Hearing Aids even when Bluetooth is disabled.
Test: Manual testing with configuration enabled and disabled.
Bug: 119617521
Change-Id: I146bd3bc36d4c474f7bca18a05b679fb8e70ca63
Add API in AudioManager to query offload A2DP encoding formats
supported on primary HAL. This can be used instead of reading
from property
Bug: 111812273
Test: make
Change-Id: I168f288d0bf32d6c9733c9b57934084667e794ee