OSDN Git Service

android-x86/system-bt.git
6 years agoAdd PDU size checks in process_service_search_attr_rsp
Jakub Pawlowski [Thu, 24 May 2018 23:00:01 +0000 (16:00 -0700)]
Add PDU size checks in process_service_search_attr_rsp
am: 49399b5243

Change-Id: I3fd72aa398a35456e9062db1b9e448a29951cbc0

6 years agoMerge "Increase LE connection interval with bonded Hearing Aids" into pi-dev
Stanley Tng [Thu, 24 May 2018 22:53:11 +0000 (15:53 -0700)]
Merge "Increase LE connection interval with bonded Hearing Aids" into pi-dev
am: daa0656702

Change-Id: I8e8f7888de41ebbd49958da31ccd5b903d684738

6 years agoAdd PDU size checks in process_service_search_attr_rsp
Jakub Pawlowski [Thu, 24 May 2018 15:59:34 +0000 (08:59 -0700)]
Add PDU size checks in process_service_search_attr_rsp

Bug: 79884292
Change-Id: Icc02a6188f806f766aa8676804d74995afa08d25

6 years agoMerge "GATT: Handle too short Error Response PDU" into pi-dev
Jakub Pawlowski [Thu, 24 May 2018 02:00:37 +0000 (19:00 -0700)]
Merge "GATT: Handle too short Error Response PDU" into pi-dev
am: ccf208e4fc

Change-Id: I5bf41f4a05a418701ab16afec7559eb98253242b

6 years agoMerge "HFP: Ignore DISCONNECTED state in PhoneStateChange" into pi-dev
Jack He [Thu, 24 May 2018 01:39:35 +0000 (18:39 -0700)]
Merge "HFP: Ignore DISCONNECTED state in PhoneStateChange" into pi-dev
am: b90857655b

Change-Id: I4c4ef367a80821bc9a650179db20dfe8535c9d14

6 years agoMerge "AVRCP: Cancel all pending messages and prevent future messages after cleanup...
Andre Eisenbach [Thu, 24 May 2018 01:10:14 +0000 (18:10 -0700)]
Merge "AVRCP: Cancel all pending messages and prevent future messages after cleanup" into pi-dev
am: 389fdbdab4

Change-Id: Iffd20f61a8ba8a6c8e81a0aa41e2b8e6c865e98f

6 years agoMerge "Increase LE connection interval with bonded Hearing Aids" into pi-dev
TreeHugger Robot [Thu, 24 May 2018 00:23:02 +0000 (00:23 +0000)]
Merge "Increase LE connection interval with bonded Hearing Aids" into pi-dev

6 years agoMerge "HFP: Ignore DISCONNECTED state in PhoneStateChange" am: 78eed90d9a
Jack He [Wed, 23 May 2018 22:48:23 +0000 (15:48 -0700)]
Merge "HFP: Ignore DISCONNECTED state in PhoneStateChange" am: 78eed90d9a
am: f48b7b15d8

Change-Id: I5250ad35e7950fd97de9e804e6e22fbbc38bc3e4

6 years agoReduce A2DP/AVDTP related dumpsys output am: 8757bc7ab0
Pavlin Radoslavov [Wed, 23 May 2018 22:48:01 +0000 (15:48 -0700)]
Reduce A2DP/AVDTP related dumpsys output am: 8757bc7ab0
am: 4ad5addcdc

Change-Id: Ib13336a3db275d571a674d3fb5013bc34e6b7bfd

6 years agoExplicitly stop the stream when the A2DP session ends am: 6d493bdc7b
Pavlin Radoslavov [Wed, 23 May 2018 22:47:13 +0000 (15:47 -0700)]
Explicitly stop the stream when the A2DP session ends am: 6d493bdc7b
am: 89a63dd115

Change-Id: I48de15552c48c83e2af9e42ae506268659214c61

6 years agoIncrease LE connection interval with bonded Hearing Aids
Stanley Tng [Wed, 23 May 2018 01:15:42 +0000 (18:15 -0700)]
Increase LE connection interval with bonded Hearing Aids

When there are bonded Hearing Aids device, increase the minimum LE
Connection Interval to reduce the audio noises on the devices.

Bug: 80079923
Test: Manual test with RAT mouse and HA devices
Change-Id: I589bc574ef7ff3754a149e30fb3c0a685ce27823
(cherry picked from commit 111c7db93f613a09022d44639517a94be04ab300)

6 years agoMerge "Explicitly stop the stream when the A2DP session ends" into pi-dev
Pavlin Radoslavov [Wed, 23 May 2018 21:27:22 +0000 (14:27 -0700)]
Merge "Explicitly stop the stream when the A2DP session ends" into pi-dev
am: 28984bf496

Change-Id: Id68539d3f3ab6de2a524d4b4a04191309426216b

6 years agoMerge "HFP: Ignore DISCONNECTED state in PhoneStateChange"
Jack He [Wed, 23 May 2018 21:14:13 +0000 (14:14 -0700)]
Merge "HFP: Ignore DISCONNECTED state in PhoneStateChange"
am: 78eed90d9a

Change-Id: I87e695bef50566f766476ea2a6a46fe332ba1958

