OSDN Git Service

android-x86/system-bt.git
5 years agoDO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master
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

5 years agoMerge "Flush buffer to filesystem before fsync"
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

5 years agoMerge "Flush buffer to filesystem before fsync"
Joseph Pirozzo [Wed, 13 Feb 2019 20:07:41 +0000 (20:07 +0000)]
Merge "Flush buffer to filesystem before fsync"

5 years agoFlush 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

5 years agoMerge "Metrics: Log manfuacturer information from Device ID profile to statsd"
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

5 years agoMerge "Metrics: Log manfuacturer information from Device ID profile to statsd"
Treehugger Robot [Sat, 9 Feb 2019 09:29:24 +0000 (09:29 +0000)]
Merge "Metrics: Log manfuacturer information from Device ID profile to statsd"

5 years agoMerge "Metrics: Log L2CAP and RFCOMM socket connection state changes 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

5 years agoMerge "Metrics: Log L2CAP and RFCOMM socket connection state changes to statsd"
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"

5 years agoSnap for 5180536 from 6f2759c64311b505b1ddc73e2bfc9f0330845780 to pi-platform-release
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

5 years agoMetrics: Log manfuacturer information from Device ID profile to statsd
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

5 years agoMetrics: Log L2CAP and RFCOMM socket connection state changes to statsd
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

5 years agoUpdate owners
Zach Johnson [Fri, 8 Feb 2019 01:37:55 +0000 (17:37 -0800)]
Update owners
am: 5f896dff62

Change-Id: I6b148cf88d294200eb8df4d5e068092fe6b5d4b2

5 years agoUpdate owners
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

5 years agoMerge "Add a ClassOfDevice type"
Myles Watson [Thu, 7 Feb 2019 04:13:16 +0000 (20:13 -0800)]
Merge "Add a ClassOfDevice type"
am: 1127b7ca1e

Change-Id: I24c9a22d2dfb000c6778fde7150038445c90b218

5 years agoMerge "Add a ClassOfDevice type"
Treehugger Robot [Thu, 7 Feb 2019 04:04:02 +0000 (04:04 +0000)]
Merge "Add a ClassOfDevice type"

5 years agoMerge "Add audio channel of Bluetooth Audio Hal v2 for Hearing Aid"
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

5 years agoMerge "Metrics: Log SDP attributes to statsd"
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

5 years agoMerge "Add audio channel of Bluetooth Audio Hal v2 for Hearing Aid"
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"

5 years agoMerge "Metrics: Log SDP attributes to statsd"
Treehugger Robot [Thu, 7 Feb 2019 03:35:01 +0000 (03:35 +0000)]
Merge "Metrics: Log SDP attributes to statsd"

5 years agoMetrics: 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

5 years agoAdd audio channel of Bluetooth Audio Hal v2 for Hearing Aid
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

5 years agoMerge "Add stack side interface for Bluetooth audio HAL V2"
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

5 years agoMerge "Add stack side interface for Bluetooth audio HAL V2"
Treehugger Robot [Thu, 7 Feb 2019 00:00:28 +0000 (00:00 +0000)]
Merge "Add stack side interface for Bluetooth audio HAL V2"

5 years agoMerge "PBAP Client SDP record"
Joseph Pirozzo [Wed, 6 Feb 2019 21:21:54 +0000 (13:21 -0800)]
Merge "PBAP Client SDP record"
am: 02efe2113f

Change-Id: Ie681046a23a481471608df00d1367271a6be0229

5 years agoAdd stack side interface for Bluetooth audio HAL V2
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

5 years agoMerge "PBAP Client SDP record"
Joseph Pirozzo [Wed, 6 Feb 2019 21:10:24 +0000 (21:10 +0000)]
Merge "PBAP Client SDP record"

5 years agoAdd generic audio HW module for Bluetooth audio HAL V2
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

5 years agoAdd generic audio HW module for Bluetooth audio HAL V2
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

