OSDN Git Service

android-x86/system-bt.git
6 years agoMerge changes from topics "parcel_uuid_and_fd_native", "bluetooth_socket_manager_native"
Jakub Pawlowski [Thu, 9 Nov 2017 22:11:38 +0000 (22:11 +0000)]
Merge changes from topics "parcel_uuid_and_fd_native", "bluetooth_socket_manager_native"

* changes:
  Make ParcelUuid and ParcelFileDescriptor accesible to native Binder (1/2)
  Add IBluetoothSocketManager (1/3)

6 years agoBT: Use static lock to avoid race while cleanup
Gurpreet Ghai [Sun, 20 Aug 2017 08:52:27 +0000 (14:22 +0530)]
BT: Use static lock to avoid race while cleanup

Problem:
The functions protected by mutex lock are called after cleanup
during shutdown. During this race condition, the structure set does not
exist and cause crash.

Steps:
Bluetooth on/off automation

Failure:
Bluetooth process crashes

RootCause:
Mutex is accessed after it is destroyed because of other thread calling
the function.

Fix:
Changed mutex lock to static type so that it exist and protect
the set structure even after cleanup.

Test: manual

Bug: 66921327

Change-Id: I8d1f5d5d607100ab73aec722a27688dae45cc323

6 years agoMake ParcelUuid and ParcelFileDescriptor accesible to native Binder (1/2)
Jakub Pawlowski [Wed, 1 Nov 2017 21:31:03 +0000 (14:31 -0700)]
Make ParcelUuid and ParcelFileDescriptor accesible to native Binder (1/2)

Bug: 68359837
Test: compile
Change-Id: I9d5fc0684b0e8aefd3f3c1abe865d0d36cb712fb

6 years agoAdd IBluetoothSocketManager (1/3)
Jakub Pawlowski [Wed, 1 Nov 2017 17:02:28 +0000 (10:02 -0700)]
Add IBluetoothSocketManager (1/3)

Add IBluetoothSocketManager native Binder implementation. Thanks to it
we'll skip jni to native calls, and need to re-serialize data manually.

Bug: 68359837
Test: none
Change-Id: If0270ddc71df724e0ee25d6fb66d89b72aa3b160

6 years agoFix BTM callbacks so callee and caller types match
Vishwath Mohan [Thu, 9 Nov 2017 06:45:47 +0000 (22:45 -0800)]
Fix BTM callbacks so callee and caller types match

This CL fixes inconsistencies between the actual type of a callback
function, and the type assumed at the call site. This respects the
intended function signature.

For P, we plan to enable control-flow integrity (CFI) across multiple
platform components, including BT. This mismatch will break CFI and
cause runtime errors when enabled - so this is also a preemptive
measure to get BT compatible in preparation.

Bug: 30227045
Test: Builds and runs without errors when CFI is enabled.
Change-Id: I8970e6866d8b37a9adf5e040db993d30f1b5103a

6 years agoPrevent deadlock between the Tx and Rx threads in HCI layer
Luke Zhang [Wed, 27 Sep 2017 18:40:22 +0000 (11:40 -0700)]
Prevent deadlock between the Tx and Rx threads in HCI layer

Problem: Deadlock between HCI layer's Tx and Rx threads.

Cause: In HCI layer, both Tx and Rx tried to acquire
commands_pending_response_mutex simultaneously.
Since there may be a handshake between Tx and Rx
in the BT Transport layer, so it caused a deadlock between
HCI layer's Tx and Rx threads.

Fix: Fixed it by decreasing the scope of this mutex in Tx thread

Test: Simulated the deadlock sitaution and ensured RX thread is returned when TX is busy in binder.

Bug: 68305277
Change-Id: I0a2434ec24918b039a6993d57e68ac7495e31cbe

6 years agoRemove executable file mode bit from source code files
Pavlin Radoslavov [Mon, 6 Nov 2017 19:23:05 +0000 (11:23 -0800)]
Remove executable file mode bit from source code files

Test: Code compilation
Change-Id: I0933efbccfb066913eda05daa414a67b4fe3efba

6 years agoAdd libbluetooth-for-tests static library
Pavlin Radoslavov [Thu, 2 Nov 2017 21:27:09 +0000 (14:27 -0700)]
Add libbluetooth-for-tests static library

Add the most common dependencies to a static library
for building tests.

Bug: 68350333
Test: lunch gce_x86_pasan;
      SANITIZE_TARGET="address coverage" mma

Change-Id: I78e65a686873565d292ea0ad89047927ca6efb87

6 years agoRevert "btif: Simplify dependencies for btif_storage_test"
Myles Watson [Thu, 2 Nov 2017 21:47:20 +0000 (21:47 +0000)]
Revert "btif: Simplify dependencies for btif_storage_test"

This reverts commit c9026a03f4bf225ade0cb79e51385acb1201ba07.

Change-Id: Ie7527e8042d13cabd692a6929d902bc1efe009b6

6 years agoDon't notify legacy advertiser in master role.
Jakub Pawlowski [Wed, 1 Nov 2017 21:03:39 +0000 (14:03 -0700)]
Don't notify legacy advertiser in master role.