6 years agoMerge "HFP: Ignore DISCONNECTED state in PhoneStateChange"
Treehugger Robot [Wed, 23 May 2018 20:46:44 +0000 (20:46 +0000)]
Merge "HFP: Ignore DISCONNECTED state in PhoneStateChange"

6 years agoReduce A2DP/AVDTP related dumpsys output
Pavlin Radoslavov [Wed, 23 May 2018 20:09:58 +0000 (13:09 -0700)]
Reduce A2DP/AVDTP related dumpsys output
am: 8757bc7ab0

Change-Id: I2ef1439c45aa1d7a0504cc3f5529a9e596e3e6c3

6 years agoMerge "GATT: Handle too short Error Response PDU" into pi-dev
TreeHugger Robot [Wed, 23 May 2018 18:55:56 +0000 (18:55 +0000)]
Merge "GATT: Handle too short Error Response PDU" into pi-dev

6 years agoHFP: Ignore DISCONNECTED state in PhoneStateChange
Jack He [Wed, 23 May 2018 00:35:57 +0000 (17:35 -0700)]
HFP: Ignore DISCONNECTED state in PhoneStateChange

* DISCONNECTED state is a transient state from Telecom service and will
  always lead to IDLE state when the call is completely disconnected
* This state should be ignored as HFP specification does not handle
  cases when a call is being disconnected

Bug: 78674822
Test: Receive incoming call and hangup
Change-Id: Icebdf9b5fdffad3e2b78645d4f0c69ec13b2604c

6 years agoMerge "HFP: Ignore DISCONNECTED state in PhoneStateChange" into pi-dev
TreeHugger Robot [Wed, 23 May 2018 18:30:09 +0000 (18:30 +0000)]
Merge "HFP: Ignore DISCONNECTED state in PhoneStateChange" into pi-dev

6 years agoExplicitly stop the stream when the A2DP session ends
Pavlin Radoslavov [Wed, 23 May 2018 18:10:02 +0000 (11:10 -0700)]
Explicitly stop the stream when the A2DP session ends
am: 6d493bdc7b

Change-Id: I63ccc644c7f34b62f2d95000e74b9f0a8ea6c465

6 years agoGATT: Handle too short Error Response PDU
Jakub Pawlowski [Wed, 23 May 2018 17:19:53 +0000 (10:19 -0700)]
GATT: Handle too short Error Response PDU

Since the spec is not clear what to do in this case, use one of
reserved error codes as a failure reason, and pass it to upper layers.

Bug: 79591688
Change-Id: Ie6a53e9c8e4ceb8f1e5a75aee44baa5f4a798c4f

6 years agoMerge "AVRCP: Cancel all pending messages and prevent future messages after cleanup...
Andre Eisenbach [Wed, 23 May 2018 16:55:46 +0000 (16:55 +0000)]
Merge "AVRCP: Cancel all pending messages and prevent future messages after cleanup" into pi-dev

6 years agoReduce A2DP/AVDTP related dumpsys output
Pavlin Radoslavov [Wed, 23 May 2018 14:40:09 +0000 (07:40 -0700)]
Reduce A2DP/AVDTP related dumpsys output

* Don't print control blocks that are not in use
* Print some sections only if the runtime trace level is DEBUG(=5) or above
* Renamed section "A2DP Codecs and Peers State:" to
  "A2DP Peers State:"

Bug: 80179152
Test: Manual
Change-Id: I9fcd7387ed469094132d5be989d4976ce103cfc8

6 years agoHFP: Ignore DISCONNECTED state in PhoneStateChange
Jack He [Wed, 23 May 2018 00:35:57 +0000 (17:35 -0700)]
HFP: Ignore DISCONNECTED state in PhoneStateChange

* DISCONNECTED state is a transient state from Telecom service and will
  always lead to IDLE state when the call is completely disconnected
* This state should be ignored as HFP specification does not handle
  cases when a call is being disconnected

Bug: 78674822
Test: Receive incoming call and hangup
Change-Id: Icebdf9b5fdffad3e2b78645d4f0c69ec13b2604c
(cherry picked from commit f720c9af076347a4ae2cf2fb4c4ed5b79fdb0049)

6 years agoMerge "Explicitly stop the stream when the A2DP session ends" into pi-dev
TreeHugger Robot [Wed, 23 May 2018 02:34:57 +0000 (02:34 +0000)]
Merge "Explicitly stop the stream when the A2DP session ends" into pi-dev

6 years agoExplicitly stop the stream when the A2DP session ends
Pavlin Radoslavov [Wed, 23 May 2018 00:56:22 +0000 (17:56 -0700)]
Explicitly stop the stream when the A2DP session ends

Note: this needs to be done only for the A2DP HW offload scenario.
For the software data path, this will be done by the Audio HAL.

Bug: 80117050
Test: Manual
Change-Id: I4397d219d82d779706e946f0c7f833c1e93e91f4
Merged-In: I4397d219d82d779706e946f0c7f833c1e93e91f4
(cherry picked from commit 6d493bdc7b7cc9d38f6759d08734cce691c6ac45)

6 years agoExplicitly stop the stream when the A2DP session ends
Pavlin Radoslavov [Wed, 23 May 2018 00:56:22 +0000 (17:56 -0700)]
Explicitly stop the stream when the A2DP session ends

