OSDN Git Service
Pavlin Radoslavov [Tue, 31 Jan 2017 19:13:24 +0000 (19:13 +0000)]
Update the A2DP Codec Config API am:
494e53e904
am:
0be63749e6
Change-Id: I4497045f9d9202756a2a26228a0f05c1c4aa1f0c
Pavlin Radoslavov [Tue, 31 Jan 2017 19:08:15 +0000 (19:08 +0000)]
Update the A2DP Codec Config API
am:
494e53e904
Change-Id: I02831600027b777d41dc5c1b67ac844fa03e9118
Pavlin Radoslavov [Thu, 26 Jan 2017 01:00:23 +0000 (17:00 -0800)]
Update the A2DP Codec Config API
Previously, the JNI upcall would contain only the current codec config.
In the new API, the upcall contains:
1. The current codec config
2. The list of codecs containing the local codecs capabilities
3. The list of codecs containing the selectable codecs capabilities.
This list is the intersection of the local codecs capabilities
and the capabilities of the paired device.
Also, updated the codec backend to accomodate the above changes:
* Update all selectable codecs inside bta_av_co_audio_set_codec()
* Changed getCodecConfigAndCapabilities() to return current codec
config, local codecs capabilities, and selectable codecs capabilities.
* Updated each codec to compute and store a copy of the selectable
capabilities, and the local capabilities.
* Updated tA2DP_SBC_CIE to include new field bits_per_sample
(for consistency with the rest of the codecs).
* Replaced usage of codec_priority of 0 with BTAV_A2DP_CODEC_PRIORITY_DEFAULT
* If there is user codec (re)config call, we always send an upcall
to inform the Java layer about the most recent codec info.
Thus, the caller would always know whether the request succeeded or failed.
Test: A2DP streaming with headsets and switching the codecs
Change-Id: Ie7a5cd5c2ab01bb8676032be05bc2ad03baa1e3f
Stephen Li [Fri, 27 Jan 2017 07:37:43 +0000 (07:37 +0000)]
Merge commit '
ca6d7dcbd49356338eaaa88de87885ecaf218c4d' into am:
665bcf8f2d
am:
c28c4325d2
Change-Id: Ib4b641b82598b01ce6f6706929b4e95a120ad359
Andre Eisenbach [Fri, 27 Jan 2017 07:34:22 +0000 (07:34 +0000)]
Merge "Remove HC_BUFFER_HDR_T" am:
a6f6077be8
am:
a993bc5266
Change-Id: Id395ad6449a22f6fad413aec292dfeff86bbcb14
Stephen Li [Fri, 27 Jan 2017 01:22:43 +0000 (01:22 +0000)]
Merge commit '
ca6d7dcbd49356338eaaa88de87885ecaf218c4d' into
am:
665bcf8f2d
Change-Id: I3a3fc2d0cc9f6681178a5877b127ad55f98be9bc
Andre Eisenbach [Fri, 27 Jan 2017 01:22:32 +0000 (01:22 +0000)]
Merge "Remove HC_BUFFER_HDR_T"
am:
a6f6077be8
Change-Id: I72c589c900c83b6adcd229248dc5b8590a73b64b
Stephen Li [Thu, 26 Jan 2017 23:45:27 +0000 (15:45 -0800)]
Merge commit '
ca6d7dcbd49356338eaaa88de87885ecaf218c4d' into
This is because patchset 1 of change 328081 got merged in to the branch
and not patchset 2, despite what gerrit UI says. This is a known error
and is being worked on.
Change-Id: If4f6f3d705e93f03d120c6441e16e9b0afc3d9ca
Treehugger Robot [Thu, 26 Jan 2017 23:22:12 +0000 (23:22 +0000)]
Merge "Remove HC_BUFFER_HDR_T"
Andre Eisenbach [Wed, 25 Jan 2017 17:26:41 +0000 (09:26 -0800)]
Remove HC_BUFFER_HDR_T
Test: compiles
Change-Id: Ia5bf3395bd5a18a27168f05a0a2239a37ddb2c2c
Pavlin Radoslavov [Thu, 26 Jan 2017 19:25:53 +0000 (19:25 +0000)]
Integration of the AAC codec for A2DP source am:
d5f4960b42
am:
2c66cfabaf
Change-Id: Ib6e37d4dace1d3db0b6b170de7b3b2fcc076aef4
Pavlin Radoslavov [Thu, 26 Jan 2017 19:20:31 +0000 (19:20 +0000)]
Integration of the AAC codec for A2DP source
am:
d5f4960b42
Change-Id: I75433922a48fab734ea5d0ee01c93d3a44cde8d8
Pavlin Radoslavov [Wed, 4 Jan 2017 00:53:18 +0000 (16:53 -0800)]
Integration of the AAC codec for A2DP source
Also:
- Implemented data fragmentation inside bta_av_data_path()
that is RTP compatible.
- Do not use the codec_type when composing the RTP payload type
per RFC 3016, Section 4.2. That value doesn't have actual meaning
in the context of the Bluetooth supported codecs, and is ambiguous:
all vendor codecs map to the same value 0xFF.
- Updated support function A2DP_BitsSet() so it works for
up to 64-bit integers.
- Updated a log message inside l2c_data_write() to print
packet length and peer MTU on error.
Test: A2DP streaming to AAC headsets
Bug:
30958229
Change-Id: I1b530f1c5c495b8231fd68bed788d4567096683d
Srinu Jella [Wed, 25 Jan 2017 20:06:46 +0000 (20:06 +0000)]
Merge "Update UUIDs immediately on NVRAM" am:
87cf1322fc
am:
6b46114f5a
Change-Id: Ie8b3c383f711e3a402c531a9a98ee8eb852c6c91
Srinu Jella [Wed, 25 Jan 2017 20:02:15 +0000 (20:02 +0000)]
Merge "Update UUIDs immediately on NVRAM"
am:
87cf1322fc
Change-Id: I7d302edf5c42ceb90f3e1692e243410063218636
Treehugger Robot [Wed, 25 Jan 2017 19:55:59 +0000 (19:55 +0000)]
Merge "Update UUIDs immediately on NVRAM"
Jack He [Wed, 25 Jan 2017 19:33:12 +0000 (19:33 +0000)]
Merge "Corrected default value assignments in Bluetooth A2DP Metrics" am:
df1668926d
am:
f85d231647
Change-Id: Ie42f410cc3c1df184f20b78d84f0a634c374facb
Jack He [Wed, 25 Jan 2017 19:30:42 +0000 (19:30 +0000)]
Merge "Corrected default value assignments in Bluetooth A2DP Metrics"
am:
df1668926d
Change-Id: Ibeca5167e014e7ef51da639bcc12d3b2d89ec9b9
Treehugger Robot [Wed, 25 Jan 2017 19:28:02 +0000 (19:28 +0000)]
Merge "Corrected default value assignments in Bluetooth A2DP Metrics"
Srinu Jella [Mon, 21 Nov 2016 12:56:58 +0000 (18:26 +0530)]
Update UUIDs immediately on NVRAM
As the BTIF config updation have delay in writing items
to the NVRAM, some times there is a chance of not updating
incase of battery removal happens before the actual write onto
NVRAM.
As SDP UUIDs is important data to store, it will update
immediately onto NVRAM.
Test: manual
Change-Id: I6637dc326f3a53211a5bbf988a2dca1020203128
Andre Eisenbach [Wed, 25 Jan 2017 17:26:41 +0000 (09:26 -0800)]
Remove HC_BUFFER_HDR_T
Test: compiles
Change-Id: Ia5bf3395bd5a18a27168f05a0a2239a37ddb2c2c
Ivan Podogov [Wed, 25 Jan 2017 00:14:24 +0000 (00:14 +0000)]
HID: Fix forced disconnection flow. am:
367373ba8b
am:
d6cff48023
Change-Id: I9171655b4cfe05e4395d2381461316bd05824a1e
Ivan Podogov [Wed, 25 Jan 2017 00:12:23 +0000 (00:12 +0000)]
HID: Fix forced disconnection flow.
am:
367373ba8b
Change-Id: Ia72cfb5979735bdb2b091291719ac895331bba7e
Ivan Podogov [Thu, 19 Jan 2017 17:19:37 +0000 (17:19 +0000)]
HID: Fix forced disconnection flow.
In some cases, we end up in a state where we can neither
connect nor forcefully end connection, and will require disabling
the Bluetooth adapter to fix this state.
When a device is taking too long to connect (or out of range),
the user may want to cancel the connection by calling disconnect
method, which will be ignored in any state other than
BTA_HD_CONN_ST. It is a lot better to immediately cease the
connection process at this point, so:
- BTA_HD_API_DISCONNECT_EVT is now not ignored in BTA_HD_IDLE_ST;
- bta_hd_disconnect_act now reports a correct MAC address during
disconnection (it used to send 00:00:00:00:00:00 before);
- HidDevDisconnect now allows to forcefully end the connection,
and does it in exactly the same way we handle the errors.
When L2CAP connection fails, both hidd_l2cif_config_ind and
hidd_l2cif_config_cfm set conn_state to HID_CONN_STATE_UNUSED,
which is immediately overwritten by the hidd_conn_disconnect call
(it will set conn_state to HID_CONN_STATE_DISCONNECTING, because
ctrl_cid != 0 in both cases), thus making any subsequent calls to
connect failing with "already connecting" error. More than that,
all functions send the HID_DHOST_EVT_CLOSE event when failing,
which is, again, ignored in the BTA_HD_IDLE_ST state. So:
- BTA_HD_INT_CLOSE_EVT is now not ignored in BTA_HD_IDLE_ST;
- conn_state is set to HID_CONN_STATE_UNUSED after the call to
hidd_conn_disconnect, but before sending the close event.
Test: Build, run, connect/disconnect multiple times.
Change-Id: I85bb03f760bb9a6fd4c1b944d515232c1be12300
Jack He [Fri, 20 Jan 2017 19:17:44 +0000 (11:17 -0800)]
Corrected default value assignments in Bluetooth A2DP Metrics
* In certain cases btif_a2dp_source_stop_audio_req() could be called before
btif_a2dp_source_start_audio_req() is called, resulting in session_start_us
to be 0. In this case, audio_duration_ms = time_get_os_boottime_us() - 0
will be a very large number that is not the actual audio duration. This
CL marks audio_duration_ms as -1 in the above situation so that we can
differentiate between valid and invalid audio durations
* Set default timer and counter values to 0 when
tx_queue_dequeue_stats.total_updates > 1
* Move update_scheduling_stats for tx_queue_enqueue_stats to
btif_a2dp_source_audio_handle_timer as we intend to capture the time
intervals for enqueue scheduling instead of time intervals between
frame enqueue (i.e. one scheduling event can enqueue multiple frames)
* Use tx_queue_enqueue_stats for metrics instead of *dequeue* since only
enqueue is triggered by timer event
Bug:
33694310
Test: Code compilation, BtFunhausMetricsTest
Change-Id: I10984920afd4d77f07a5ac75736f8dcd69b13af8
(cherry picked from commit
5a9925784a4a34811ae29608b67dee4a580c226b)
Jakub Pawlowski [Mon, 23 Jan 2017 23:45:57 +0000 (23:45 +0000)]
Add advertising handle zero quirk am:
6d75adcc03
am:
11438472ac
Change-Id: Ie2266ac54b28fd507cff9026b45a0e6a1b17aa5e
Jakub Pawlowski [Mon, 23 Jan 2017 23:43:56 +0000 (23:43 +0000)]
Add advertising handle zero quirk
am:
6d75adcc03
Change-Id: I520cd3d1aff332d9eb0ccce13f36dc0aceb2f25e
Jakub Pawlowski [Mon, 23 Jan 2017 22:03:19 +0000 (14:03 -0800)]
Add advertising handle zero quirk
Some controllers are strict about VSC handle mapping, and don't allow
using zero value.
Test: manual test
Change-Id: Ia2df17af16e0e4da375d6e7d5b5f882ced508ce9
IHLHO KIM [Mon, 23 Jan 2017 19:00:55 +0000 (19:00 +0000)]
Fix the GATT server and HOGP disconnect am:
c176ff364e
am:
f83cdcb7fc
Change-Id: If46dcdd664c3a433b0c16acac955acb2c79ffa2a
IHLHO KIM [Mon, 23 Jan 2017 18:56:56 +0000 (18:56 +0000)]
Fix the GATT server and HOGP disconnect
am:
c176ff364e
Change-Id: I13a676f6d9beac6f5cf07960c8b9cfe4fc2a7a68
IHLHO KIM [Fri, 13 Jan 2017 06:27:38 +0000 (06:27 +0000)]
Fix the GATT server and HOGP disconnect
GATT server disconnect and HOGP disconnect are not working after the
following commit:
a62adcab30929566b435891611232566bd69204a.
‘BTA_GATTS_CancelOpen’ makes ‘gatt_update_app_hold_link_status’
return FALSE value. As a result, ‘BTA_GATTS_Close’ cannot disconnect
the link. The sequence has to be changed like GATT client.
And the above mentioned fix removed ‘found’ checking routine in
‘gatt_update_app_hold_link_status’.
It makes two app hold links with same gatt_if when HOGP is connected and
background connection is added. But HOGP disconnect removes only one held
link. So HOGP is never disconnected.
The ‘found’ checking routine has to be rolled back.
Test: manual
Change-Id: Ibea825b5cc844195f0cf4a30cbcca831880c9088
Jakub Pawlowski [Sat, 21 Jan 2017 09:03:38 +0000 (09:03 +0000)]
Fix advertising timeout behaviour. am:
657baed5df
am:
abf317c0a1
Change-Id: I96c1977d4fa186c513a5c55215d59f70d5b21d96
Jakub Pawlowski [Sat, 21 Jan 2017 08:59:37 +0000 (08:59 +0000)]
Fix advertising timeout behaviour.
am:
657baed5df
Change-Id: I026f8798a67438e200f0a1b9c078776d7065e419
Jakub Pawlowski [Fri, 20 Jan 2017 13:33:38 +0000 (05:33 -0800)]
Fix advertising timeout behaviour.
When advertising is enabled with timeout, enable callback was not
called. Also we were not scheduling the disable operation after the
timeout passes. This patch fixes that. It also make sure that the
timeout callback is called on proper thread.
Bug:
34440704
Test: sl4a ConcurrentBleAdvertising:test_timeout
Change-Id: I233c2692c690f55ef6243325640e48b37818c9d5
Kamal Negi [Fri, 20 Jan 2017 23:43:59 +0000 (23:43 +0000)]
Merge "Set alarm's queue to NULL on alarm expired" am:
1ad559cf00
am:
0ff83d9a87
Change-Id: I753305fafe1b675eb5f48ccd701165c2c3118443
Kamal Negi [Fri, 20 Jan 2017 23:40:29 +0000 (23:40 +0000)]
Merge "Set alarm's queue to NULL on alarm expired"
am:
1ad559cf00
Change-Id: Icfe0576b893be813645375f3da234ee7a3fa4455
Treehugger Robot [Fri, 20 Jan 2017 23:36:39 +0000 (23:36 +0000)]
Merge "Set alarm's queue to NULL on alarm expired"
Srinu Jella [Fri, 20 Jan 2017 23:33:30 +0000 (23:33 +0000)]
Merge "Synchronize hl data operations" am:
0d8bb2b099
am:
cac856b821
Change-Id: I48c2c0d1431bf5a8ab1a77d887460d3e3a52a650
Srinu Jella [Fri, 20 Jan 2017 23:29:57 +0000 (23:29 +0000)]
Merge "Synchronize hl data operations"
am:
0d8bb2b099
Change-Id: I65ef2e27332de47e921f15aaca76668cc75f9567
Treehugger Robot [Fri, 20 Jan 2017 23:25:44 +0000 (23:25 +0000)]
Merge "Synchronize hl data operations"
Nagarjuna Kristam [Fri, 20 Jan 2017 21:44:21 +0000 (21:44 +0000)]
Update error check for LE read remote feature event am:
86d5b5658c
am:
623a6d4f63
Change-Id: I209d901733690f8ace8855865370738fd304e9a9
Nagarjuna Kristam [Fri, 20 Jan 2017 21:41:23 +0000 (21:41 +0000)]
Update error check for LE read remote feature event
am:
86d5b5658c
Change-Id: Icdb02974837695995dacb1598772d4b46af66d9b
Nagarjuna Kristam [Tue, 13 Dec 2016 09:00:45 +0000 (14:30 +0530)]
Update error check for LE read remote feature event
When a BLE remote read remote feature complete event is received
initial commands flow is proceeding if error code is not connection
failed to establish (0x3E). Instead, the flow should fail on any
error.
Test: Re-connection stress tests with LE device
Change-Id: I4ab80b6601f5f852fcf8da2911807438584fd3f4
Kamal Negi [Mon, 19 Sep 2016 08:46:56 +0000 (14:16 +0530)]
Set alarm's queue to NULL on alarm expired
Use Case: Repeated BT ON/OFF
Failure: ANR due to race condition between random advertisement
address generation completion(adv_raddr_timer) and BT shutdown.
Steps: SNS Stress testing.
Root Cause: Race condition happens between random advertisement
address generation completion(adv_raddr_timer) and BT shutdown.
Fix: For non-periodic alarms, set alarm's queue to NULL once alarm
expired.
Test: mm -j8
Change-Id: Idf8e2bebdc2ca7621aef06dd5f2075ef2c5fa08c
Satish Kodishala [Fri, 20 Jan 2017 21:26:48 +0000 (21:26 +0000)]
Bluetooth: Handle get RSSI timeout gracefully am:
b0014dae41
am:
8fe142c111
Change-Id: Ib667ace75390ab1c969aac216e3babb58ea82dfa
Satish Kodishala [Fri, 20 Jan 2017 21:25:49 +0000 (21:25 +0000)]
Bluetooth: Handle get RSSI timeout gracefully
am:
b0014dae41
Change-Id: I55f9d891c58b82e12073fe57d1d19bdf64f6019d
Sanket Agarwal [Fri, 20 Jan 2017 21:25:49 +0000 (21:25 +0000)]
BTA HF CLIENT: Unset initial SCO value am:
882760d186
am:
7aec0a91c5
Change-Id: I238b52168be022d5112b70bcff06d2a5381a7c19
Sanket Agarwal [Fri, 20 Jan 2017 21:21:48 +0000 (21:21 +0000)]
BTA HF CLIENT: Unset initial SCO value
am:
882760d186
Change-Id: I1342f805da9d37e542e137bad9eda54bab8287c2
Srinu Jella [Wed, 30 Nov 2016 09:55:12 +0000 (15:25 +0530)]
Synchronize hl data operations
Use Case: BT crash seen while transferring data
using HDP APP to remote health device.
Steps:
1. Pair with HDP device
2. Run HDP APP and transfer data to Remote HDP device.
Failure: BT automatically resets and recovers.
Root Cause: Synchronize BITF HL free buffer as simultaneously
free buffer from BTIF and BTU thread lead to sigabort.
Fix: Validate Tx packet before memcpy as it can be free
from different thread.
Test: mm -j8
Change-Id: I566f62ce02c8e95c9f4b8d7155132e4434657f66
Satish Kodishala [Tue, 20 Dec 2016 05:31:07 +0000 (11:01 +0530)]
Bluetooth: Handle get RSSI timeout gracefully
Usecase:
1. Turn ON BT
2. Pair and connect with Headset
3. Play Music over A2DP
4. Make GetRssi timeout
5. Bt app crashes
Failure:
BT app crashes.
Rootcause:
Calling callback with NULL and in callback handling NULL check with assert.
Fix:
Call the callback with error instead of NULL.
Change-Id: I20a9e504a513697945cd76d218ec12a0ef1e3330
Sanket Agarwal [Fri, 20 Jan 2017 19:06:41 +0000 (11:06 -0800)]
BTA HF CLIENT: Unset initial SCO value
Initialize the block with invalid SCO state so that while allocating the
if condition does not ignore the block. This was causing the stack to
not initiate a SCO connection to the remote (AG role)
Bug: b/
33555377
Test: Check for SCO initialied on audio call
Change-Id: I3f5619c69288483bfa45c2a1adcf22008e353841
Jack He [Fri, 20 Jan 2017 04:02:16 +0000 (04:02 +0000)]
Fix A2DP Metrics Logging Capacity am:
a3f831cc74
am:
1cac42b5da
Change-Id: I85fd2f52849365593106e7f45bdcdb9c493d2f0a
Jack He [Fri, 20 Jan 2017 03:53:20 +0000 (03:53 +0000)]
Fix A2DP Metrics Logging Capacity
am:
a3f831cc74
Change-Id: I6a790aae682f6b8282de219a286f82bdca4503b5
Jack He [Tue, 17 Jan 2017 23:41:30 +0000 (15:41 -0800)]
Fix A2DP Metrics Logging Capacity
* Set the maximum number of wake events logged to 1000
* Stop logging wake log name as it takes too much memory
* Add counters for each of the repeated values in BluetoothLog so that
the true number of events can be determined while oldest event get
dropped
* Log Bluetooth session disconnect reasons using enum instead of string
in order to save memory usage
* Apply other branch changes to bluetooth.proto on system/bt
Bug:
33694310
Test: Code compilation and unit tests
Change-Id: I2cc6f9304725938b63b211d615eb1941eac60edf
(cherry picked from commit
7ab4b59672013eddcb706e288962ab7309a75628)
Myles Watson [Thu, 19 Jan 2017 23:25:43 +0000 (23:25 +0000)]
test_vendor: Remove extra byte in LE Features am:
a72fc53164
am:
e13ce6b773
Change-Id: Ibf2b67f0165db5ff470bbadc7979931caff5b713
Myles Watson [Thu, 19 Jan 2017 23:23:09 +0000 (23:23 +0000)]
test_vendor: Remove extra byte in LE Features
am:
a72fc53164
Change-Id: If703d5f52b0ee55338f0f3c24c5c6cad113fe108
Myles Watson [Thu, 19 Jan 2017 21:13:55 +0000 (13:13 -0800)]
test_vendor: Remove extra byte in LE Features
Bug:
34357009
Test: push test-vendor lib as libbt-vendor.so, Bluetooth starts
Change-Id: Id3a5f85f6b3da5a723dba04527db8b66de0e84a8
Jakub Pawlowski [Thu, 19 Jan 2017 14:53:49 +0000 (14:53 +0000)]
Fix bad UUID comparison when adding GATT service am:
33f424d493
am:
bd6197aae4
Change-Id: I8290d2055f06a869b964840bc205b8b8b89925b6
Jakub Pawlowski [Thu, 19 Jan 2017 14:51:18 +0000 (14:51 +0000)]
Fix bad UUID comparison when adding GATT service
am:
33f424d493
Change-Id: I8552b9aa41c0852672a5ecf63ea39b8a289d27df
Jakub Pawlowski [Thu, 19 Jan 2017 06:58:53 +0000 (22:58 -0800)]
Fix bad UUID comparison when adding GATT service
This patch fixes bad comparison in add_service_impl. Instead of checking
wether service is one of two excluded services, it was excluding all
services.
Test: sl4a GatReadTest
Bug:
34280184
Change-Id: I3195e94b6fafe4d2e3c61fc7bfd7398c2855b78e
Jorge E. Moreira [Thu, 19 Jan 2017 14:32:16 +0000 (14:32 +0000)]
Merge "test_vendor: Make tryStartThread return 0 on success" am:
91b994faa6
am:
0e462b4c9b
Change-Id: If36b548d7b58060d920caef2fea0d13f3fe3e596
Jorge E. Moreira [Thu, 19 Jan 2017 14:30:13 +0000 (14:30 +0000)]
Merge "test_vendor: Make tryStartThread return 0 on success"
am:
91b994faa6
Change-Id: I54671e84b39953a5e38e7b41a5275800de9c06b4
Treehugger Robot [Thu, 19 Jan 2017 14:26:33 +0000 (14:26 +0000)]
Merge "test_vendor: Make tryStartThread return 0 on success"
Jorge E. Moreira [Thu, 19 Jan 2017 00:34:42 +0000 (16:34 -0800)]
test_vendor: Make tryStartThread return 0 on success
Test: Start the test vendor library with no error message
Bug:
34357009
Change-Id: Id2821199ad675e2b95a9f333afa803dcced811a3
Jack He [Thu, 19 Jan 2017 03:40:09 +0000 (03:40 +0000)]
Fix parser for BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR am:
a643b5b0df
am:
4c56d8f849
Change-Id: I5dcd31ca425b25286fb86ca0e48015c4514f3b8d
Jack He [Thu, 19 Jan 2017 03:37:37 +0000 (03:37 +0000)]
Fix parser for BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR
am:
a643b5b0df
Change-Id: I3c4d7ccfcfbcb0faa151776ecd325891d14f38f5
Jack He [Thu, 19 Jan 2017 01:14:08 +0000 (17:14 -0800)]
Fix parser for BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR
* Current parser does not support multi-directory lists, which may cause
a build failure if BoardConfig.mk defines one.
* This CL splits the list of directories using whitespace and adds them
individually to the include list
Bug:
34396100
Test: Code compilation, no user visible effect
Change-Id: I59e901d76d1bc20f50b54941a3007c5521ded214
Jack He [Wed, 18 Jan 2017 22:20:18 +0000 (22:20 +0000)]
Convert build system to soong using Android.bp am:
e2eeff4f7f
am:
bfd636ce15
Change-Id: Id194d1c543cc52f52e93016f3ae37a3207527219
Jack He [Wed, 18 Jan 2017 22:19:17 +0000 (22:19 +0000)]
Convert build system to soong using Android.bp
am:
e2eeff4f7f
Change-Id: I1caf32ca845b33d414582f972e89229949c439cf
Jack He [Thu, 8 Dec 2016 02:25:17 +0000 (18:25 -0800)]
Convert build system to soong using Android.bp
* Convert top level Android.mk into build templates in build/Android.bp
and build/fluoride.go
* Initial conversion is done by "androidmk Android.mk > Android.bp"
* Android.bp does not allow source inclusion from external directories
and therefore they have to be made in to cc_library_static in their
respective sub-directories and linked using whole_static_libs in the
modules where they are used
* As Android.bp does not allow multiple modules of the same name,
same-name mudules for different target are merged into one definition
with target specific setup
* Generated proto header path has to be changed in osi/src/metrics.cc as
Android.bp only generate header path relative to the Android.bp file
instead of top-level directory such as system/bt
* Android.bp does not support resource copying yet and hence conf files
are left un-touched.
* Android.bp does support conditional module declaration and therefore
test-vendor libs are left untouched except for unit tests
* The goal of this CL is to direct (almost) translate Android.mk to
Android.bp first with Android.bp specific optimizations coming later
Bug:
32958753
Test: Code compilation, manual testing by test team
Change-Id: I5249e1f2135c4121205619b1d735ce448feb7499
Sanket Agarwal [Wed, 18 Jan 2017 20:43:07 +0000 (20:43 +0000)]
Merge "HF CLIENT BTA: Reduce logging for non-allocated blocks" am:
7b70d1e420
am:
10f9c1d487
Change-Id: Id529230bcbaa5c6d730fd080da1b9373bd10397b
Sanket Agarwal [Wed, 18 Jan 2017 20:41:06 +0000 (20:41 +0000)]
Merge "HF CLIENT BTA: Reduce logging for non-allocated blocks"
am:
7b70d1e420
Change-Id: I4a196410b5517c2a4231deea4b12c79c6b1e3b3f
Treehugger Robot [Wed, 18 Jan 2017 20:34:59 +0000 (20:34 +0000)]
Merge "HF CLIENT BTA: Reduce logging for non-allocated blocks"
Hemant Gupta [Wed, 18 Jan 2017 20:18:04 +0000 (20:18 +0000)]
HID: Prevent crash by Cancelling SDP during cleanup am:
8ed9a77792
am:
378900c9aa
Change-Id: Ibfb0232678d95aa0dc362a56914bfb2c6257a2c4
Hemant Gupta [Wed, 18 Jan 2017 20:16:04 +0000 (20:16 +0000)]
HID: Prevent crash by Cancelling SDP during cleanup
am:
8ed9a77792
Change-Id: I6020ab9443f3e674511ef88116fcaa0ea9a727ba
Sanket Agarwal [Wed, 18 Jan 2017 01:37:10 +0000 (17:37 -0800)]
HF CLIENT BTA: Reduce logging for non-allocated blocks
Bug: b/
33552136
Test: adb shell dumpsys bluetooth_manager
Change-Id: I3cb6c28bffe6b335cf82cac63dc78ce4957d78f4
Hemant Gupta [Fri, 9 Dec 2016 17:40:10 +0000 (23:10 +0530)]
HID: Prevent crash by Cancelling SDP during cleanup
Usecase:
1) User tried to connect to HID Device.
2) SDP is internally performed by DUT. SDP is at stage,
where L2CAP connection, configuration is done, and data
fetch is ongoing.
3) BT was turned off from UI.
Observation:
BT crashed while accessing memory that was freed already because BT turn off,
caused ACL disconnection, leading to L2CAP disconnect indication in stack,
leading to sdp disconnect indication.
backtrace:
#00 pc
000f98d4 /system/lib/hw/bluetooth.default.so (SDP_FindServiceUUIDInDb+51)
#01 pc
000b5dbd /system/lib/hw/bluetooth.default.so (hidh_search_callback+0x40)
#02 pc
000f770b /system/lib/hw/bluetooth.default.so (sdp_disconnect_ind+0x5e)
#03 pc
00107a5f /system/lib/hw/bluetooth.default.so (l2c_csm_execute+3446)
#04 pc
001080e7 /system/lib/hw/bluetooth.default.so (l2c_link_hci_disc_comp+122)
#05 pc
000fda81 /system/lib/hw/bluetooth.default.so (btu_hcif_process_event+588)
#06 pc
000fec81 /system/lib/hw/bluetooth.default.so (btu_hci_msg_ready+96)
#07 pc
00118191 /system/lib/hw/bluetooth.default.so
#08 pc
0011917f /system/lib/hw/bluetooth.default.so
#09 pc
00041993 /system/lib/libc.so (_ZL15__pthread_startPv+30)
#10 pc
000192b5 /system/lib/libc.so (__start_thread+6)
Register Dump
pid: 15740, tid: 15761, name: bluedroid wake/ >>> com.android.bluetooth <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x20000
r0
815a5cac r1
a1a2f370 r2
00000000 r3
85d4e541
r4
00020000 r5
815a5cac r6
a1a2f370 r7
b6d3ae40
r8
00000000 r9
b6d3ae40 sl
00000002 fp
00000013
ip
a228c050 sp
a1a2f360 lr
a20eddc1 pc
a21318d4 cpsr
200e0030
Rootcause
The above scenario could lead to crash we see as below, as bta_hh_cb.p_disc_db would be freed
during HID Host cleanup, and would be accessed via callback received for parsing SDP results on
SDP completion.
Fix:
While cleaning up HID Host, Cancel SDP search before freeing and resetting bta_hh_cb.p_disc_db.
This will internally send L2CAP disconnect request for SDP, and would lead to sdp_disconnect_cfm
call when L2CAP is disconnected, and would lead to call of hidh_search_callback with result code
as SDP_CANCEL.
Change-Id: I63563cb23dd69946f87a70cafa203c44edc9b753
Pavlin Radoslavov [Wed, 18 Jan 2017 02:13:06 +0000 (02:13 +0000)]
Add conditional unit testing for codecs that might not be on the device am:
4decac33f6
am:
2ead0be903
Change-Id: Ibb8af4cac0986f2b387be06c585a7593400e0e2d
Pavlin Radoslavov [Wed, 18 Jan 2017 02:10:34 +0000 (02:10 +0000)]
Add conditional unit testing for codecs that might not be on the device
am:
4decac33f6
Change-Id: I9ac89df8897be966206020361ec3b4681aeb9681
Pavlin Radoslavov [Sat, 14 Jan 2017 01:42:01 +0000 (17:42 -0800)]
Add conditional unit testing for codecs that might not be on the device
Codecs like aptX and aptX-HD are supported on the device if the
corresponding shared library is installed.
Fix the unit tests to conditionally test for aptX/aptX-HD.
Also, update function descriptions in files a2dp_sbc.h and
a2dp_vendor_ldac.h .
Test: Running unit tests on a device that doesn't have aptX/aptX-HD
Change-Id: I44dc275ca6e0cb5438ee6ed0b6213213d56592f4
liuchao [Tue, 17 Jan 2017 20:13:40 +0000 (20:13 +0000)]
Fix a NULL-pointer access before check in connect_int am:
9b2e40df05
am:
73af061500
Change-Id: I596eaaa5f8e1919e75f4332534f480057465cb54
liuchao [Tue, 17 Jan 2017 20:11:25 +0000 (20:11 +0000)]
Fix a NULL-pointer access before check in connect_int
am:
9b2e40df05
Change-Id: I3217f206ef56d73dbac01b19eeb123b6cfb68870
liuchao [Wed, 4 Jan 2017 05:49:36 +0000 (13:49 +0800)]
Fix a NULL-pointer access before check in connect_int
This fixes a potential NULL-pointer access in case cb is returned NULL
Test: mm -j 8
Change-Id: Iaf7aa0ba736b5cb161811726b4aaea7f1ab7e5b3
Pavlin Radoslavov [Tue, 17 Jan 2017 19:56:59 +0000 (19:56 +0000)]
Merge "Reduced the log verbosity level for aptX/aptX-HD data packets" am:
5256f1feea
am:
76efc23846
Change-Id: I38cf5bdaff222dbd7328f04bf82da3c5cc056ab6
Jakub Pawlowski [Tue, 17 Jan 2017 19:56:48 +0000 (19:56 +0000)]
Don't allow GATT and GAP service override am:
8a06ff5ce2
am:
3b672538ba
Change-Id: I235d976c6e1e1ab80fdc3a457f5ea776281a309a
Pavlin Radoslavov [Tue, 17 Jan 2017 19:50:19 +0000 (19:50 +0000)]
Merge "Reduced the log verbosity level for aptX/aptX-HD data packets"
am:
5256f1feea
Change-Id: I762b7e65001740fec55515f7121f5217c4dbb455
Jakub Pawlowski [Tue, 17 Jan 2017 19:50:04 +0000 (19:50 +0000)]
Don't allow GATT and GAP service override
am:
8a06ff5ce2
Change-Id: I9eaff8a251269b3f073845c80284fefde35822b4
Treehugger Robot [Tue, 17 Jan 2017 19:42:53 +0000 (19:42 +0000)]
Merge "Reduced the log verbosity level for aptX/aptX-HD data packets"
Jakub Pawlowski [Tue, 17 Jan 2017 19:06:07 +0000 (19:06 +0000)]
Fix NPE when discovering invalid GATT datatbase am:
8957fdca4f
am:
1637dc7990
Change-Id: I1e9710d05b0276106c0fd19604db2b9db5cde257
Jakub Pawlowski [Tue, 17 Jan 2017 18:46:10 +0000 (18:46 +0000)]
Fix NPE when discovering invalid GATT datatbase
am:
8957fdca4f
Change-Id: I1e196651928314494a696e5a3ef126272dd3208a
Jakub Pawlowski [Mon, 16 Jan 2017 12:53:14 +0000 (04:53 -0800)]
Don't allow GATT and GAP service override
Those services are automatically added by the stack, and overriding them
results in invalid GATT database being created.
Bug:
34280184
Test: Manual test
Change-Id: Ie6a09e9d606e40066bef6f6a2c934eacd17bf53b
Jakub Pawlowski [Mon, 16 Jan 2017 12:05:57 +0000 (04:05 -0800)]
Fix NPE when discovering invalid GATT datatbase
When doing a discovery of invalid GATT database, where two services are
added with same start handle, characteristics are added to the first
one, where descriptors are added to the later. This cause NPE when
adding descriptor.
Bug:
34280184
Test: manual test
Change-Id: I27619098df33a641cb089b82cf4d4ffd3c6e6aea
Pavlin Radoslavov [Sat, 14 Jan 2017 07:24:25 +0000 (23:24 -0800)]
Reduced the log verbosity level for aptX/aptX-HD data packets
Also, fixed a typo in a log message.
Test: A2DP streaming to headset, and capturing "adb logcat" output
Change-Id: I525d78e3ebde334857261f0cbd256a7f6a946e96
Reddy Praveen [Tue, 17 Jan 2017 10:07:58 +0000 (10:07 +0000)]
Fix for Extended Scan parameter length am:
0c86aad3f5
am:
a41493f386
Change-Id: Id57ec583ff0a29a5dfdaf2aee449fd7e6d5414c6
Reddy Praveen [Tue, 17 Jan 2017 09:54:28 +0000 (09:54 +0000)]
Fix for Extended Scan parameter length
am:
0c86aad3f5
Change-Id: I561461bd6b119912ef53dfbca923f2aac9b3fad7
Reddy Praveen [Fri, 13 Jan 2017 11:27:37 +0000 (16:57 +0530)]
Fix for Extended Scan parameter length
With BT 5.0 extended advertisement scan parameter length
is configured with correct value.
Test: BT scan from settings menu
Change-Id: I749099282a9f2cf190d4f9576649aefe88564809
Signed-off-by: Reddy Praveen <praveen.reddy@intel.com>
Pavlin Radoslavov [Fri, 13 Jan 2017 18:46:18 +0000 (18:46 +0000)]
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE am:
f8e2670d12
am:
a7d87c4c12
Change-Id: I4b28e24b3fad9248028bae23038a12d8c4b67ce8
Pavlin Radoslavov [Fri, 13 Jan 2017 18:44:20 +0000 (18:44 +0000)]
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE
am:
f8e2670d12
Change-Id: I716d1c077b089345c08ca76ccf2823ac1ff6d8e3
Pavlin Radoslavov [Wed, 11 Jan 2017 18:35:15 +0000 (10:35 -0800)]
Removed the feeding_init call from tA2DP_ENCODER_INTERFACE
The feeding_init call is not used anymore - it has been superseded
by the newer A2dpCodecs.setCodecAudioConfig() mechanism.
Also, moved aptx_init_framing_params() and aptx_hd_init_framing_params()
calls to the corresponding encoder_update functions.
Test: A2DP streaming to Bluetooth headsets
Change-Id: I52f42b4701d04fe2ddb8f115bb9cd57fe38e2b38
Pavlin Radoslavov [Tue, 10 Jan 2017 23:10:49 +0000 (23:10 +0000)]
Integrated A2DP LDAC support with the LDAC encoder library am:
d556b752bd
am:
95c78b6741
Change-Id: I7c1f807c2ede174d4682e2acf6ced396b1b19356