Legacy advertiser should be notified about connection success only
if we're the slave of connection.

Bug: 68712406
Test: bonding with device while using legacy advertising
Change-Id: I4790fb9c8a4f58ea76f6b28fd5384479f2fee0d8

6 years agoMerge "btif: Simplify dependencies for btif_storage_test"
Treehugger Robot [Tue, 31 Oct 2017 22:12:05 +0000 (22:12 +0000)]
Merge "btif: Simplify dependencies for btif_storage_test"

6 years agoMerge changes I7a3e9ee7,I29702219
Jakub Pawlowski [Tue, 31 Oct 2017 21:01:11 +0000 (21:01 +0000)]
Merge changes I7a3e9ee7,I29702219

* changes:
  Remove dead code - dump_bin
  Assert on null callback in BTA_JvL2capConnect and BTA_JvL2capConnectLE

6 years agobtif: Simplify dependencies for btif_storage_test
Myles Watson [Mon, 30 Oct 2017 23:00:56 +0000 (16:00 -0700)]
btif: Simplify dependencies for btif_storage_test

Bug: 68350333
Test: lunch gce_x86_pasan;
      SANITIZE_TARGET="address coverage" m net_test_btif

Change-Id: Ia87a4e3d224fcd7ddfa55bdcca391f9b262d50e5

6 years agoMerge "Add a workaround to play A2DP SBC Mono"
Treehugger Robot [Tue, 31 Oct 2017 19:25:40 +0000 (19:25 +0000)]
Merge "Add a workaround to play A2DP SBC Mono"

6 years agoAdd a workaround to play A2DP SBC Mono
Pavlin Radoslavov [Sun, 29 Oct 2017 18:35:22 +0000 (11:35 -0700)]
Add a workaround to play A2DP SBC Mono

The PCM audio is pulled as STEREO and mixed into MONO by the
Audio A2DP HAL.

Test: Playing SBC mono with Headset
Bug: 67763743
Change-Id: I2710a6633dd81c6917362ed6dd4af75a8d517b0a

6 years agoFix Bluetooth crash when pairing with 8th HOGP device
Ruina Liu [Mon, 11 Sep 2017 08:28:21 +0000 (16:28 +0800)]
Fix Bluetooth crash when pairing with 8th HOGP device

In function bta_hh_hdl_event, when handling with
the event of BTA_HH_API_GET_DSCP_EVT after bonded
with 8th HOGP device, no correct p_cb will be found,
due to mapping error between the device handle and
dev cb for HOGP. Then NPE happen.
Change to map le_cb_index into the device handle for
HOGP, so that HOGP and HID can be separately maintained
maximum to 14 device

Test: Pair with 14 HOGP devices
Change-Id: I8556f1ffea160862c2e52f874ef334f68c17050e

6 years agoRemove dead code - dump_bin
Jakub Pawlowski [Tue, 31 Oct 2017 05:02:41 +0000 (22:02 -0700)]
Remove dead code - dump_bin

Bug: 68359837
Test: compilation test
Change-Id: I7a3e9ee79da06753b329fcd13c6c8aa76bd6fa8f

6 years agoAssert on null callback in BTA_JvL2capConnect and BTA_JvL2capConnectLE
Jakub Pawlowski [Mon, 30 Oct 2017 19:38:30 +0000 (12:38 -0700)]
Assert on null callback in BTA_JvL2capConnect and BTA_JvL2capConnectLE

Passing null as callback should never happen in any scenario.

Bug: 68359837
Test: compilation test
Change-Id: I29702219183eae9d1782438f99d01534fbe44d73

6 years agoUse LOG macros in BTA JV
Jakub Pawlowski [Mon, 30 Oct 2017 17:41:06 +0000 (10:41 -0700)]
Use LOG macros in BTA JV

Bug: 68359837
Test: compilation test
Change-Id: Ic886f5979c40e49ad870b750dc0650a325153176

6 years agoUse Bind in BTA_JvDeleteRecord
Jakub Pawlowski [Fri, 27 Oct 2017 18:57:24 +0000 (11:57 -0700)]
Use Bind in BTA_JvDeleteRecord

Bug: 68359837
Test: compilation test
Change-Id: I23236fecf21ffb7808cfabef1570add2e07b0920

6 years agoGet rid of BTA_JV specific events
Jakub Pawlowski [Sat, 28 Oct 2017 02:48:25 +0000 (19:48 -0700)]
Get rid of BTA_JV specific events

Bug: 68359837
Test: compilation test
Change-Id: I4273bc1bed2cef676ab1ed026ac8a0fa3ffbada9

6 years agoUse Bind in BTA_JvCreateRecordByUser
Jakub Pawlowski [Fri, 27 Oct 2017 07:09:17 +0000 (00:09 -0700)]
Use Bind in BTA_JvCreateRecordByUser

Bug: 68359837
Test: compilation test
Change-Id: I889467b07694b16485a7541c4d9fdfa38a47e0be