Note: this needs to be done only for the A2DP HW offload scenario.
For the software data path, this will be done by the Audio HAL.

Bug: 80117050
Test: Manual
Change-Id: I4397d219d82d779706e946f0c7f833c1e93e91f4

6 years agoAVRCP: Cancel all pending messages and prevent future messages after cleanup
Ajay Panicker [Tue, 22 May 2018 21:42:16 +0000 (14:42 -0700)]
AVRCP: Cancel all pending messages and prevent future messages after cleanup

Bug: 79859133
Test: Regression test and repeatedly turn Bluetooth off and on
Change-Id: I1aa05cc5430dbda1d4bae6aa9543f655baed77b4

6 years agoMerge "Update connection parameters just once before GATT discovery" am: 55d4938b30
Jakub Pawlowski [Tue, 22 May 2018 23:25:16 +0000 (16:25 -0700)]
Merge "Update connection parameters just once before GATT discovery" am: 55d4938b30
am: 1a51a24f09

Change-Id: I0e6f5305119a5be363a9eaf881bcbb1239bbae32

6 years agoMerge "Update connection parameters just once before GATT discovery"
Jakub Pawlowski [Tue, 22 May 2018 23:19:32 +0000 (16:19 -0700)]
Merge "Update connection parameters just once before GATT discovery"
am: 55d4938b30

Change-Id: I85a8108d5171399a2dd94e7a880dc95b02d423a4

6 years agoMerge "Update connection parameters just once before GATT discovery"
Treehugger Robot [Tue, 22 May 2018 23:01:26 +0000 (23:01 +0000)]
Merge "Update connection parameters just once before GATT discovery"

6 years agoMerge "HFP: Set audio handle for active device during incoming call" into pi-dev
Jack He [Tue, 22 May 2018 22:47:28 +0000 (15:47 -0700)]
Merge "HFP: Set audio handle for active device during incoming call" into pi-dev
am: bb25f6961b

Change-Id: I8539ed792cfbb3b48077ea62be51642258f04d79

6 years agoMerge "HFP: Set audio handle for active device during incoming call" into pi-dev
TreeHugger Robot [Tue, 22 May 2018 22:41:10 +0000 (22:41 +0000)]
Merge "HFP: Set audio handle for active device during incoming call" into pi-dev

6 years agoMerge "Support AVRCP Controller on JNI thread" am: f323814822
Joseph Pirozzo [Tue, 22 May 2018 22:35:08 +0000 (15:35 -0700)]
Merge "Support AVRCP Controller on JNI thread" am: f323814822
am: 72ac53bf36

Change-Id: I71f2f9c6b6e8b3dd37cc961459893bc366a35ce5

6 years agoMerge "Support AVRCP Controller on JNI thread"
Joseph Pirozzo [Tue, 22 May 2018 22:30:25 +0000 (15:30 -0700)]
Merge "Support AVRCP Controller on JNI thread"
am: f323814822

Change-Id: I42d11c0145e32ec3f60829735040f5c30728b5b4

6 years agoMerge "Support AVRCP Controller on JNI thread"
Joseph Pirozzo [Tue, 22 May 2018 22:20:02 +0000 (22:20 +0000)]
Merge "Support AVRCP Controller on JNI thread"

6 years agoMerge "Support AVRCP Controller on JNI thread" into pi-dev
Joseph Pirozzo [Tue, 22 May 2018 21:57:49 +0000 (14:57 -0700)]
Merge "Support AVRCP Controller on JNI thread" into pi-dev
am: 6676b08fee

Change-Id: I9ae1b5052e76643c9b3f6cafed38a730ce9aea1a

6 years agoMerge "Support AVRCP Controller on JNI thread" into pi-dev
Joseph Pirozzo [Tue, 22 May 2018 21:39:57 +0000 (21:39 +0000)]
Merge "Support AVRCP Controller on JNI thread" into pi-dev

6 years agoUpdate connection parameters just once before GATT discovery
Jakub Pawlowski [Tue, 22 May 2018 21:15:31 +0000 (14:15 -0700)]
Update connection parameters just once before GATT discovery

Call to L2CA_EnableUpdateBleConnParams is already made just before
call to bta_gattc_set_discover_st

Test: compilation
Change-Id: I30939065b5486e20c2f6f456dde96266e9395690

6 years agoHFP: Set audio handle for active device during incoming call
Jack He [Tue, 22 May 2018 00:09:29 +0000 (17:09 -0700)]
HFP: Set audio handle for active device during incoming call

* Set audio handle for active device during incoming call
* Change debug level logging to warning level when SCO is not allowed to
  open or when RING command is not allowed to be sent

Bug: 77949569
Test: connect with HFP devices and receive incoming call
Change-Id: Ibc2caf740f94817ae725786e35e8592390167ce2
(cherry picked from commit bad2898f07128b032e0bfa7a1b3e85fc832dfbef)

6 years ago[automerger skipped] Merge "Don't mix internal AVDTP state when connecting to two...
Pavlin Radoslavov [Tue, 22 May 2018 19:25:12 +0000 (12:25 -0700)]
[automerger skipped] Merge "Don't mix internal AVDTP state when connecting to two devices" into pi-dev
am: e8b3b00dc5  -s ours

Change-Id: I19c861f39997c132576a35e4349331555ed285e0