5 years agoMetrics: Add classic pairing metrics
Jack He [Fri, 1 Feb 2019 23:39:58 +0000 (15:39 -0800)]
Metrics: Add classic pairing metrics
am: 16e6adb75b

Change-Id: I79755761aa7236dda7b59791248b47a84bf111ad

5 years agoMetrics: Add classic pairing metrics
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

5 years agoMerge "Metrics: Log SMP pairing commands"
Jack He [Fri, 1 Feb 2019 02:07:42 +0000 (18:07 -0800)]
Merge "Metrics: Log SMP pairing commands"
am: b11e36df28

Change-Id: I7b20427bbec13e6a12cdc5a2a529480c9b6f5865

5 years agoMerge "Metrics: Log SMP pairing commands"
Treehugger Robot [Fri, 1 Feb 2019 01:57:35 +0000 (01:57 +0000)]
Merge "Metrics: Log SMP pairing commands"

5 years agoPBAP Client SDP record
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

5 years agoMetrics: Log SMP pairing commands
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

5 years agoMerge "Hearing Aid: Removes all registrations for connection when disconnect HA"
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

5 years agoMerge "Hearing Aid: Removes all registrations for connection when disconnect HA"
Treehugger Robot [Thu, 31 Jan 2019 22:15:48 +0000 (22:15 +0000)]
Merge "Hearing Aid: Removes all registrations for connection when disconnect HA"

5 years agoFix race condition during LE device remove bond.
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

5 years agoFix race condition during LE device remove bond.
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

5 years agoMerge "Hearing Aid: Add python script to dump audio data to file"
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

5 years agoMerge "Hearing Aid: Add python script to dump audio data to file"
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"

5 years agoMerge "Metrics: Log A2DP playback related atoms to StatsLog"
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

5 years agoMerge "Metrics: Log A2DP playback related atoms to StatsLog"
Treehugger Robot [Thu, 31 Jan 2019 00:14:09 +0000 (00:14 +0000)]
Merge "Metrics: Log A2DP playback related atoms to StatsLog"

5 years agoFix for infinite loop in gatt_enc_cmpl_cback
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

5 years agoMetrics: Log A2DP playback related atoms to StatsLog
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

5 years agoFix for infinite loop in gatt_enc_cmpl_cback
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

5 years agoMetrics: Add Bluetooth quality report to statsd
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

5 years agoMetrics: Add Bluetooth quality report to statsd
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

5 years agoMerge changes I79037ddb,I9bab0078
Jack He [Wed, 30 Jan 2019 05:15:26 +0000 (21:15 -0800)]
Merge changes I79037ddb,I9bab0078
am: 3fb1b1b89e

Change-Id: I0cbba0d141d93f342ae6e6f1a24a8b3266c8092f

5 years agoMerge changes I79037ddb,I9bab0078
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

5 years agoMetrics: add remote version info log to statsd
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

5 years agoMetrics: Log HCI timeout event over stats log
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

5 years agoUsing std::promise and std::future to block till A2DP device activated
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

5 years agoUsing std::promise and std::future to block till A2DP device activated
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

5 years agoHearing Aid: Add python script to dump audio data to file
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

5 years agoAdd IdGenerator
Jakub Pawlowski [Tue, 29 Jan 2019 07:51:56 +0000 (23:51 -0800)]
Add IdGenerator
am: 23478f71d0

Change-Id: I974608ed960f88067abfbab07f917de8950f4522

5 years agoHearing Aid: Removes all registrations for connection when disconnect HA
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

5 years agoAdd IdGenerator
Jakub Pawlowski [Wed, 8 Aug 2018 14:32:44 +0000 (16:32 +0200)]
Add IdGenerator

Test: added unit test
Bug: 67058417
Change-Id: I41a9200cbf703f5404f312e4cb1199b640e86270