6 years agoUse Bind in BTA_JvStartDiscovery
Jakub Pawlowski [Sat, 28 Oct 2017 02:29:01 +0000 (19:29 -0700)]
Use Bind in BTA_JvStartDiscovery

Bug: 68359837
Test: compilation test
Change-Id: I34279fb831ebc9dcf839f7c7339a50dda57a4246

6 years agoUse Bind in BTA_JvFreeChannel
Jakub Pawlowski [Fri, 27 Oct 2017 07:03:12 +0000 (00:03 -0700)]
Use Bind in BTA_JvFreeChannel

Bug: 68359837
Test: compilation test
Change-Id: I69fdbc9ea8510060736ae522baf865aa2d0c55f2

6 years agoGet rid of BTA_JV_API_PM_STATE_CHANGE_EVT
Jakub Pawlowski [Sat, 28 Oct 2017 02:04:25 +0000 (19:04 -0700)]
Get rid of BTA_JV_API_PM_STATE_CHANGE_EVT

Bug: 68359837
Test: compilation test
Change-Id: I0ad741b7491cbcf95b882d200e008da5026e0f60

6 years agoUse Bind in BTA_JvGetChannelId
Jakub Pawlowski [Fri, 27 Oct 2017 06:53:42 +0000 (23:53 -0700)]
Use Bind in BTA_JvGetChannelId

Bug: 68359837
Test: compilation test
Change-Id: I9da50222561da8410cdffa2e8b4c695cd2488841

6 years agoUse Bind in BTA_JvSetPmProfile
Jakub Pawlowski [Sat, 28 Oct 2017 01:55:48 +0000 (18:55 -0700)]
Use Bind in BTA_JvSetPmProfile

Bug: 68359837
Test: compilation test
Change-Id: I6ac2f5ab8061d7d7c65554172d7c0fc3cb703cc6

6 years agoUse Bind in BTA_JvDisable
Jakub Pawlowski [Fri, 27 Oct 2017 06:45:27 +0000 (23:45 -0700)]
Use Bind in BTA_JvDisable

Bug: 68359837
Test: compilation test
Change-Id: I73470c7a98a36a57d5f44decbbf388f02c6caddd

6 years agoUse Bind in BTA_JvRfcommWrite
Jakub Pawlowski [Sat, 28 Oct 2017 01:36:43 +0000 (18:36 -0700)]
Use Bind in BTA_JvRfcommWrite

Bug: 68359837
Test: compilation test
Change-Id: I73ba3a1c0b6fa3cbde8a4f2c3a4b378d5dcab0fe

6 years agoUse Bind in BTA_JvEnable
Jakub Pawlowski [Fri, 27 Oct 2017 06:32:49 +0000 (23:32 -0700)]
Use Bind in BTA_JvEnable

Bug: 68359837
Test: compilation test
Change-Id: I1913b7763c93932c59fe94c3a40293e02335afa2

6 years agoUse Bind in BTA_JvRfcommStartServer and BTA_JvRfcommStopServer
Jakub Pawlowski [Sat, 28 Oct 2017 01:15:15 +0000 (18:15 -0700)]
Use Bind in BTA_JvRfcommStartServer and BTA_JvRfcommStopServer

Bug: 68359837
Test: compilation test
Change-Id: I81ee51fc9bfce1ffb19621f5b4eab9028d089421

6 years agoUse Bind in BTA_JvRfcommClose
Jakub Pawlowski [Sat, 28 Oct 2017 01:01:54 +0000 (18:01 -0700)]
Use Bind in BTA_JvRfcommClose

Bug: 68359837
Test: compilation test
Change-Id: I867107dbf86a2a0fcb9232ce902d38345d04c444

6 years agoUse Bind in BTA_JvRfcommConnect
Jakub Pawlowski [Sat, 28 Oct 2017 00:52:01 +0000 (17:52 -0700)]
Use Bind in BTA_JvRfcommConnect

Bug: 68359837
Test: compilation test
Change-Id: I0e567cbe573c94574cc5f384cddf697dc2337109

6 years agoUse Bind in BTA_JvL2capRead
Jakub Pawlowski [Sat, 28 Oct 2017 00:39:02 +0000 (17:39 -0700)]
Use Bind in BTA_JvL2capRead

Bug: 68359837
Test: compilation test
Change-Id: I743e655acab6b57bb9d67e75b7a6d54d002568c6

6 years agoUse Bind in BTA_JvL2capWriteFixed
Jakub Pawlowski [Sat, 28 Oct 2017 00:29:04 +0000 (17:29 -0700)]
Use Bind in BTA_JvL2capWriteFixed

Bug: 68359837
Test: compilation testPlease enter the commit message for your changes. Lines starting
Change-Id: I4774fc9e4a7c7776a2d346613d1e0d5ea2e14b04

6 years agoUse Bind in BTA_JvL2capWrite
Jakub Pawlowski [Sat, 28 Oct 2017 00:20:24 +0000 (17:20 -0700)]
Use Bind in BTA_JvL2capWrite

Bug: 68359837
Test: compilation test
Change-Id: Iedd9ebb0f659d85f24ebe83eade50c7944212e7f