6 years agoMerge "Don't mix internal AVDTP state when connecting to two devices" into pi-dev
TreeHugger Robot [Tue, 22 May 2018 19:17:40 +0000 (19:17 +0000)]
Merge "Don't mix internal AVDTP state when connecting to two devices" into pi-dev

6 years ago[automerger skipped] Merge "Use the effective peer MTU when preparing the codec confi...
Pavlin Radoslavov [Tue, 22 May 2018 19:14:07 +0000 (12:14 -0700)]
[automerger skipped] Merge "Use the effective peer MTU when preparing the codec configuration" into pi-dev
am: 0cb360b06f  -s ours

Change-Id: I7e7f7f8addd1fb986bf5d60d0e6e1313cc6e2a4b

6 years agoMerge "Use the effective peer MTU when preparing the codec configuration" into pi-dev
TreeHugger Robot [Tue, 22 May 2018 19:04:15 +0000 (19:04 +0000)]
Merge "Use the effective peer MTU when preparing the codec configuration" into pi-dev

6 years agoGATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID
Hemant Gupta [Tue, 22 May 2018 19:03:13 +0000 (12:03 -0700)]
GATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID
am: a84a40afd3

Change-Id: Iaac3700166b006b3fcd6c259d36f52b3f605c9a1

6 years agoMerge "HFP: Set audio handle for active device during incoming call" am: 9bef78a5b6
Jack He [Tue, 22 May 2018 18:36:34 +0000 (11:36 -0700)]
Merge "HFP: Set audio handle for active device during incoming call" am: 9bef78a5b6
am: 1267c7e4d6

Change-Id: Ib78a0f309d12f489ff2f6d98e18dad485a300952

6 years agoMerge "HFP: Set audio handle for active device during incoming call"
Jack He [Tue, 22 May 2018 18:31:23 +0000 (11:31 -0700)]
Merge "HFP: Set audio handle for active device during incoming call"
am: 9bef78a5b6

Change-Id: I5ee74df6c21914f1b03e045d60a1fa40e3cc1096

6 years agoMerge "HFP: Set audio handle for active device during incoming call"
Treehugger Robot [Tue, 22 May 2018 18:17:38 +0000 (18:17 +0000)]
Merge "HFP: Set audio handle for active device during incoming call"

6 years agoMerge "Use the effective peer MTU when preparing the codec configuration" am: 35b08f5708
Pavlin Radoslavov [Tue, 22 May 2018 17:44:41 +0000 (10:44 -0700)]
Merge "Use the effective peer MTU when preparing the codec configuration" am: 35b08f5708
am: b578b37882

Change-Id: I080f3bad3e6e5e4731e95ec87dee80a5149d75cf

6 years agoMerge "Use the effective peer MTU when preparing the codec configuration"
Pavlin Radoslavov [Tue, 22 May 2018 17:40:06 +0000 (10:40 -0700)]
Merge "Use the effective peer MTU when preparing the codec configuration"
am: 35b08f5708

Change-Id: Id2a86ff485aa61c60bd61ea55c296164983fe159

6 years agoMerge "Don't mix internal AVDTP state when connecting to two devices" am: d0eff6ef6c
Pavlin Radoslavov [Tue, 22 May 2018 17:36:12 +0000 (10:36 -0700)]
Merge "Don't mix internal AVDTP state when connecting to two devices" am: d0eff6ef6c
am: 89d81544de

Change-Id: I1f505d46c5a138cd0c89e63669c00fe20637a2fb

6 years agoUse the effective peer MTU when preparing the codec configuration
Pavlin Radoslavov [Tue, 22 May 2018 09:03:20 +0000 (02:03 -0700)]
Use the effective peer MTU when preparing the codec configuration

Added new method A2dpCodecConfig::getEffectiveMtu() and use it
to obtain the effective MTU per peer per codec.
The effective peer MTU could be smaller than the one reported
by the peer (e.g., for interoperability reasons).

Bug: 77913350
Test: Manual
Change-Id: Idd5230681ac5856fd18dd33ac48723c6ea609e16
Merged-In: Idd5230681ac5856fd18dd33ac48723c6ea609e16
(cherry picked from commit d57fcc86ed62f790e5fe1b0010b411016ea34f81)

6 years agoMerge "Use the effective peer MTU when preparing the codec configuration"
Treehugger Robot [Tue, 22 May 2018 17:32:18 +0000 (17:32 +0000)]
Merge "Use the effective peer MTU when preparing the codec configuration"

6 years agoDon't mix internal AVDTP state when connecting to two devices
Pavlin Radoslavov [Fri, 18 May 2018 03:38:44 +0000 (20:38 -0700)]
Don't mix internal AVDTP state when connecting to two devices

There is a race condition when connecting to two devices, and
the connection to one of the devices is not powered on.

Because of the race condition, the wrong tBTA_AV_LCB entry inside
bta_av_sig_chg() might be allocated for the connection to
the device that is powered on. As a result of that, when
the connection attempt to the powered off device times out,
we will use the wrong bta_handle to close the existing AVDTP connection to
the device that is connected.