5 years agoBQR: Cleanup BQR header definititon
Jack He [Sat, 26 Jan 2019 02:33:12 +0000 (18:33 -0800)]
BQR: Cleanup BQR header definititon
am: 63aca79a30

Change-Id: Ie3780d6f6382ca82f2f809d4359ee20aa84f0cc3

5 years agoBQR: Cleanup BQR header definititon
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

5 years ago[automerger skipped] DO NOT MERGE: Revert "Revert "Add libprocessgroup dependency...
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

5 years agoBQR: Add Bluetooth Quality Report feature
Ray [Fri, 25 Jan 2019 17:00:23 +0000 (09:00 -0800)]
BQR: Add Bluetooth Quality Report feature
am: 6e632477a4

Change-Id: I7f3684b437ea914eb446bcdafb83f19d870944de

5 years agoDO NOT MERGE: Revert "Revert "Add libprocessgroup dependency and fix sched_policy...
Suren Baghdasaryan [Fri, 25 Jan 2019 05:34:11 +0000 (05:34 +0000)]
DO NOT MERGE: Revert "Revert "Add libprocessgroup dependency and fix sched_policy include""

This reverts commit e5751caf675fc0bee229f8c427564c2e927184fd.

Reason for revert: AOSP is fixed with new vendor image

Change-Id: I96db6ffe9cce3d5158b96c171026839d62ec3756
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
5 years agoBQR: Add Bluetooth Quality Report feature
Ray [Thu, 3 Jan 2019 13:19:16 +0000 (21:19 +0800)]
BQR: Add Bluetooth Quality Report feature

Bluetooth disconnects, voice and audio quality issues are sometimes hard
to debug without an OTA (Over The Air) log.
For debugging this kind of issue we would need to identify it belongs to
the host, Bluetooth controller/firmware, environment or the remote
Bluetooth device.
This feature would route the link and firmware/controller stats (ex: TX
power level, RSSI, Unused AFH channel count...) to the host when quality
events happen.

Quality Monitoring Mode:
The controller will periodically send Bluetooth Quality VSE sub-event to
the host.

Approaching LSTO:
Once no packets are received from the connected Bluetooth device for a
duration longer than the half of LSTO (Link Supervision Timeout) value,
the controller will report Approaching LSTO event to the host.

A2DP Audio Choppy:
When audio stall, the controller will report A2DP Audio Choppy event to
the host.

(e)SCO Voice Choppy:
The controller will report (e)SCO Voice Choppy event to the host if the
voice quality might be bad.

Bug: 111384296
Test: - Verified that all functionalites with the Bluetooth controller /
        firmware which supports Bluetooth Quality Report VSC
(OpCode: 0xFD5E) and Bluetooth Quality Report (Sub-event code:
0x58) of VSE.
      - Verified that this feature could work on both the A2DP HW
        offload and non-offload modes.

Change-Id: I3fd3000bace7606855cac3b9b87134499c0ca891

5 years agoConvert Android.mk file to Android.bp
Sasha Smundak [Fri, 25 Jan 2019 08:13:31 +0000 (00:13 -0800)]
Convert Android.mk file to Android.bp
am: aa044495fc

Change-Id: I8905a9c28b9fc76083655bda05145559b1a15162

5 years agoConvert Android.mk file to Android.bp
Sasha Smundak [Tue, 22 Jan 2019 21:46:37 +0000 (13:46 -0800)]
Convert Android.mk file to Android.bp

See build/soong/README.md for more information.

Change-Id: Ida03ab11c7fa6148fa5711ce1770b6951e831412
Fixes: 122332236
Test: treehugger

5 years agoSDP: Remove SDP_DEBUG_RAW flag
Jack He [Fri, 25 Jan 2019 03:49:44 +0000 (19:49 -0800)]
SDP: Remove SDP_DEBUG_RAW flag
am: fa84129932

Change-Id: Id77bdfec4e2a4b91ece3d9264dbbbf327618478b