6 years agoUse Bind in BTA_JvL2capStopServerLE
Jakub Pawlowski [Fri, 27 Oct 2017 23:59:45 +0000 (16:59 -0700)]
Use Bind in BTA_JvL2capStopServerLE

Bug: 68359837
Test: compilation test
Change-Id: Ibba26fd62571e97f75502cd65240534ff6078e01

6 years agoUse Bind in BTA_JvL2capStopServer
Jakub Pawlowski [Fri, 27 Oct 2017 23:51:52 +0000 (16:51 -0700)]
Use Bind in BTA_JvL2capStopServer

Bug: 68359837
Test: compilation test
Change-Id: I25f718a943aabb5897145ec75a8e2b7b154cc2d4

6 years agoUse Bind in BTA_JvL2capStartServerLE
Jakub Pawlowski [Fri, 27 Oct 2017 23:45:13 +0000 (16:45 -0700)]
Use Bind in BTA_JvL2capStartServerLE

Bug: 68359837
Test: compilation test
Change-Id: I56717075758bc3f0fab5b092bd5fbc60b78a9a83

6 years agoUse Bind in BTA_JvL2capStartServer
Jakub Pawlowski [Fri, 27 Oct 2017 23:29:45 +0000 (16:29 -0700)]
Use Bind in BTA_JvL2capStartServer

Bug: 68359837
Test: compilation test
Change-Id: I0fb574e25c11f46a6fa68bef830a2e9fbcbd2d42

6 years agoUse Bind in BTA_JvL2capCloseLE
Jakub Pawlowski [Fri, 27 Oct 2017 23:09:20 +0000 (16:09 -0700)]
Use Bind in BTA_JvL2capCloseLE

Bug: 68359837
Test: compilation test
Change-Id: Ia9349c4f62fc515864518af3fd05e3f3af611cbf

6 years agoUse Bind in BTA_JvL2capClose
Jakub Pawlowski [Fri, 27 Oct 2017 20:28:23 +0000 (13:28 -0700)]
Use Bind in BTA_JvL2capClose

Bug: 68359837
Test: compilation test
Change-Id: Ia153dab61cb593b4319ffa718c691d5985e529e6

6 years agoUse Bind in BTA_JvL2capConnect
Jakub Pawlowski [Fri, 27 Oct 2017 20:15:47 +0000 (13:15 -0700)]
Use Bind in BTA_JvL2capConnect

Bug: 68359837
Test: compilation test
Change-Id: I0d6efdfefa12551c615bee5dd43a3101a5cac3d2

6 years agoUse Bind in BTA_JvL2capConnectLE
Jakub Pawlowski [Fri, 27 Oct 2017 19:33:58 +0000 (12:33 -0700)]
Use Bind in BTA_JvL2capConnectLE

Bug: 68359837
Test: compilation test
Change-Id: Iaef4695db6b46af59641d5af508b87f20bcf5232

6 years agoCorrect rssi size
Tiansong Cui [Fri, 27 Oct 2017 21:24:15 +0000 (14:24 -0700)]
Correct rssi size

Bug: None
Test: print rssi, size of rssi equals sizeof(int8_t).
Change-Id: I40edb63257618c48b0ab2d0181105c5a2c473ea6

6 years agoMerge "test_vendor: Extract DeviceProperties"
Treehugger Robot [Fri, 27 Oct 2017 16:30:20 +0000 (16:30 +0000)]
Merge "test_vendor: Extract DeviceProperties"

6 years agoFix addr_type overriding by btm_ble_process_adv_addr().
Jacky Cheung [Thu, 26 Oct 2017 23:07:36 +0000 (16:07 -0700)]
Fix addr_type overriding by btm_ble_process_adv_addr().

Bug: 67042709
Test: manual

Change-Id: Iedffe2fa3dcb3f4e600626490b95c27d1535a737

6 years agoMerge "Revert "Build only for current architecture by default""
Treehugger Robot [Fri, 27 Oct 2017 01:12:39 +0000 (01:12 +0000)]
Merge "Revert "Build only for current architecture by default""

6 years agoMerge "Respect AVRCP versions in SDP records"
Treehugger Robot [Fri, 27 Oct 2017 00:08:34 +0000 (00:08 +0000)]
Merge "Respect AVRCP versions in SDP records"

6 years agoRevert "Build only for current architecture by default"
Pavlin Radoslavov [Thu, 26 Oct 2017 23:36:30 +0000 (23:36 +0000)]
Revert "Build only for current architecture by default"

This reverts commit 862095819ffac9e5e543c114b6f0d4a7d89f6938.

The result audio.a2dp.default.so shared library is only 64-bit,
and it can't be used by the audioserver which is still 32-bit only

Bug: 68127690
Change-Id: I60b15c32425db3b2ada687fa8d0dcb728cf1812f
Test: A2DP streaming

6 years agoRespect AVRCP versions in SDP records
Zach Johnson [Wed, 18 Oct 2017 22:39:51 +0000 (15:39 -0700)]
Respect AVRCP versions in SDP records

It's all wrong. All wrong.