Also:
 - Add a new function BTA_AvObtainPeerChannelIndex() to select the
   appropriate AvdtpCcb entry if there an outgoing connection request
   while an incoming connection is received.
 - Added/updated log messages to help debugging similar issues in the future
 - Removed unnecessary SetActivePeer() call inside the BtifAv state
   machine for A2DP Source to avoid additional internal/transient glitches

Test: Manual
Bug: 79697137
Change-Id: Ie55e3dcf6c6a15637ce3631f2828548a2423d881
Merged-In: Ie55e3dcf6c6a15637ce3631f2828548a2423d881
(cherry picked from commit 1e2cab39a42542f12862df1cd47bf6d90853138b)

6 years agoMerge "Don't mix internal AVDTP state when connecting to two devices"
Pavlin Radoslavov [Tue, 22 May 2018 17:30:46 +0000 (10:30 -0700)]
Merge "Don't mix internal AVDTP state when connecting to two devices"
am: d0eff6ef6c

Change-Id: I2d538de9b73bdcb12800cc30eb38c848f384dc83

6 years agoMerge "Don't mix internal AVDTP state when connecting to two devices"
Treehugger Robot [Tue, 22 May 2018 17:25:31 +0000 (17:25 +0000)]
Merge "Don't mix internal AVDTP state when connecting to two devices"

6 years agoMerge "gatt_api: Avoid possible NULL dereference" am: bea526992d
Greg Kaiser [Tue, 22 May 2018 16:42:31 +0000 (09:42 -0700)]
Merge "gatt_api: Avoid possible NULL dereference" am: bea526992d
am: ac64837245

Change-Id: I3b84a95ff4f5f6b110856c35c4e3ea658672011a

6 years agoMerge "gatt_api: Avoid possible NULL dereference"
Greg Kaiser [Tue, 22 May 2018 16:38:13 +0000 (09:38 -0700)]
Merge "gatt_api: Avoid possible NULL dereference"
am: bea526992d

Change-Id: Ic37eb3f50d9458b162e12a38a9d9164119f71c69

6 years agoMerge "gatt_api: Avoid possible NULL dereference"
Treehugger Robot [Tue, 22 May 2018 16:28:29 +0000 (16:28 +0000)]
Merge "gatt_api: Avoid possible NULL dereference"

6 years agoUse the effective peer MTU when preparing the codec configuration
Pavlin Radoslavov [Tue, 22 May 2018 09:03:20 +0000 (02:03 -0700)]
Use the effective peer MTU when preparing the codec configuration

Added new method A2dpCodecConfig::getEffectiveMtu() and use it
to obtain the effective MTU per peer per codec.
The effective peer MTU could be smaller than the one reported
by the peer (e.g., for interoperability reasons).

Bug: 77913350
Test: Manual
Change-Id: Idd5230681ac5856fd18dd33ac48723c6ea609e16

6 years agoGATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID am: 37fdb267db
Hemant Gupta [Tue, 22 May 2018 15:58:08 +0000 (08:58 -0700)]
GATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID am: 37fdb267db
am: 92237a264c

Change-Id: I4616a28500041b306814c49da49ae85066cb2694

6 years agoGATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID
Hemant Gupta [Tue, 22 May 2018 15:52:15 +0000 (08:52 -0700)]
GATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID
am: 37fdb267db

Change-Id: I7f2ac1a2f2af399cb61d878f95c99c3bf5684590

6 years agoGATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID
Hemant Gupta [Tue, 22 May 2018 03:55:50 +0000 (09:25 +0530)]
GATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID

Fix improper usage of 16 and 32 bit UUID's in Disocever services by UUID
Fixes PTS test cases GATT/CL/GAD/BV-08-C and GATT/CL/GAR/BV-03-C.

Test: PTS test cases GATT/CL/GAD/BV-08-C and GATT/CL/GAR/BV-03-C passes

Bug: 80095184
Change-Id: Ia0a26bd20ee68c5c7db0bc00036634f6719f25e9

6 years agogatt_api: Avoid possible NULL dereference
Greg Kaiser [Tue, 22 May 2018 13:59:48 +0000 (06:59 -0700)]
gatt_api: Avoid possible NULL dereference

We move a logging statement which dereferences a NULL pointer
until after the NULL check, and expand the error message for
the NULL check to include the function name.

Test: TreeHugger
Change-Id: Ib5134b0d6b9ec5da95ee62da9412b977925000ee

6 years agoDon't mix internal AVDTP state when connecting to two devices
Pavlin Radoslavov [Fri, 18 May 2018 03:38:44 +0000 (20:38 -0700)]
Don't mix internal AVDTP state when connecting to two devices

There is a race condition when connecting to two devices, and
the connection to one of the devices is not powered on.

Because of the race condition, the wrong tBTA_AV_LCB entry inside
bta_av_sig_chg() might be allocated for the connection to
the device that is powered on. As a result of that, when
the connection attempt to the powered off device times out,
we will use the wrong bta_handle to close the existing AVDTP connection to
the device that is connected.

Also:
 - Add a new function BTA_AvObtainPeerChannelIndex() to select the
   appropriate AvdtpCcb entry if there an outgoing connection request
   while an incoming connection is received.
 - Added/updated log messages to help debugging similar issues in the future
 - Removed unnecessary SetActivePeer() call inside the BtifAv state
   machine for A2DP Source to avoid additional internal/transient glitches