5 years agoSDP: Remove SDP_DEBUG_RAW flag
Jack He [Fri, 25 Jan 2019 00:59:52 +0000 (16:59 -0800)]
SDP: Remove SDP_DEBUG_RAW flag

* This flag is almost always set to false, making blocks of code
  unreachable

Test: make
Change-Id: Ie5ceafa7ae02ccbfec537a5d3960e617b746ecdf

5 years agoMerge "Disable AVRCP position change in silence mode"
Ugo Yu [Thu, 24 Jan 2019 18:28:38 +0000 (10:28 -0800)]
Merge "Disable AVRCP position change in silence mode"
am: 869ae99427

Change-Id: Ia0c8ae4a17a0153a620a9f9aca3042f737512f71

5 years agoMerge "Disable AVRCP position change in silence mode"
Treehugger Robot [Thu, 24 Jan 2019 18:08:05 +0000 (18:08 +0000)]
Merge "Disable AVRCP position change in silence mode"

5 years ago[automerger skipped] Merge "DO NOT MERGE: Revert "Add libprocessgroup dependency...
Suren Baghdasaryan [Thu, 24 Jan 2019 07:08:32 +0000 (23:08 -0800)]
[automerger skipped] Merge "DO NOT MERGE: Revert "Add libprocessgroup dependency and fix sched_policy include""
am: 69eb5b3551 -s ours
am skip reason: subject contains skip directive

Change-Id: I8680db89a05f5eaf4b605c66d85dcea7ed43acf3

5 years agoMerge "DO NOT MERGE: Revert "Add libprocessgroup dependency and fix sched_policy...
Suren Baghdasaryan [Thu, 24 Jan 2019 06:57:55 +0000 (06:57 +0000)]
Merge "DO NOT MERGE: Revert "Add libprocessgroup dependency and fix sched_policy include""

5 years agoMerge "GATT connection_manager: Fix logic to remove white list device"
Hansong Zhang [Thu, 24 Jan 2019 06:38:45 +0000 (22:38 -0800)]
Merge "GATT connection_manager: Fix logic to remove white list device"
am: 4d834e9d0e

Change-Id: Ib17d50227975b604eda1f6fa845ca0c9bda19e95

5 years agoMerge "GATT connection_manager: Fix logic to remove white list device"
Treehugger Robot [Thu, 24 Jan 2019 06:26:29 +0000 (06:26 +0000)]
Merge "GATT connection_manager: Fix logic to remove white list device"

5 years agoDO NOT MERGE: Revert "Add libprocessgroup dependency and fix sched_policy include"
Suren Baghdasaryan [Thu, 24 Jan 2019 04:54:50 +0000 (20:54 -0800)]
DO NOT MERGE: Revert "Add libprocessgroup dependency and fix sched_policy include"

This reverts commit 8ef9dc6f3f334b444bbfffae18185a36d6a1f5b5.

Reason for revert: Broke AOSP

Change-Id: If6b0121b5ce60915accf705dbbba268cc4a96203
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
5 years agoMerge "Add a new isAshaHearingAidSupported method to Bluetooth Manager"
Stanley Tng [Thu, 24 Jan 2019 02:03:59 +0000 (18:03 -0800)]
Merge "Add a new isAshaHearingAidSupported method to Bluetooth Manager"
am: aff79b9db4

Change-Id: I073b587aa6d41b551bdd6a3f6e8b17955cfd4130

5 years agoMerge "Add a new isAshaHearingAidSupported method to Bluetooth Manager"
Treehugger Robot [Thu, 24 Jan 2019 01:34:25 +0000 (01:34 +0000)]
Merge "Add a new isAshaHearingAidSupported method to Bluetooth Manager"

5 years agoDisable AVRCP position change in silence mode
Ugo Yu [Sat, 12 Jan 2019 19:12:30 +0000 (03:12 +0800)]
Disable AVRCP position change in silence mode