In the protocol descriptor list in SDP:
1.3 reports 1.2
1.4 reports 1.3
1.5 reports 1.4
1.6 reports 1.4
1.6.1 reports 1.4

wtf

Simplify as:
  1.3 to 1.5 report (version - 1),
  everything else reports 1.4

Bug: 66842069
Test: inspect SDP records with tool
Change-Id: I8c3912281a7c01b9f43be1a2c2cc59263e98a0a6

6 years agoTypes should always be a static library
Jakub Pawlowski [Wed, 25 Oct 2017 22:30:54 +0000 (15:30 -0700)]
Types should always be a static library

Test: compilation
Change-Id: I524ef23963f68573352fc5ae8c610a12fc65c822

6 years agoMerge "AAC support for A2DP sink"
Treehugger Robot [Thu, 26 Oct 2017 06:05:23 +0000 (06:05 +0000)]
Merge "AAC support for A2DP sink"

6 years agoMerge "Use C++11 static assert instead of macro"
Treehugger Robot [Thu, 26 Oct 2017 05:52:41 +0000 (05:52 +0000)]
Merge "Use C++11 static assert instead of macro"

6 years agoAAC support for A2DP sink
Bailey Forrest [Fri, 16 Jun 2017 22:38:03 +0000 (15:38 -0700)]
AAC support for A2DP sink

Bug: 37562860
Test: Test on device.
Change-Id: Ic8699e5ffa5f97e102ec4b9fc63ce5afd3382c5d

6 years agoDon't print error message when rename operation is successful
Tobias Melin [Fri, 18 Aug 2017 11:18:54 +0000 (13:18 +0200)]
Don't print error message when rename operation is successful

Bug: 65355196
Change-Id: I34504175a58d93f0dd71a8a51275818ebace4b6a

6 years agoUse C++11 static assert instead of macro
Jack He [Wed, 25 Oct 2017 23:46:42 +0000 (16:46 -0700)]
Use C++11 static assert instead of macro

Test: host and device unit tests
Change-Id: Iab56242aff6e427124c1ce3f6218ba81c2f95f7c

6 years agoMerge "Don't use a pointer for the A2DP Sink static mutex"
Treehugger Robot [Wed, 25 Oct 2017 21:00:48 +0000 (21:00 +0000)]
Merge "Don't use a pointer for the A2DP Sink static mutex"

6 years agoDon't use a pointer for the A2DP Sink static mutex
Pavlin Radoslavov [Wed, 25 Oct 2017 18:40:27 +0000 (11:40 -0700)]
Don't use a pointer for the A2DP Sink static mutex

The A2DP Sink cleanup might be called even if A2DP Sink init wasn't called
before, hence the g_mutex local pointer might be null.
We cannot check whether the pointer is null, because the A2DP Sink init
and cleanup operations are not executed on the same thread.

Bug: 68255348
Test: Manual
Change-Id: I9881ada0c4d01192352621ca5fe024f0e8b0ef76

6 years agoHost test script should return 1 when build fails or test is missing
Jack He [Wed, 25 Oct 2017 17:14:53 +0000 (10:14 -0700)]
Host test script should return 1 when build fails or test is missing

* test/run_host_unit_tests.py returns 1 when
  - Build environement could not be setup
  - Build fails
  - Test could not be found
* It returns 0 when
  - Test exists, but failed
  - All tests pass

Bug: 64687730
Test: ./test/run_host_unit_tests.py -j40
Change-Id: Idbff0c73a219b5ce7b640f44f41caf43030e2b51

6 years agoFix race conditions in a2dp sink
Bailey Forrest [Wed, 7 Jun 2017 21:55:37 +0000 (14:55 -0700)]
Fix race conditions in a2dp sink

- Use std::atomic for btif_a2dp_sink_state variable
- Add a lock for other static members

Explanation:
- There's the main thread that things on this file should run on:
  btif_a2dp_sink_cb.worker_thread
- External callers may call from any thread.
- fixed_queue_t is a thread safe queue which uses locking.

Many of the functions just append commands to cmd_msg_queue which are
commands which are processed by btif_a2dp_sink_command_ready. Operations
on this queue can be done without locking.

The main bug is a TOCTOU bug on 'rx_audio_queue'.

btif_a2dp_sink_avk_handle_timer preforms a fixed_queue_try_peek_first
operation and modifies the pointer without dequing it. This causes a
race when other operations cause a dequeue on rx_audio_queue.

I have added locks on all functions which modify the static data except:
- Helpers which are only called while locked
- Functions which only modify cmd_msg_queue or access
  btif_a2dp_sink_state

Bug: 35807779
Test: Test on device.
Change-Id: I289e23213426dbc182ca4a3fca26bc5658299381

6 years agotest_vendor: Extract DeviceProperties
Myles Watson [Fri, 20 Oct 2017 16:46:59 +0000 (09:46 -0700)]
test_vendor: Extract DeviceProperties

Test: start/stop Bluetooth with rootcanal loaded
Change-Id: Ic3dd1c87df9583c4b5957592bca3332f2daaa3da