Test: Manual
Bug: 79697137
Change-Id: Ie55e3dcf6c6a15637ce3631f2828548a2423d881

6 years agoGATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID
Hemant Gupta [Tue, 22 May 2018 03:55:50 +0000 (09:25 +0530)]
GATT: Fix usage of 16 and 32 bit UUID's in Discover services by UUID

Fix improper usage of 16 and 32 bit UUID's in Disocever services by UUID
Fixes PTS test cases GATT/CL/GAD/BV-08-C and GATT/CL/GAR/BV-03-C.

Test: PTS test cases GATT/CL/GAD/BV-08-C and GATT/CL/GAR/BV-03-C passes

Bug: 80095184
Change-Id: Ia0a26bd20ee68c5c7db0bc00036634f6719f25e9

6 years agoSimplify bta_gattc_sdp_callback am: cabb39c432
Jakub Pawlowski [Tue, 22 May 2018 00:30:12 +0000 (17:30 -0700)]
Simplify bta_gattc_sdp_callback am: cabb39c432
am: 0f1b7d0cd8

Change-Id: I1f4ef1a49c53ff059a1ba2fd7e194534788d0400

6 years agoSimplify bta_gattc_sdp_callback
Jakub Pawlowski [Tue, 22 May 2018 00:24:09 +0000 (17:24 -0700)]
Simplify bta_gattc_sdp_callback
am: cabb39c432

Change-Id: I22016fd73cb6b01bb56aa82c712c8c1dbdcdc09f

6 years agoHFP: Set audio handle for active device during incoming call
Jack He [Tue, 22 May 2018 00:09:29 +0000 (17:09 -0700)]
HFP: Set audio handle for active device during incoming call

* Set audio handle for active device during incoming call
* Change debug level logging to warning level when SCO is not allowed to
  open or when RING command is not allowed to be sent

Bug: 77949569
Test: connect with HFP devices and receive incoming call
Change-Id: Ibc2caf740f94817ae725786e35e8592390167ce2

6 years agoMerge "HFP: Return SDP status to HFP layer" am: 0522a227b3
Jack He [Mon, 21 May 2018 22:37:31 +0000 (15:37 -0700)]
Merge "HFP: Return SDP status to HFP layer" am: 0522a227b3
am: 5dcccc86e6

Change-Id: I057c9f5d45fca858d93ea380ae4b2d87d18c70e2

6 years agoUnify logging in gatt_api.cc am: 431cf613c4
Jakub Pawlowski [Mon, 21 May 2018 22:36:06 +0000 (15:36 -0700)]
Unify logging in gatt_api.cc am: 431cf613c4
am: 0a6b361ef8

Change-Id: Id258ef3abd5cfadabc96c297c5079fa805506ad9

6 years agoSimplify bta_gattc_sdp_callback
Jakub Pawlowski [Fri, 18 May 2018 22:57:01 +0000 (15:57 -0700)]
Simplify bta_gattc_sdp_callback

* join multiple if statements to improve readability
* malloc and free memory just once for tBTA_GATTC_CB_DATA

Test: compilation
Change-Id: I907645ed04ed4b628a3b24785b1ccd16b69d83bb

6 years agoHFP: Return SDP status to HFP layer
Jack He [Mon, 21 May 2018 22:03:59 +0000 (15:03 -0700)]
HFP: Return SDP status to HFP layer
am: 90174f3514

Change-Id: I38ab45b2f5697977ca3d6a6d9e53a4ee24935e76

6 years agoMerge "HFP: Return SDP status to HFP layer"
Jack He [Mon, 21 May 2018 21:54:56 +0000 (14:54 -0700)]
Merge "HFP: Return SDP status to HFP layer"
am: 0522a227b3

Change-Id: I50e4a44b66ef727bd8243fc2182a2ddb36bbfbb1

6 years agoUnify logging in gatt_api.cc
Jakub Pawlowski [Mon, 21 May 2018 21:45:31 +0000 (14:45 -0700)]
Unify logging in gatt_api.cc
am: 431cf613c4

Change-Id: Ia4fa67a5c03c9c8b478550ff89534005d13a9165

6 years agoMerge "HFP: Return SDP status to HFP layer"
Treehugger Robot [Mon, 21 May 2018 21:20:07 +0000 (21:20 +0000)]
Merge "HFP: Return SDP status to HFP layer"

6 years agoUnify logging in gatt_api.cc
Jakub Pawlowski [Mon, 21 May 2018 16:38:48 +0000 (09:38 -0700)]
Unify logging in gatt_api.cc

- always log conn_id as hex value
- use "=" instead of ":" as delimiter between name and value
- get rid of StringPrintf

Test: compilation
Change-Id: Ia35b79c3732b19661e4655d5cf0923b7e701985f

6 years agoHFP: Return SDP status to HFP layer
Jack He [Sun, 20 May 2018 03:05:02 +0000 (20:05 -0700)]
HFP: Return SDP status to HFP layer

* Fix an error introduced in change Ic0b4498dd623d0ea31b4513d6b7861cae390bc72
  so that SDP status is sent up to the HFP BTA layer
* With SDP status correctly passed up, HFP BTA layer can correctly
  determine when to continue SDP search for HSP