* Save the silence mode information in BtifAvPeer send from
  JAVA, which helps AVRCP devices to check whether device
  silence mode is enabled or not.
* Stop sending AVRCP position change event to remote when
  silence mode is enabled.

Bug: 112323989
Test: Manual
Change-Id: I99d88a31caea062790c4ff0dc9199ed82f058067

5 years agoGATT connection_manager: Fix logic to remove white list device
Hansong Zhang [Wed, 23 Jan 2019 22:03:24 +0000 (14:03 -0800)]
GATT connection_manager: Fix logic to remove white list device

Device in bgconn_dev will be removed when no app is using it. Fix the
logic to prevent from use after free.

Bug: 123297334
Test: Manual
Change-Id: I35a0191ba48fabbcf28525388dfa63b93b20c96d

5 years agoMerge "Add binder interfaces for metadata APIs"
Ugo Yu [Wed, 23 Jan 2019 07:50:47 +0000 (23:50 -0800)]
Merge "Add binder interfaces for metadata APIs"
am: 5ac84e7897

Change-Id: Ifaf958504f373f611788235d8b2aa470a99c9d4b

5 years agoMerge "Add binder interfaces for metadata APIs"
Treehugger Robot [Wed, 23 Jan 2019 07:38:06 +0000 (07:38 +0000)]
Merge "Add binder interfaces for metadata APIs"

5 years agoFix the LE CoC SL4A Test failure due to length check
Stanley Tng [Wed, 23 Jan 2019 01:07:35 +0000 (17:07 -0800)]
Fix the LE CoC SL4A Test failure due to length check
am: 07ff96727c

Change-Id: I06461df508cd8f0246b2673db2c1810aab3c9322

5 years agoAdd a new isAshaHearingAidSupported method to Bluetooth Manager
Stanley Tng [Mon, 14 Jan 2019 00:13:09 +0000 (16:13 -0800)]
Add a new isAshaHearingAidSupported method to Bluetooth Manager

As part of adding isHearingAidsProfileSupported method to
BluetoothAdapter, this new method is added to query the support state.

Test: Manual testing with configuration enabled and disabled.
Bug: 119617521
Change-Id: I97151443c6a5bd459a7c73c61f7fa7d5a386909a
(cherry picked from commit 7d51ff78280a9e03949ffed8f7f61d5226c3a27b)

5 years agoAdd binder interfaces for metadata APIs
Ugo Yu [Sat, 12 Jan 2019 00:13:16 +0000 (08:13 +0800)]
Add binder interfaces for metadata APIs

Bug: 121051445
Test: build pass

Change-Id: Icd51b7cc0a4dec5a2bffec4ded67caffeedb126b

5 years agoFix the LE CoC SL4A Test failure due to length check
Stanley Tng [Tue, 11 Dec 2018 22:45:13 +0000 (14:45 -0800)]
Fix the LE CoC SL4A Test failure due to length check

Fix a regression from the previous CL that checks the buffer length
before doing a memcpy. The previous check is too strict causing valid
sized buffers to be rejected. The length check is incorrect and off by the header size.

Bug: 117306992
Bug: 112321180
Test: Run the LE CoC SL4A Tests
Change-Id: I9bbcd58460a02394010f74a18e9ebdbcd546d43d
Merged-In: I9bbcd58460a02394010f74a18e9ebdbcd546d43d
(cherry picked from commit fcb1994de1f6ee34b8dc6804a2b32e20bf138073)

5 years agoAdd libprocessgroup dependency and fix sched_policy include
Suren Baghdasaryan [Tue, 22 Jan 2019 21:24:03 +0000 (13:24 -0800)]
Add libprocessgroup dependency and fix sched_policy include
am: 8ef9dc6f3f

Change-Id: If5ec34928a56d7d0f6daeb16b91a693ca0646a03