6 years agoRemove aliase name while removing bonded device
liuchao [Tue, 24 Oct 2017 17:51:31 +0000 (17:51 +0000)]
Remove aliase name while removing bonded device
am: ce7c3c045f

Change-Id: I705eaaed0caaa82671c57d624932110eb4262cc0

6 years agoRemove aliase name while removing bonded device
liuchao [Wed, 12 Apr 2017 02:23:00 +0000 (10:23 +0800)]
Remove aliase name while removing bonded device

when remove a bonded device, the date in bt_config.conf
is deleted but only removed linkey in the global cache.
The user set alise name is left there

When comes to next time search ,the linkey is set to
config and write to bt_config.conf, before OFF/ON BT
operation, the cached alse name is reported unexceptedly

After remove,the remote device is expected to be brand
new to the phone in the 2nd time they see each other.

Test: mm -j8
Change-Id: I005a6487c546e2639e3180e8a6e181c4d3c1d4ac

6 years agoGet Bluetooth Class of Device
Pulkit Bhuwalka [Tue, 24 Oct 2017 06:27:46 +0000 (06:27 +0000)]
Get Bluetooth Class of Device
am: c5ed99ea41

Change-Id: I116fd9e1e74f10d8b51d41a058982add301c289e

6 years agoGet Bluetooth Class of Device
Pulkit Bhuwalka [Wed, 20 Sep 2017 22:11:01 +0000 (15:11 -0700)]
Get Bluetooth Class of Device

Modifies the native Bluetooth stack to
 1) return default value from BTA_DM_COD configuration when not set, and
 2) return adapter COD value even before stack start for Java Android
 stack.

Bug: 36015415
Test: Verified fetching of COD both before and after modification of
CoD value and restart of machine.

Change-Id: Ibcf726dcd7bea5d7e27c7a775f8cf7ea3f9e4107

6 years agoTEST: Fix host native test script
Jack He [Tue, 24 Oct 2017 03:29:10 +0000 (03:29 +0000)]
TEST: Fix host native test script
am: 39555a3f0a

Change-Id: I71ad38d426e69e6ff7edead0ea9f08db9d2da8fe

6 years agoTEST: Fix host native test script
Jack He [Mon, 23 Oct 2017 20:28:59 +0000 (13:28 -0700)]
TEST: Fix host native test script

* Use build/soong/soong_ui.bash to get needed environment variables
  instead of getting them directly from the parent shell
* Simplify the build command use to 'soong_ui.bash' directly so that
  we can remove the call to envsetup
* When ANDROID_BUILD_TOP is not set, try finding it by looking for
  build/soong/soong_ui.bash in all parent directories until found,
  and get TOP variable from it
* Similarly, for ANDROID_HOST_OUT, use the same soong_ui.bash script to
  get it, instead of relying on the environment variable
* Also fixed a bug in test log output by prepending DIST_DIR to the
  output file path so that it can be grabbed by the server

Bug: 64687730
Test: run run_host_unit_tests script in both
        1) vanilla environment without envsetup and lunch
        2) fulled setup and lunched environemt
      to verify
        1) If nothing is setup, the script picks a default environment
2) If envirnoment is already setup, use existing environment
   instead of creating new one

Change-Id: Ife28db509fe9af55cef26c7b480196efae39d3aa

6 years agoMake copyright headers consistent with Google template; remove "(C)"
Jakub Pawlowski [Tue, 24 Oct 2017 00:47:17 +0000 (00:47 +0000)]
Make copyright headers consistent with Google template; remove "(C)"
am: 5b790feeeb

Change-Id: I2caaf1d1455140ff0e2439584f2275c5ad0bb6e3

6 years agoMake copyright headers consistent with Google template; remove "(C)"
Jakub Pawlowski [Mon, 18 Sep 2017 16:00:20 +0000 (09:00 -0700)]
Make copyright headers consistent with Google template; remove "(C)"

Test: Comment changes only; still compiles...
Change-Id: Id699a8170112f06e4a2c9f2e0f0834d1817ace4e

6 years agoMerge "GATT discovery refactor"
Jakub Pawlowski [Mon, 23 Oct 2017 22:43:21 +0000 (22:43 +0000)]
Merge "GATT discovery refactor"
am: ac1f273024

Change-Id: Idbf9d442d70b5a4676a9bdc313b1c48ba5d0d648

6 years agoMerge "GATT discovery refactor"
Treehugger Robot [Mon, 23 Oct 2017 22:36:34 +0000 (22:36 +0000)]
Merge "GATT discovery refactor"

6 years agoChange Bluetooth HID Profile Name (3/6)
Hansong Zhang [Mon, 23 Oct 2017 22:35:06 +0000 (22:35 +0000)]
Change Bluetooth HID Profile Name (3/6)
am: bb3d9f7e92

Change-Id: I51e348da5f5aa2beb8be001c39c52c3b9f5eae0a

6 years agoGATT discovery refactor
Jakub Pawlowski [Tue, 10 Oct 2017 19:45:14 +0000 (12:45 -0700)]
GATT discovery refactor