* When open connection to HFP or HSP devices, use a control block's
  registered services instead of passing in opening services every time
  from BTIF layer
* Do not use a control block that are in CONNECTING or DISCONNECTING
  state
* Add a crash in btif_hf.cc:connect_int() to gurantee that no control
  block is in connecting or disconnecting state when connect_int is
  called as it should be guranteed by the btif queue configuration

Bug: 74234576
Test: connect to headset, make calls and hangup
Change-Id: I5e2bce8c2f0f51bd3fd3e85e82827c5fb5e92887
(cherry picked from commit 4bf260f2b71c15f091290b16f6c7948b21fa7c49)

6 years agoHFP: Return SDP status to HFP layer
Jack He [Sun, 20 May 2018 03:05:02 +0000 (20:05 -0700)]
HFP: Return SDP status to HFP layer

* Fix an error introduced in change Ic0b4498dd623d0ea31b4513d6b7861cae390bc72
  so that SDP status is sent up to the HFP BTA layer
* With SDP status correctly passed up, HFP BTA layer can correctly
  determine when to continue SDP search for HSP
* When open connection to HFP or HSP devices, use a control block's
  registered services instead of passing in opening services every time
  from BTIF layer
* Do not use a control block that are in CONNECTING or DISCONNECTING
  state
* Add a crash in btif_hf.cc:connect_int() to gurantee that no control
  block is in connecting or disconnecting state when connect_int is
  called as it should be guranteed by the btif queue configuration

Bug: 74234576
Test: connect to headset, make calls and hangup
Change-Id: I5e2bce8c2f0f51bd3fd3e85e82827c5fb5e92887

6 years agoMerge "AVRCP: Route CType NOT_IMPLEMENTED as a response" into pi-dev
Myles Watson [Sat, 19 May 2018 00:26:41 +0000 (17:26 -0700)]
Merge "AVRCP: Route CType NOT_IMPLEMENTED as a response" into pi-dev
am: 436f56f20c

Change-Id: I759f0640c662c18427c77ff211ddd5ae11b221ab

6 years agoMerge "AVRCP: Route CType NOT_IMPLEMENTED as a response" into pi-dev
TreeHugger Robot [Sat, 19 May 2018 00:08:21 +0000 (00:08 +0000)]
Merge "AVRCP: Route CType NOT_IMPLEMENTED as a response" into pi-dev

6 years agoAVRCP: Route CType NOT_IMPLEMENTED as a response am: f74cecf93e
Myles Watson [Fri, 18 May 2018 21:15:10 +0000 (14:15 -0700)]
AVRCP: Route CType NOT_IMPLEMENTED as a response am: f74cecf93e
am: 6a5e210804

Change-Id: If966673e261a623f9b397e813ab44eec3e59b37b

6 years agoAVRCP: Route CType NOT_IMPLEMENTED as a response
Myles Watson [Fri, 18 May 2018 21:12:06 +0000 (14:12 -0700)]
AVRCP: Route CType NOT_IMPLEMENTED as a response
am: f74cecf93e

Change-Id: I1e9c0c55cc7f510f04c6a6add316248c6ae6ca52

6 years agoAVRCP: Route CType NOT_IMPLEMENTED as a response
Myles Watson [Fri, 18 May 2018 18:31:33 +0000 (11:31 -0700)]
AVRCP: Route CType NOT_IMPLEMENTED as a response

Fixes: 79698590
Test: net_test_avrcp, Connect to the Anker MP140
Change-Id: Ie88dcea949ecb33bc3d76d86b07ab0396a21500d
(cherry picked from commit f74cecf93e648e861363aa312bef08327f19a26a)

6 years agoAVRCP: Route CType NOT_IMPLEMENTED as a response
Myles Watson [Fri, 18 May 2018 18:31:33 +0000 (11:31 -0700)]
AVRCP: Route CType NOT_IMPLEMENTED as a response

Bug: 79698590
Test: net_test_avrcp, Connect to the Anker MP140
Change-Id: Ie88dcea949ecb33bc3d76d86b07ab0396a21500d

6 years agoAdd General Reject for invalid PDU ID am: 7570175750
tedwang [Thu, 17 May 2018 18:42:10 +0000 (11:42 -0700)]
Add General Reject for invalid PDU ID am: 7570175750
am: e259e19c82

Change-Id: Id9f5d8cb142c01915c198c4eae6db687cbc985f4

6 years agoAdd General Reject for invalid PDU ID
tedwang [Thu, 17 May 2018 18:38:35 +0000 (11:38 -0700)]
Add General Reject for invalid PDU ID
am: 7570175750

Change-Id: I47d646e48c002a241806f49d058f1674e8b1e2a6

6 years agoMerge "Respond reject with INVALID_PARAMETER when register for invalid event ID"...
tedwang [Thu, 17 May 2018 13:47:56 +0000 (06:47 -0700)]
Merge "Respond reject with INVALID_PARAMETER when register for invalid event ID" into pi-dev
am: f1ae2359c5

Change-Id: Ib45ab00fcb68ba2e212372e457169c60e0c8dd27

6 years agoMerge "Add General Reject for invalid PDU ID" into pi-dev
tedwang [Thu, 17 May 2018 13:47:23 +0000 (06:47 -0700)]
Merge "Add General Reject for invalid PDU ID" into pi-dev
am: 759463fbd7