5 years agoAdd libprocessgroup dependency and fix sched_policy include
Suren Baghdasaryan [Thu, 20 Dec 2018 01:36:37 +0000 (17:36 -0800)]
Add libprocessgroup dependency and fix sched_policy include

libbt-utils uses set_sched_policy which is now implemented inside
libprocessgroup. Add required dependency and header file include.

Exempt-From-Owner-Approval: janitorial

Bug: 111307099
Test: builds, boots

Merged-In: I4d0dcfad22b30ac249a7874b42a7121e2ffedadb
Change-Id: I4d0dcfad22b30ac249a7874b42a7121e2ffedadb
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
5 years agoAdd a ClassOfDevice type
Myles Watson [Thu, 22 Nov 2018 00:24:52 +0000 (16:24 -0800)]
Add a ClassOfDevice type

Test: net_test_types
Change-Id: If1f2e294ba46e39219e0c60dd1795d34123714c8

5 years agoMerge "Metric: Add logging for link layer connection events"
Jack He [Thu, 17 Jan 2019 22:57:39 +0000 (14:57 -0800)]
Merge "Metric: Add logging for link layer connection events"
am: e6b80778a8

Change-Id: Icaf506c40c16b12b63cac0c5327f8c68f9033c9e

5 years ago[automerger skipped] Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190105...
Xin Li [Thu, 17 Jan 2019 22:44:52 +0000 (14:44 -0800)]
[automerger skipped] Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001) into master"
am: f15c1197f5 -s ours
am skip reason: subject contains skip directive

Change-Id: Ib82454185f6d69fa695354c1ce488ad42ad990aa

5 years agoMerge "Metric: Add logging for link layer connection events"
Treehugger Robot [Thu, 17 Jan 2019 22:30:43 +0000 (22:30 +0000)]
Merge "Metric: Add logging for link layer connection events"

5 years ago[automerger skipped] DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001)...
Xin Li [Thu, 17 Jan 2019 21:53:32 +0000 (13:53 -0800)]
[automerger skipped] DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001) into master
am: dfdcf1f0e0 -s ours
am skip reason: subject contains skip directive

Change-Id: Ibf1cb4eab80383dba8f7a5bbfe2bb5bff95ca43f

5 years agoMerge "DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001) into master"
Xin Li [Thu, 17 Jan 2019 21:19:42 +0000 (21:19 +0000)]
Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.190105.001) into master"

5 years agoMerge "Add new Hearing Aids commands to improve L/R Sync"
Stanley Tng [Thu, 17 Jan 2019 18:45:08 +0000 (10:45 -0800)]
Merge "Add new Hearing Aids commands to improve L/R Sync"
am: 055a5f4056

Change-Id: I19b467c2f4a185c0ea6953b3697597997d33c871

5 years agoMerge "Add new Hearing Aids commands to improve L/R Sync"
Treehugger Robot [Thu, 17 Jan 2019 18:27:10 +0000 (18:27 +0000)]
Merge "Add new Hearing Aids commands to improve L/R Sync"

5 years agoMerge "Wait for Notifications before sending audio data"
Stanley Tng [Thu, 17 Jan 2019 16:55:25 +0000 (08:55 -0800)]
Merge "Wait for Notifications before sending audio data"
am: 2bd5ea5772

Change-Id: Ie9e4efb8efe0e287d7450b587aca0010459c648e

5 years agoMerge "Wait for Notifications before sending audio data"
Treehugger Robot [Thu, 17 Jan 2019 15:25:39 +0000 (15:25 +0000)]
Merge "Wait for Notifications before sending audio data"

5 years agoAdd new Hearing Aids commands to improve L/R Sync
Stanley Tng [Tue, 1 Jan 2019 22:52:07 +0000 (14:52 -0800)]
Add new Hearing Aids commands to improve L/R Sync