Currently, when doing service discovery, we store pending discovery
content into tBTA_GATTC_ATTR_REC structure, and rewrite it into cache,
service after service during discovery.
From now on, we save discovery result directly into pending_discovery,
and at end of discovery we swap it with cache. This remove unncecessary
intermidiate step, and simplify the discovery.

Bug: 67057055
Test: GattReadTest
Change-Id: Id09026b6fb6df04eaf0a0ebefeb6e35b3d175f62

6 years agoChange Bluetooth HID Profile Name (3/6)
Hansong Zhang [Fri, 20 Oct 2017 22:56:54 +0000 (15:56 -0700)]
Change Bluetooth HID Profile Name (3/6)

Make the Bluetooth HID profile name consistent with the Bluetooth HID
service name.

BluetoothInputHost → BluetoothHidDevice
BluetoothInputDevice → BluetoothHidHost
IBluetoothInputHost → IBluetoothHidDevice
IBluetoothInputDevice → IBluetoothHidHost
BluetoothProfile.INPUT_HOST → BluetoothProfile.HID_DEVICE
BluetoothProfile.INPUT_DEVICE → BluetoothProfile.HID_HOST

(Cherry-picked from commit 1878072a45cb748f396a7b97f3c14aa983d41333)
Merged-In: I6bb5ad307f8ffb78cf5972aad68665372b85f0fe
Bug: 68055651
Test: make
Change-Id: I6bb5ad307f8ffb78cf5972aad68665372b85f0fe

6 years agoMerge "Use vector instead of list for keeping GATT database content"
Jakub Pawlowski [Mon, 23 Oct 2017 19:12:38 +0000 (19:12 +0000)]
Merge "Use vector instead of list for keeping GATT database content"
am: fb23789ef4

Change-Id: Iffe7afeedcfc178442db4bfc16519bde8058dd31

6 years agoMerge "Use vector instead of list for keeping GATT database content"
Treehugger Robot [Mon, 23 Oct 2017 19:08:23 +0000 (19:08 +0000)]
Merge "Use vector instead of list for keeping GATT database content"

6 years agoRFCOMM: Return NULL when out of listen ports
Myles Watson [Mon, 23 Oct 2017 17:32:29 +0000 (17:32 +0000)]
RFCOMM: Return NULL when out of listen ports
am: 21dcd19890

Change-Id: I90a6a56d103d3e47e79d0e349efc517c20e96e20

6 years agoUse vector instead of list for keeping GATT database content
Jakub Pawlowski [Mon, 23 Oct 2017 15:54:45 +0000 (08:54 -0700)]
Use vector instead of list for keeping GATT database content

We don't use any list features, but have to pay extra for it's features.
Replace with vector.

Bug: 67057055
Test: compilation
Change-Id: I4209c24b4f87780ea29e4e0707ce0a2a0d440d6b

6 years agoRFCOMM: Return NULL when out of listen ports
Myles Watson [Thu, 19 Oct 2017 22:30:29 +0000 (15:30 -0700)]
RFCOMM: Return NULL when out of listen ports

Bug: 67846163
Test: Connect RFCOMM ports until they fail
Change-Id: Ia6cdb5340f8565db0ca5538f8d8ae9c2f25e892e

6 years agoMerge "Restart legacy advertising after successfull connection"
Jakub Pawlowski [Sat, 21 Oct 2017 00:47:05 +0000 (00:47 +0000)]
Merge "Restart legacy advertising after successfull connection"
am: bd05a3edfc

Change-Id: I870f744f4b30b4c7b5b9ae953804378f6fe61be4

6 years agoMerge "Restart legacy advertising after successfull connection"
Treehugger Robot [Sat, 21 Oct 2017 00:41:27 +0000 (00:41 +0000)]
Merge "Restart legacy advertising after successfull connection"

6 years agoMerge "test_vendor: Update clang-formatting"
Myles Watson [Fri, 20 Oct 2017 21:42:23 +0000 (21:42 +0000)]
Merge "test_vendor: Update clang-formatting"
am: 8bbc80c58b

Change-Id: I0977ad036027716bee20e1083f81234b65ae7ff3

6 years agoMerge "test_vendor: Update clang-formatting"
Treehugger Robot [Fri, 20 Oct 2017 21:36:29 +0000 (21:36 +0000)]
Merge "test_vendor: Update clang-formatting"

6 years agoRestart legacy advertising after successfull connection
Jakub Pawlowski [Fri, 20 Oct 2017 18:10:46 +0000 (11:10 -0700)]
Restart legacy advertising after successfull connection

Bug: 66139617
Test: run CTS Bluetooth LE Insecure Client Test
Change-Id: I894391f608d9ac7a625dc936cf27027fd3ab6140

6 years agoBuild only for current architecture by default
Jakub Pawlowski [Fri, 20 Oct 2017 17:58:40 +0000 (17:58 +0000)]
Build only for current architecture by default
am: 862095819f

Change-Id: I1ad6723776dd2bd4bc5ae1afe330a28849550a9c

