OSDN Git Service
Joseph Pirozzo [Thu, 7 Mar 2019 00:00:21 +0000 (16:00 -0800)]
AVRCP Controller Play Position Changed
Implement code to register for the AVRCP notification
EVENT_PLAYBACK_POS_CHANGED such that playback position gets update on
skip to beginning, and during audio scrubbing from phone.
Bug:
119119967
Test: Play music, scrub audio to another position on phone, observe
playback position is in sync.
Change-Id: Ib8459dece7629622649ba6ed340dcd697c700b09
Jakub Pawlowski [Wed, 6 Mar 2019 11:47:59 +0000 (12:47 +0100)]
Fix for connection attempt after connection cancel
When connection attempt is canceled, we put the transport control block
(p_tcb) into CLOSING state, but we never close or free it.
For LE devices that have not established the connection, it's safe to
go straight to CLOSED state and free the p_tcb.
This issue was introduced during connection manager refactor.
Bug:
127242749
Test: GattConnectTest
Change-Id: I8e45ead9b071c60e95d2e60dcea8afdbaefb92b1
Jakub Pawlowski [Wed, 6 Mar 2019 06:40:54 +0000 (06:40 +0000)]
Merge "Clear the link key when releasing security records"
Treehugger Robot [Tue, 5 Mar 2019 20:57:51 +0000 (20:57 +0000)]
Merge "Fall back to CLOCK_BOOTTIME if CLOCK_BOOTTIME_ALARM fails"
Jakub Pawlowski [Tue, 5 Mar 2019 11:10:02 +0000 (12:10 +0100)]
Clear the link key when releasing security records
Test: compilation
Bug:
127479372
Change-Id: Ia571a2048fa5ca85c45b03b39d398e480aadb55a
Fukai Wang [Wed, 26 Jul 2017 01:35:21 +0000 (09:35 +0800)]
Add btm_free() to clean up btm properly
Test: Run AdapterRepeatedEnableDisable in system/bt/test with
kTestRepeatCount set to 1000.
Change-Id: I6d6650e735697bf97098827b5a9d39552c6616d8
Alistair Strachan [Sat, 2 Mar 2019 01:45:09 +0000 (17:45 -0800)]
Fall back to CLOCK_BOOTTIME if CLOCK_BOOTTIME_ALARM fails
If the cuttlefish device does not have an rtc device (such as the crosvm
VMM) the bt osi layer can promote crashes due to it not being able to
create a CLOCK_BOOTTIME_ALARM timer. Bring back a fallback but enable it
at runtime instead of compile time.
Bug:
126955943
Test: run with cuttlefish
Change-Id: I3ab0282b3e8fde776aa7b37d5772c8f62cf957bf
Treehugger Robot [Mon, 4 Mar 2019 18:49:24 +0000 (18:49 +0000)]
Merge "bta_jv_act: Avoid writing through NULL/freed pointer"
Treehugger Robot [Mon, 4 Mar 2019 18:45:11 +0000 (18:45 +0000)]
Merge "bta_jv_act: Avoid potential NULL dereference"
Treehugger Robot [Mon, 4 Mar 2019 16:20:17 +0000 (16:20 +0000)]
Merge "When stopping Hearing Aids, send Stop cmd to devices"
Stanley Tng [Sat, 2 Mar 2019 00:54:11 +0000 (16:54 -0800)]
When stopping Hearing Aids, send Stop cmd to devices
This fixes the bug where the Stop command is not send to the Hearing
Aids devices which switching audio away from Hearing Aid.
Bug:
126465843
Test: Manual switching between A2DP and Hearing Aids while
playing audio.
Change-Id: Ifd8eaed7496e7e16c3948683c518d7627824d3e8
Treehugger Robot [Sat, 2 Mar 2019 00:37:41 +0000 (00:37 +0000)]
Merge "Reland BluetoothAudio HAL: flip to be enabled by default"
Greg Kaiser [Fri, 1 Mar 2019 13:54:56 +0000 (05:54 -0800)]
bta_jv_act: Avoid writing through NULL/freed pointer
Before writing to 't->init_called', we know that 't' might be
NULL (there's an explicit check), so we add another check here
to assure it's not NULL. Furthermore, we're possibly freeing
't' prior to writing to 't->init_called'. So we set 't' NULL
in that case, so our new NULL check will let us avoid corrupting
memory we no longer own.
Test: TreeHugger
Change-Id: Iaa246d5190f5f99610dace24707e74a846df3cf3
Greg Kaiser [Fri, 1 Mar 2019 13:34:26 +0000 (05:34 -0800)]
bta_jv_act: Avoid potential NULL dereference
When 'tc' is NULL (a condition we check for), 't' is never
set to a non-NULL value, yet is still dereferenced. We move
our NULL check of 't' to make this code safe.
Test: TreeHugger
Change-Id: Ibfea74963dd763401ea18ccdd24a51ecd0baefc5
Treehugger Robot [Fri, 1 Mar 2019 02:33:47 +0000 (02:33 +0000)]
Merge "Reland Start the media encoder for a successful BTA_AV_START_EVT"
Cheney Ni [Sat, 23 Feb 2019 18:14:20 +0000 (02:14 +0800)]
Reland BluetoothAudio HAL: flip to be enabled by default
Bug:
126304229
Test: Switch BluetoothAudio HAL and A2DP offload manully
Change-Id: I936e6c9e9fa3e35508ec435dcff8fa54b3f4d883
Merged-In: I936e6c9e9fa3e35508ec435dcff8fa54b3f4d883
Cheney Ni [Tue, 26 Feb 2019 03:56:25 +0000 (11:56 +0800)]
Reland Start the media encoder for a successful BTA_AV_START_EVT
When phone is A2DP source and receives BTA_AV_START_EVT, we need to
proceed to start the encoder of software or offload, and ack back to
audio HAL. When issue happened, the remote as the AVDTP_START initiator
triggered BTA_AV_START_EVT, and caused we did not start the encoder to
stream the audio. This change simplified the handler of BTA_AV_START_EVT
to always start the encoder for a successful event, and ack to audio HAL
if we are AVDTP initiator.
Bug:
126136429
Test: A2DP play and paused manually on Pixel 2 and Pixel 3
Change-Id: Ieb479fd6f42da1bf37f8f32af7794d86e04cac1b
Merged-In: Ieb479fd6f42da1bf37f8f32af7794d86e04cac1b
Yi Kong [Fri, 1 Mar 2019 00:30:53 +0000 (00:30 +0000)]
Merge "Fix a bunch of incorrect syntax statements"
Yi Kong [Fri, 1 Mar 2019 00:05:09 +0000 (16:05 -0800)]
Fix a bunch of incorrect syntax statements
Found by the upcoming compiler update.
Test: m checkbuild
Change-Id: Ieafcddde7c91de990aaf7bf42de58039ba5555cd
Sal Savage [Thu, 28 Feb 2019 19:09:49 +0000 (19:09 +0000)]
Merge "Audio HAL: Check if ProviderFactory is null before printing debugging"
Sal Savage [Wed, 27 Feb 2019 20:23:07 +0000 (12:23 -0800)]
Audio HAL: Check if ProviderFactory is null before printing debugging
Test: Build and flash on auto hardware to make sure the error went away
Change-Id: I90a8f3a0e0cbc23e7e4a2edcead46402f44ef3a4
Hansong Zhang [Wed, 12 Dec 2018 22:52:00 +0000 (14:52 -0800)]
Reactor-based alarm implementation
* Use Reactor+Thread (common/thread.h) to replace existing
libchrome-based message_loop_thread
* Use Alarm/RepeatingAlarm to replace existing Timer, by using
kernel-based timerfd, to make all components unified
Bug:
110303473
Test: run unit test, and run benchmark
Change-Id: I6d6bc8dc3897649d0f6cc00ce0aa7054a3ddc09d
Hansong Zhang [Wed, 12 Dec 2018 22:52:00 +0000 (14:52 -0800)]
Reactor-based threading model
* Use Reactor+Thread (common/thread.h) to replace existing
libchrome-based message_loop_thread
* Use Handler to implement multiple message queue per thread, by using
kernel-based eventfd
Test: run unit test, and run benchmark
Change-Id: Idd2e4ef99fb9a7b2c0956de0e372c67a1098f1b6
Treehugger Robot [Fri, 22 Feb 2019 06:41:12 +0000 (06:41 +0000)]
Merge "clang: Set to 120 characters per line"
Hansong Zhang [Wed, 9 Jan 2019 03:39:22 +0000 (19:39 -0800)]
clang: Set to 120 characters per line
Modern terminals and text editors can display 120 characters
Test: compile
Change-Id: I799de73e622d045ba997e749eb15d5f786764fdd
Cheney Ni [Thu, 21 Feb 2019 11:54:10 +0000 (19:54 +0800)]
Don't require A2DP codec information when initialize audio_hal_interface
Before set active device, it is normal that can't get the current codec
information, and will be setup later. If we query the codec and break
the init, it will cause the stack can't use Bluetooth Audio HAL for
A2DP, so remove here.
Bug:
125245738
Test: Connect / disconnect multiple A2DP manually when playing
Change-Id: Ic5493141cfba60115783c03fac4faf56a7a64b07
Kim Schulz [Wed, 20 Feb 2019 15:33:38 +0000 (16:33 +0100)]
Fix crash when more than 2 PHYs specified for connection
Bug:
124793834
Change-Id: Ide304e22d4b390f252ba9577aeb5d9a67fa1a1cd
Treehugger Robot [Wed, 20 Feb 2019 17:30:52 +0000 (17:30 +0000)]
Merge changes I58ceea50,I73319018
* changes:
Check A2DP UIPC state before feeding data
Break the control early when the stream state of Bluetooth Audio changed
Cheney Ni [Wed, 20 Feb 2019 13:41:33 +0000 (21:41 +0800)]
Check A2DP UIPC state before feeding data
When using the new Bluetooth Audio HAL, A2DP UIPC won't be initialized
and can't be accessed. This change checks the UIPC is valid before
accessing, and prevents unexpected SIGSEGV.
Bug:
124645960
Test: Start / pause A2DP manually
Change-Id: I58ceea503d0c159817167bb3ca3b99b6f933bf23
Cheney Ni [Wed, 20 Feb 2019 06:27:06 +0000 (14:27 +0800)]
Break the control early when the stream state of Bluetooth Audio changed
When switching active device, the Bluetooth stack would first stop the
datapath while the audio HAL was still streaming, and the failure by
busy was returned to HAL. Since the control status was returned, HAL
should not ignore the result or kept waiting, because the stack wouldn't
queue the control.
Bug:
124838461
Test: switch the codec and active device manually
Change-Id: I73319018f726590c52c07547af90fac57114b58a
Xin Li [Mon, 18 Feb 2019 23:58:54 +0000 (15:58 -0800)]
DO NOT MERGE - Merge PPRL.190205.001 into master
Bug:
124234733
Change-Id: I260dc329f1d83ef8a9cab7e9caee32ba47277477
Satish kumar sugasi [Mon, 18 Feb 2019 03:12:19 +0000 (19:12 -0800)]
Merge "Add support for a2dp offload HAL ver2.0"
am:
10cad005f5
Change-Id: Ic77b64e6703e89599399c8f857647d58c29d3310
Treehugger Robot [Mon, 18 Feb 2019 03:01:45 +0000 (03:01 +0000)]
Merge "Add support for a2dp offload HAL ver2.0"
Hansong Zhang [Sat, 16 Feb 2019 04:10:36 +0000 (20:10 -0800)]
Merge "Rename a2dp_software_encoding to a2dp_encoding"
am:
ad392e481f
Change-Id: I24ca935afc634a93f62ed9b72ea23bbe244cece6
Treehugger Robot [Sat, 16 Feb 2019 04:05:34 +0000 (04:05 +0000)]
Merge "Rename a2dp_software_encoding to a2dp_encoding"
Satish kumar sugasi [Thu, 7 Feb 2019 22:40:35 +0000 (14:40 -0800)]
Add support for a2dp offload HAL ver2.0
Test: manual
Change-Id: Id5323b3c22d6aff6c194e3835eefeb22e32145c9
Hansong Zhang [Sat, 16 Feb 2019 00:19:44 +0000 (16:19 -0800)]
Rename a2dp_software_encoding to a2dp_encoding
Change-Id: Ief1c8cb1a768902a719c4956947d16081ad20add
Cheney Ni [Fri, 15 Feb 2019 19:27:27 +0000 (11:27 -0800)]
Remove unnecessary unlock
am:
9ddb2adeb6
Change-Id: Ibba705841e26a19698ce8405e3335dd375be2b31
Cheney Ni [Fri, 15 Feb 2019 15:47:15 +0000 (23:47 +0800)]
Remove unnecessary unlock
Bug:
124480689
Test: manual A2DP test
Change-Id: Id4cd4e2c97a9c4ed7219d8f1b4c15bf82b1031be
Xin Li [Thu, 14 Feb 2019 00:41:16 +0000 (16:41 -0800)]
DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master
Bug:
124234733
Change-Id: I2ad9e0da67801687409b5e755d2436ba3c99770a
Joseph Pirozzo [Wed, 13 Feb 2019 20:20:40 +0000 (12:20 -0800)]
Merge "Flush buffer to filesystem before fsync"
am:
2cc25459dd
Change-Id: Ic12f4a62777d89a4bc01442ab1864c1566535614
Joseph Pirozzo [Wed, 13 Feb 2019 20:07:41 +0000 (20:07 +0000)]
Merge "Flush buffer to filesystem before fsync"
Joseph Pirozzo [Fri, 8 Feb 2019 21:38:27 +0000 (13:38 -0800)]
Flush buffer to filesystem before fsync
If power is lost immediately after updating a config file it is possible
to save an empty file in its place. By flushing the stream buffer to
the filesystem before flushing the filesystem to the disk this risk is
mitigated;
Bug:
122607444
Test: Update Bluetooth Device name and interrupt power to device.
Change-Id: Iaf89c4d9c594e925507e713a9febbf23a7cdae43
Jack He [Sat, 9 Feb 2019 09:39:00 +0000 (01:39 -0800)]
Merge "Metrics: Log manfuacturer information from Device ID profile to statsd"
am:
3894d1f0e6
Change-Id: Ia1b71faa25a6f1544089e7f228363f5555292925
Treehugger Robot [Sat, 9 Feb 2019 09:29:24 +0000 (09:29 +0000)]
Merge "Metrics: Log manfuacturer information from Device ID profile to statsd"
Jack He [Sat, 9 Feb 2019 04:18:22 +0000 (20:18 -0800)]
Merge "Metrics: Log L2CAP and RFCOMM socket connection state changes to statsd"
am:
b8f9808ea5
Change-Id: I12a2985a5c5f5d93c65c077de6abb0ad00adb7d8
Treehugger Robot [Sat, 9 Feb 2019 04:09:45 +0000 (04:09 +0000)]
Merge "Metrics: Log L2CAP and RFCOMM socket connection state changes to statsd"
android-build-team Robot [Sat, 9 Feb 2019 02:19:28 +0000 (02:19 +0000)]
Snap for
5180536 from
6f2759c64311b505b1ddc73e2bfc9f0330845780 to pi-platform-release
Change-Id: Ia9fad0673602c58b504e41515cfe515e751fa848
Jack He [Thu, 7 Feb 2019 05:53:41 +0000 (21:53 -0800)]
Metrics: Log manfuacturer information from Device ID profile to statsd
Bug:
112969790
Test: make, test drive with statsd
Change-Id: Ie22aaad07037f97017186ad1f1d9ad124e4756c0
Jack He [Thu, 7 Feb 2019 04:24:24 +0000 (20:24 -0800)]
Metrics: Log L2CAP and RFCOMM socket connection state changes to statsd
* Log L2CAP LE Coc, L2CAP BREDR, and RFCOMM socket connection state
changes, including port number, socket type, connection states,
number of bytes sent and received, server port number, uid of socket
owner
* Address is empty if this is a server port
Bug:
112969790
Test: make, test drive with statsd
Change-Id: Ic0ee93a6d9e4fa4109ddb89dea5e92907c49f2fc
Zach Johnson [Fri, 8 Feb 2019 01:37:55 +0000 (17:37 -0800)]
Update owners
am:
5f896dff62
Change-Id: I6b148cf88d294200eb8df4d5e068092fe6b5d4b2
Zach Johnson [Thu, 7 Feb 2019 23:08:57 +0000 (15:08 -0800)]
Update owners
remove folks not on team anymore, add new folks
Change-Id: Ib5834ecb068b8149b8b8f53373100786d4533ea0
Myles Watson [Thu, 7 Feb 2019 04:13:16 +0000 (20:13 -0800)]
Merge "Add a ClassOfDevice type"
am:
1127b7ca1e
Change-Id: I24c9a22d2dfb000c6778fde7150038445c90b218
Treehugger Robot [Thu, 7 Feb 2019 04:04:02 +0000 (04:04 +0000)]
Merge "Add a ClassOfDevice type"
Cheney Ni [Thu, 7 Feb 2019 03:51:29 +0000 (19:51 -0800)]
Merge "Add audio channel of Bluetooth Audio Hal v2 for Hearing Aid"
am:
d5b9a48dd4
Change-Id: I1d553f74fb1c81b9796225cf3a0fba2faa43c6b4
Jack He [Thu, 7 Feb 2019 03:46:54 +0000 (19:46 -0800)]
Merge "Metrics: Log SDP attributes to statsd"
am:
56906d7952
Change-Id: I0bf9a363b011ad546824b9826b9721e391cf5b5a
Treehugger Robot [Thu, 7 Feb 2019 03:39:00 +0000 (03:39 +0000)]
Merge "Add audio channel of Bluetooth Audio Hal v2 for Hearing Aid"
Treehugger Robot [Thu, 7 Feb 2019 03:35:01 +0000 (03:35 +0000)]
Merge "Metrics: Log SDP attributes to statsd"
Jack He [Sat, 2 Feb 2019 02:30:21 +0000 (18:30 -0800)]
Metrics: Log SDP attributes to statsd
* Log ProtocolDescriptorList's protocol version field to statsd
* Log BluetoothProfileDescriptorList's profile version field to statsd
* Log SupportedFeatures for A2DP, HFP, AVRCP, PBAP, MAP to statsd
* Log SDP metrics before we disconnect from L2CAP during SDP discovery
* Values are logged in small endian array
* Do this logging before we declare an SDP search is done
Bug:
112969790
Test: make, test drive with statsd
Change-Id: Idd340e495ecb85abc27de2b2d71305ee5218b43c
Cheney Ni [Wed, 12 Dec 2018 12:20:28 +0000 (20:20 +0800)]
Add audio channel of Bluetooth Audio Hal v2 for Hearing Aid
This brings a new interface for Hearing Aid to communicate with audio.
Both audio control and data path go through the new Bluetooth audio
HAL and is similar to A2DP usecase. It initials this interface of client
side and get audio provider at setup and manage session with audio hal.
There is a system property to switch between the UIPC socket and the
Bluetooth Audio Hal v2 interface:
persist.bluetooth.bluetooth_audio_hal.enabled
Bug:
111519504
Bug:
120222104
Test: manual test with Hearing Aid
TODO: Pass audio matadata into Hearing Aid service
Change-Id: I648775d61a8a4fe4fa680dd31ffc39fc89267c06
Cheney Ni [Thu, 7 Feb 2019 00:10:11 +0000 (16:10 -0800)]
Merge "Add stack side interface for Bluetooth audio HAL V2"
am:
9ac498e5f3
Change-Id: Id1b7339721558e2772eca4ce9eebb57a51a04f9d
Treehugger Robot [Thu, 7 Feb 2019 00:00:28 +0000 (00:00 +0000)]
Merge "Add stack side interface for Bluetooth audio HAL V2"
Joseph Pirozzo [Wed, 6 Feb 2019 21:21:54 +0000 (13:21 -0800)]
Merge "PBAP Client SDP record"
am:
02efe2113f
Change-Id: Ie681046a23a481471608df00d1367271a6be0229
Cheney Ni [Thu, 8 Nov 2018 08:41:02 +0000 (16:41 +0800)]
Add stack side interface for Bluetooth audio HAL V2
This bases on the new Bluetooth Audio HAL V2 to provide a HIDL based
interface for the stack. There will be a common interface named
BluetoothAudioClientInterface that the stack can register its session for
stream of A2DP or Hearing Aid. When the stack registers to this
pre-implemented BluetoothAudioClientInterface, the audio HAL can control
the stream state and the stack can report results to the audio HAL.
When running for software encoding, there will also data path via FMQ to
provide the bridge between audio HAL and the stack. This change contains
A2DP software encoding (legacy) only.
Bug:
111519504
Test: manual with A2DP software encoding (legacy)
Change-Id: Iac5a43c929d4036fa86e2b0c2c2920ca2b9dfa50
Joseph Pirozzo [Wed, 6 Feb 2019 21:10:24 +0000 (21:10 +0000)]
Merge "PBAP Client SDP record"
Cheney Ni [Tue, 5 Feb 2019 22:36:05 +0000 (14:36 -0800)]
Add generic audio HW module for Bluetooth audio HAL V2
am:
aef115f777
Change-Id: I05e5eeea39f01834ac490973047475d818b86a76
Cheney Ni [Wed, 7 Nov 2018 00:41:55 +0000 (08:41 +0800)]
Add generic audio HW module for Bluetooth audio HAL V2
This is loaded from audio HAL when initials the audio HW module,
bluetooth_audio, and uses Bluetooth audio HAL V2 to provide stream APIs
for control and data path. When the audio framework opens different
input or output streams, it uses the audio device type to choose which
SessionType is and pass to Bluetooth audio HAL so associates with the
Provider / Port pair and communicate with the Bluetooth stack.
* Audio contrl path uses IBluetoothAudioPort interface to interact with
the Bluetooth stack.
* Audio data path uses HIDL Fast Message Queue that is maintained within
IBluetoothAudioProvider HIDL and is ready after session started.
Bug:
111519504
Bug:
122503379
Test: manual
Change-Id: Ie668456179357c26397f5c6234ff46b5308dfe24
Jack He [Fri, 1 Feb 2019 23:39:58 +0000 (15:39 -0800)]
Metrics: Add classic pairing metrics
am:
16e6adb75b
Change-Id: I79755761aa7236dda7b59791248b47a84bf111ad
Jack He [Fri, 1 Feb 2019 01:44:46 +0000 (17:44 -0800)]
Metrics: Add classic pairing metrics
* Log HCI commands and events related to classic pairing
* Move all metrics logging for sending HCI command into a single
function
* Move all metrics logging for HCI command status into a single function
* Move all metrics logging for HCI Command complete into a single
function
* Move all metrics logging for HCI events into a single function
* Make sure we log all instances of HCI command sending methods,
including those with desinated callbacks
Bug:
112969790
Test: make, testdrive with statsd
Change-Id: I4b1ca4ee814096d84bcd93c8d7206b0a771a3210
Jack He [Fri, 1 Feb 2019 02:07:42 +0000 (18:07 -0800)]
Merge "Metrics: Log SMP pairing commands"
am:
b11e36df28
Change-Id: I7b20427bbec13e6a12cdc5a2a529480c9b6f5865
Treehugger Robot [Fri, 1 Feb 2019 01:57:35 +0000 (01:57 +0000)]
Merge "Metrics: Log SMP pairing commands"
Joseph Pirozzo [Thu, 17 Jan 2019 00:50:10 +0000 (16:50 -0800)]
PBAP Client SDP record
Add registration for PBAP Client SDP record when service is available.
Bug:
113505152
Test: Check SDP record via "sdptool browse"
Change-Id: I067eccbe0db17e32d0fc57ed57813fe1e63536d1
Jack He [Thu, 31 Jan 2019 23:17:08 +0000 (15:17 -0800)]
Metrics: Log SMP pairing commands
* Log SMP pairing commands and pairing failure reasons
Bug:
112969790
Test: make, testdrive with statsd
Change-Id: I51ae2af981a687954f7de3cee3caacce43d782b6
weichinweng [Thu, 31 Jan 2019 22:26:50 +0000 (14:26 -0800)]
Merge "Hearing Aid: Removes all registrations for connection when disconnect HA"
am:
221072caf0
Change-Id: I83875ebb05219a9453ba03d2abf6cfb3386a0bb4
Treehugger Robot [Thu, 31 Jan 2019 22:15:48 +0000 (22:15 +0000)]
Merge "Hearing Aid: Removes all registrations for connection when disconnect HA"
Jakub Pawlowski [Thu, 31 Jan 2019 21:45:00 +0000 (13:45 -0800)]
Fix race condition during LE device remove bond.
am:
552dc5aa3f
Change-Id: If138f7c19d12a40bd4809a25705a839ec5cfe60f
Jakub Pawlowski [Thu, 17 Jan 2019 21:31:39 +0000 (22:31 +0100)]
Fix race condition during LE device remove bond.
BTA_GATTC_CancelOpen doesn't execute immediately, but rather schedule
operation for execution later. During bond removal, we must make sure
that device is removed from white list before it's removed from
resolving list. Calling GATT_CancelConnect directly fixes this issue.
Additionally, after checking the logic, unconditional remove should
remove all connection attempts, including direct connections, rather
than just background connections.
Bug:
122918938
Bug:
112827989
Test: re-bond hearing aids
Change-Id: I9d861b7d83ea4da9c2a278eea2e34f2b7aca2417
Weichin Weng [Thu, 31 Jan 2019 05:52:10 +0000 (21:52 -0800)]
Merge "Hearing Aid: Add python script to dump audio data to file"
am:
3d83656421
Change-Id: I095bbae469527f4a302695720fb3146d6a9b6ea1
Weichin Weng [Thu, 31 Jan 2019 05:39:08 +0000 (05:39 +0000)]
Merge "Hearing Aid: Add python script to dump audio data to file"
Jack He [Thu, 31 Jan 2019 00:30:59 +0000 (16:30 -0800)]
Merge "Metrics: Log A2DP playback related atoms to StatsLog"
am:
60677562f5
Change-Id: I4f949c1016cff222a7e51f45d431b10bcbc547a6
Treehugger Robot [Thu, 31 Jan 2019 00:14:09 +0000 (00:14 +0000)]
Merge "Metrics: Log A2DP playback related atoms to StatsLog"
Jakub Pawlowski [Wed, 30 Jan 2019 22:13:17 +0000 (14:13 -0800)]
Fix for infinite loop in gatt_enc_cmpl_cback
am:
92dbc8654d
Change-Id: Idbad9e06e1267a458d05d329236be7c393f54cf0
Jack He [Mon, 21 Jan 2019 05:31:12 +0000 (21:31 -0800)]
Metrics: Log A2DP playback related atoms to StatsLog
* BluetoothA2dpAudioOverrunReported
- Logs when A2DP failed send encoded data to the remote device fast
enough such that the transmit buffer queue is full and we have to
drop data
* BluetoothA2dpAudioUnderrunReported
- Logs when A2DP failed to read from PCM source
* BluetoothDeviceRssiReported
- Logged when remote device's RSSI level is reported by the controller
* BluetoothDeviceFailedContactCounterReported
- Logged when ACL transmit queue was flushed by the controller
- This is normally disabled unless we set automatic flush timeout was
set to a non-zero value
- However, when this event is reported, the connection quality must
be very bad
* BluetoothDeviceTxPowerLevelReported
- Logged when transmit power level is reported for a particular
connection
Note on num_dropped_nanoseconds entry:
- This is the duration of audio dropped and is calculated by
multiplying the number of encoding actions with length of encoding
interval
Bug:
112969790
Test: make, testdrive with statsd
Change-Id: Ie6aa5ee71dea213e452497dd181fee91eea8f7b4
Jakub Pawlowski [Wed, 30 Jan 2019 15:39:22 +0000 (16:39 +0100)]
Fix for infinite loop in gatt_enc_cmpl_cback
Bug:
123574849
Change-Id: Id680cc794326b5d00c28dadf0d7aad98c0e4a5f2
Jack He [Wed, 30 Jan 2019 10:07:04 +0000 (02:07 -0800)]
Metrics: Add Bluetooth quality report to statsd
am:
12724bd83b
Change-Id: Ibceca50f90ba325db47a03983ebdf693cfaed90e
Jack He [Tue, 29 Jan 2019 22:51:46 +0000 (14:51 -0800)]
Metrics: Add Bluetooth quality report to statsd
Bug:
112969790
Test: make, test drive with statsd
Change-Id: I20232facbd40f7f49bf574f47754ba5222a2aa34
Jack He [Wed, 30 Jan 2019 05:15:26 +0000 (21:15 -0800)]
Merge changes I79037ddb,I9bab0078
am:
3fb1b1b89e
Change-Id: I0cbba0d141d93f342ae6e6f1a24a8b3266c8092f
Treehugger Robot [Wed, 30 Jan 2019 04:57:36 +0000 (04:57 +0000)]
Merge changes I79037ddb,I9bab0078
* changes:
Metrics: add remote version info log to statsd
Metrics: Log HCI timeout event over stats log
Jack He [Tue, 29 Jan 2019 22:49:34 +0000 (14:49 -0800)]
Metrics: add remote version info log to statsd
Bug:
112969790
Test: make, test drive with statsd
Change-Id: I79037ddb6c4af3bf3e5cc8a890c8ee66652b8a81
Jack He [Mon, 21 Jan 2019 07:16:45 +0000 (23:16 -0800)]
Metrics: Log HCI timeout event over stats log
Fixes:
121213292
Bug:
111812273
Test: make, test drive with statsd
Change-Id: I9bab0078a1e45c9811fd63f4c5aef9f4704ac555
Cheney Ni [Wed, 30 Jan 2019 01:52:39 +0000 (17:52 -0800)]
Using std::promise and std::future to block till A2DP device activated
am:
f0999d8be8
Change-Id: Ic013217fb07dd1c3aa33623c641ae47c915730bf
Cheney Ni [Wed, 19 Dec 2018 10:46:18 +0000 (18:46 +0800)]
Using std::promise and std::future to block till A2DP device activated
There is a new interface to replace UIPC with Blueototh Audio Hal v2 and
synchronization issues between BT Stack and Audio Hal was found when
activating a new A2DP device. Because the API to activate an A2DP device
was non-blocking, it was possilbe that there was a race condition when
BT Stack starting A2DP session and Audio Hal was opening A2DP output.
There was a chance that the output was opened before session started and
causing A2DP to have no sound.
This CL uses std::promise and std::future are able to achieve the
serialize of starting session and opening output for A2DP.
Bug:
111519504
Bug:
122505783
Test: A2DP reconnection and switching
Change-Id: I88c42ea1eb5f8def2345dbfaab26c6d1a91c54cc
weichinweng [Thu, 20 Dec 2018 07:03:37 +0000 (15:03 +0800)]
Hearing Aid: Add python script to dump audio data to file
Bug:
121005659
Test: ./dump_hearingaid_audio.py btsnoop_hci.log
./dump_hearingaid_audio.py -f folder btsnoop_hci.log
./dump_hearingaid_audio.py -f folder -c1 1 -c2 3 btsnoop_hci.log
./dump_hearingaid_audio.py -f folder -a 121 btsnoop_hci.log
Change-Id: I304531ecb5c5bd6cfc264130176d26acc60a64c2
Jakub Pawlowski [Tue, 29 Jan 2019 07:51:56 +0000 (23:51 -0800)]
Add IdGenerator
am:
23478f71d0
Change-Id: I974608ed960f88067abfbab07f917de8950f4522
weichinweng [Mon, 21 Jan 2019 11:22:33 +0000 (19:22 +0800)]
Hearing Aid: Removes all registrations for connection when disconnect HA
* On the current design, when the disconnect Hearing Aid is triggered
from UI. It will Cancel autoconnect by gatt_if first. It will cause the
fixed_chnl_idle_tout isn't set. On the condition, it will cause the
disconnect isn't finished.
* The fix is change the behavior. Directly remove all registrations for
connection when disconnect HA.
Bug:
122264537
Bug:
123214035
Test: make, BT off/on when connected HA,
Toggle disconnect/connect HA from Bluetooth UI,
Turn off/onn HA after Connected HA.
Change-Id: If011c1ab632e1fcb51a68b3c122743534b5f6c63
Jakub Pawlowski [Wed, 8 Aug 2018 14:32:44 +0000 (16:32 +0200)]
Add IdGenerator
Test: added unit test
Bug:
67058417
Change-Id: I41a9200cbf703f5404f312e4cb1199b640e86270
Jack He [Sat, 26 Jan 2019 02:33:12 +0000 (18:33 -0800)]
BQR: Cleanup BQR header definititon
am:
63aca79a30
Change-Id: Ie3780d6f6382ca82f2f809d4359ee20aa84f0cc3
Jack He [Fri, 25 Jan 2019 21:45:16 +0000 (13:45 -0800)]
BQR: Cleanup BQR header definititon
* Rename persist.bluetooth.bqr.eventmask to persist.bluetooth.bqr.event_mask
* Rename persist.bluetooth.bqr.interval to
persist.bluetooth.bqr.min_interval_ms
* Rename all instances of reporting interval to minimum report interval
milliseconds
* Add zero initialization to all event values
* Add comment on the unit of timestamp and piconet clock
Bug:
111384296
Test: make, no functional change
Change-Id: I5174297ec314a862da7591bcf3aefea9b6778f1a
Suren Baghdasaryan [Fri, 25 Jan 2019 17:20:42 +0000 (09:20 -0800)]
[automerger skipped] DO NOT MERGE: Revert "Revert "Add libprocessgroup dependency and fix sched_policy include""
am:
fc27af1a25 -s ours
am skip reason: subject contains skip directive
Change-Id: I1586c715e769e192e2d37350279152ec084cbce3
Ray [Fri, 25 Jan 2019 17:00:23 +0000 (09:00 -0800)]
BQR: Add Bluetooth Quality Report feature
am:
6e632477a4
Change-Id: I7f3684b437ea914eb446bcdafb83f19d870944de