Prototyping new commands to the Hearing Aids devices to improve the
Left/Right Sync issues. The new commands are:
1. Add a new byte parameter to the START command that indicates the
other side device is actively streaming or disconnected,
2. Whenever there is an LE Connection Update event from the phone BT
controller, send a new Status Update command to all connected devices,
3. Whenever one side gets disconnected or starts streaming, send a new
Status Update command to the other side to inform about this change.

Bug: 117778955
Bug: 120921220
Test: Manual Testing with Hearing Aids
Change-Id: I5c94867d4574802025e3b433573e52d3c40c9828

5 years agoWait for Notifications before sending audio data
Stanley Tng [Wed, 26 Dec 2018 02:12:51 +0000 (18:12 -0800)]
Wait for Notifications before sending audio data

For the Hearing Aids Profile, wait for the notification status from the
devices after sending the Start command. The reason is that the devices
may be in low power mode and the phone should not start streaming audio
data to these devices until it is fully awake.

Test: Manual testing with Hearing Aids devices
Bug: 117778955
Bug: 120921220
Change-Id: I28b79e7e284d5e75864c0b12315fbb8bd47acf74

5 years agoMetric: Add logging for link layer connection events
Jack He [Thu, 20 Dec 2018 23:46:17 +0000 (15:46 -0800)]
Metric: Add logging for link layer connection events

* Logs when there is an event affecting Bluetooth device's link
  layer connection. Triggerred when there is a related HCI command
  or event
* Users of this metrics can deduce Bluetooth device's connection state
  from these events
* HCI commands are logged before the command is sent, after receiving,
  command status, and after receiving command complete
  event comes back
* HCI events are logged when they arrive
* Simplifies logic in btu_hcif_hdl_command_status() since p_cmd is never
  null and we always ignore parameter total length field
* Call btm_identity_addr_to_random_pseudo() when parsing command status
  packet for LE create connection, extended create connection,
  add/remove/clear whitelist commands

DETAILS:

* Bluetooth classic commands:
  - CMD_CREATE_CONNECTION
  - CMD_DISCONNECT
  - CMD_CREATE_CONNECTION_CANCEL
  - CMD_ACCEPT_CONNECTION_REQUEST
  - CMD_REJECT_CONNECTION_REQUEST
  - CMD_SETUP_ESCO_CONNECTION
  - CMD_ACCEPT_ESCO_CONNECTION
  - CMD_REJECT_ESCO_CONNECTION
  - CMD_ENH_SETUP_ESCO_CONNECTION
  - CMD_ENH_ACCEPT_ESCO_CONNECTION
* Bluetooth low energy commands:
  - CMD_BLE_CREATE_LL_CONN [Only logged when there is an error or initiator filter policy is 0x00]
  - CMD_BLE_CREATE_CONN_CANCEL [Only logged when there is an error]
  - CMD_BLE_EXTENDED_CREATE_CONNECTION [Only logged on error or when initiator filter policy is 0x00]
  - CMD_BLE_CLEAR_WHITE_LIST
  - CMD_BLE_ADD_WHITE_LIST
  - CMD_BLE_REMOVE_WHITE_LIST
* Bluetooth classic events:
  - EVT_CONNECTION_COMP
  - EVT_CONNECTION_REQUEST
  - EVT_DISCONNECTION_COMP
  - EVT_ESCO_CONNECTION_COMP
  - EVT_ESCO_CONNECTION_CHANGED
* Bluetooth low energy meta events:
  - BLE_EVT_CONN_COMPLETE_EVT
  - BLE_EVT_ENHANCED_CONN_COMPLETE_EVT

Bug: 112969790
Test: make and test drive statsd
Change-Id: Ib843dfa95bb6448c41dac261dabcf17947efda06

5 years agoAllow bond request from devices with BTM_IO_CAP_NONE
Tiansong Cui [Wed, 16 Jan 2019 16:40:30 +0000 (08:40 -0800)]
Allow bond request from devices with BTM_IO_CAP_NONE
am: c52062c078

Change-Id: I50aa6393eb74fb83ea5878c7236930dc81f35bc1