Change-Id: Ie32a40d584c86d5d5d34785b4718ec2f866a8000

6 years agoMerge "AVRCP: Verify SetBrowsedPlayer player ID" into pi-dev
Hansong Zhang [Thu, 17 May 2018 13:46:15 +0000 (06:46 -0700)]
Merge "AVRCP: Verify SetBrowsedPlayer player ID" into pi-dev
am: 0f2fef3bfa

Change-Id: I844366fdadf2e6ac343a6856c556949c0c03b2ea

6 years agoMerge "AVRCP: Respond UID Changed for invalid Get Item Attributes command" into pi-dev
Hansong Zhang [Thu, 17 May 2018 13:45:45 +0000 (06:45 -0700)]
Merge "AVRCP: Respond UID Changed for invalid Get Item Attributes command" into pi-dev
am: e5c4f78345

Change-Id: Ie5de37208a6028405900255045cee1ecc2af1d1c

6 years agoMerge "Respond reject with INVALID_PARAMETER when register for invalid event ID"...
TreeHugger Robot [Thu, 17 May 2018 13:32:39 +0000 (13:32 +0000)]
Merge "Respond reject with INVALID_PARAMETER when register for invalid event ID" into pi-dev

6 years agoMerge "Add General Reject for invalid PDU ID" into pi-dev
TreeHugger Robot [Thu, 17 May 2018 13:32:20 +0000 (13:32 +0000)]
Merge "Add General Reject for invalid PDU ID" into pi-dev

6 years agoMerge "AVRCP: Verify SetBrowsedPlayer player ID" into pi-dev
TreeHugger Robot [Thu, 17 May 2018 13:31:13 +0000 (13:31 +0000)]
Merge "AVRCP: Verify SetBrowsedPlayer player ID" into pi-dev

6 years agoMerge "AVRCP: Respond UID Changed for invalid Get Item Attributes command" into pi-dev
TreeHugger Robot [Thu, 17 May 2018 13:30:21 +0000 (13:30 +0000)]
Merge "AVRCP: Respond UID Changed for invalid Get Item Attributes command" into pi-dev

6 years ago[automerger skipped] Don't update the MTU across multiple A2DP connections that are...
Pavlin Radoslavov [Thu, 17 May 2018 13:17:39 +0000 (06:17 -0700)]
[automerger skipped] Don't update the MTU across multiple A2DP connections that are open
am: fb691de015  -s ours

Change-Id: I73a525a744d50526b4dabd0eb4b04376e57bada9

6 years agoAdd General Reject for invalid PDU ID
tedwang [Tue, 15 May 2018 14:21:39 +0000 (22:21 +0800)]
Add General Reject for invalid PDU ID

Add Avrcp Browse General Reject packet
Respond general reject when undefined AVRCP Browsing PDU ID sent from
remote.

Bug: 79376704
Test: run host native test net_test_btpackets
Change-Id: I8a44d8e3f0cc5fac89e23217726c76ede4aff916
(cherry picked from commit 3fbf8b4fff8b52b781fa611e0b62c97bca28d76f)

6 years agoDon't update the MTU across multiple A2DP connections that are open
Pavlin Radoslavov [Wed, 16 May 2018 02:21:03 +0000 (19:21 -0700)]
Don't update the MTU across multiple A2DP connections that are open

Remove function bta_av_chk_mtu() that updates the MTU to the smallest
value across all open A2DP connections, because that function is not needed.
Such MTU update is problematic for Multi-A2DP, because some codecs cannot
be initialized/used if the MTU is too small. E.g., for LDAC the
MTU value used for the codec initialization must be at least 679.

Bug: 79675742
Test: Manual - (1)Connect Bose QC35; (2)Connect Sony SRS-XB2; (3)Play music
Change-Id: I8048a1bf6df6d4d6291bf3570a95b5182af15b6a
Merged-In: I8048a1bf6df6d4d6291bf3570a95b5182af15b6a
(cherry picked from commit 1200c75df85ac3d4f49b91039334077ada60e0cb)

6 years agoDon't update the MTU across multiple A2DP connections that are open am: 1200c75df8
Pavlin Radoslavov [Wed, 16 May 2018 20:52:13 +0000 (13:52 -0700)]
Don't update the MTU across multiple A2DP connections that are open am: 1200c75df8
am: fd90d087f1

Change-Id: I3abc1367524d8fa3cf7cd3b256c9eba9d10b7606

6 years agoDon't update the MTU across multiple A2DP connections that are open
Pavlin Radoslavov [Wed, 16 May 2018 20:48:39 +0000 (13:48 -0700)]
Don't update the MTU across multiple A2DP connections that are open
am: 1200c75df8

Change-Id: Ia64122410907b4ab25b6c1efd29b9459d9a6b45f

6 years agoAdd General Reject for invalid PDU ID
tedwang [Tue, 15 May 2018 14:21:39 +0000 (22:21 +0800)]
Add General Reject for invalid PDU ID

Add Avrcp Browse General Reject packet
Respond general reject when undefined AVRCP Browsing PDU ID sent from
remote.

Bug: 79376704
Test: run host native test net_test_btpackets
Change-Id: I8a44d8e3f0cc5fac89e23217726c76ede4aff916