6 years agoRemove LD_LIBRARY_PATH from test/run_unit_test.sh
Jakub Pawlowski [Fri, 20 Oct 2017 17:58:08 +0000 (17:58 +0000)]
Remove LD_LIBRARY_PATH from test/run_unit_test.sh
am: 50e1adadad

Change-Id: I8c8ca6aba178c69c43f6862485f55db9eee3c66f

6 years agoBuild only for current architecture by default
Jakub Pawlowski [Fri, 20 Oct 2017 08:14:20 +0000 (01:14 -0700)]
Build only for current architecture by default

From now on, libbluetooth.so, and all unit tests will be compiled for
the current device platform only.

libbluetooth-types is an exception from rule, as some vendor libraries
are still compiled for 32bit.

Bug: 68028239
Test: compile and run Bluetooth
Change-Id: I51bb4da2a9e1e4e9a03c43f2825bd1dbd4a5ca58

6 years agoRemove LD_LIBRARY_PATH from test/run_unit_test.sh
Jakub Pawlowski [Fri, 20 Oct 2017 07:34:13 +0000 (00:34 -0700)]
Remove LD_LIBRARY_PATH from test/run_unit_test.sh

libbluetooth.so is now in default lib folder.

Bug: 67853426
Test: run tests using run_unit_test.sh
Change-Id: Ib3982d9600717593b817bda3553f53a629eb4afc

6 years agotest_vendor: Update clang-formatting
Myles Watson [Thu, 24 Aug 2017 22:04:19 +0000 (15:04 -0700)]
test_vendor: Update clang-formatting

Test: build
Change-Id: I40313b5df0dbed20e9d4afd4a7eac0083c644d7c

6 years agoFix out-of-bound array access in jv handle err log
liuchao [Fri, 20 Oct 2017 16:58:02 +0000 (16:58 +0000)]
Fix out-of-bound array access in jv handle err log
am: 3ddadcf4b0

Change-Id: I2627ad5a4e864f520f340b9690ca3be2d4fd9681

6 years agoFix out-of-bound array access in jv handle err log
liuchao [Thu, 13 Apr 2017 03:45:02 +0000 (11:45 +0800)]
Fix out-of-bound array access in jv handle err log

Since the port_handle is checked invalid in bta_jv_rfc_port_to_cb
the error print of bta_jv_cb.port_cb[port_handle - 1].handle is
inappropriate

Test: mm -j8
Change-Id: I0562706512bb993d9a65676d11274d21fa9e70ef

6 years agoLinux: bluetooth.default.so -> libbluetooth.so
Jakub Pawlowski [Fri, 20 Oct 2017 04:59:51 +0000 (04:59 +0000)]
Linux: bluetooth.default.so -> libbluetooth.so
am: 121882e23a

Change-Id: I423eb28eaf7060c1966e0d4b944d25400478b674

6 years agoLinux: bluetooth.default.so -> libbluetooth.so
Jakub Pawlowski [Fri, 20 Oct 2017 02:51:57 +0000 (19:51 -0700)]
Linux: bluetooth.default.so -> libbluetooth.so

Also rename the build goal for both the library.

Bug: 67853426
Test: run Bluetooth
Change-Id: Ic5bd27f10ade0b068057049dd98c09e082cafee1

6 years agoClarify naming for characteristic value handle
Jakub Pawlowski [Fri, 20 Oct 2017 02:51:09 +0000 (02:51 +0000)]
Clarify naming for characteristic value handle
am: 8e16fd450f

Change-Id: I9d3aafaecfaf612180f9b592f376c5ecc7502bf3

6 years agoClarify naming for characteristic value handle
Jakub Pawlowski [Thu, 19 Oct 2017 22:51:35 +0000 (15:51 -0700)]
Clarify naming for characteristic value handle

We always reffer to characteristic by it's value handle.

Bug: 67057055
Test: compilation
Change-Id: I41a5d910ed471800c996b44dccfdbab3d7c3bdda

6 years agoMerge "Test: Rename performance_test to net_test_performance"
Jack He [Thu, 19 Oct 2017 23:42:56 +0000 (23:42 +0000)]
Merge "Test: Rename performance_test to net_test_performance"
am: a3341a0da2

Change-Id: I43226f193e427aa9be2e6a13decd1492a2bf2fc4

6 years agoMerge "Test: Rename performance_test to net_test_performance"
Treehugger Robot [Thu, 19 Oct 2017 23:38:51 +0000 (23:38 +0000)]
Merge "Test: Rename performance_test to net_test_performance"

6 years agohw/bluetooth.default.so -> libbluetooth.so (1/2)
Jakub Pawlowski [Thu, 19 Oct 2017 21:59:20 +0000 (21:59 +0000)]
hw/bluetooth.default.so -> libbluetooth.so (1/2)
am: e56fabca98

Change-Id: I180079583d6f057827fad7f98e459c8e67ad931d

6 years agoTest: Rename performance_test to net_test_performance
Jack He [Thu, 19 Oct 2017 21:25:26 +0000 (14:25 -0700)]
Test: Rename performance_test to net_test_performance

Bug: 67059793
Test: make
Change-Id: I6303d4c367e465c8404538d904eabca80b509a16