OSDN Git Service
Andre Eisenbach [Fri, 17 Mar 2017 04:47:41 +0000 (04:47 +0000)]
Revert "jni: introduce ScopedBtAddr"
Causes crash on Fugu. Reverting for now until further investigation.
This reverts commit
2b233628767c0bf6ff21ae2acdeada8bea94e583.
Change-Id: I21daf6b75312695d7ccb83ae603aaeffc3c9e770
Jakub Pawlowski [Fri, 17 Mar 2017 05:13:44 +0000 (05:13 +0000)]
Merge "LE Maximum Advertising Data Length (2/4)"
Treehugger Robot [Fri, 17 Mar 2017 02:26:53 +0000 (02:26 +0000)]
Merge "jni: introduce ScopedBtAddr"
Jakub Pawlowski [Fri, 17 Mar 2017 01:21:31 +0000 (18:21 -0700)]
LE Maximum Advertising Data Length (2/4)
Add ability to check maximum advertising data length.
Bug:
30622771
Test: manual
Change-Id: Ia912f9d738ec8dbf56205a1c22a21f687d9cb6cd
Treehugger Robot [Fri, 17 Mar 2017 01:01:15 +0000 (01:01 +0000)]
Merge "Bluetooth 5 AdvertisingSet implementation (2/4)"
Marie Janssen [Wed, 15 Feb 2017 20:49:52 +0000 (12:49 -0800)]
jni: introduce ScopedBtAddr
ScopedBtAddr handles marshalling bt_bdaddr_t into jbyteArrays so we
don't have to. It also complains when it can't allocate things and
deletes the local reference when it goes out of scope.
Test: compiles, sanity tests with various profiles
Change-Id: I78a6364cc5cac0e8664d2d04388a6e2ac4c7a58f
Jakub Pawlowski [Mon, 13 Mar 2017 18:14:27 +0000 (11:14 -0700)]
Bluetooth 5 AdvertisingSet implementation (2/4)
This patch wires up fist methods of AdvertisingSet, making it possible
to start advertising and stop advertising. It also replaces legacy
implemementation with calls to new implementation.
Bug:
30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I35e7db5df1945d101402299f78dd541e346d548c
Treehugger Robot [Thu, 16 Mar 2017 17:33:47 +0000 (17:33 +0000)]
Merge "AdapterService: Do not call System.exit() on onUnbind"
Jack He [Thu, 16 Mar 2017 04:35:28 +0000 (21:35 -0700)]
AdapterService: Do not call System.exit() on onUnbind
* Process termination should be handled by the OS
* System.exit() in onUnbind also prevents onDestroy() to be called
* Removed isMock() since its only use case is to check if System.exit()
should be called
Bug:
35366908
Test: make, run java test, turning Bluetooth ON/OFF
Change-Id: Ieba927ce86d5dd27269f10188c74308fa76e66d9
Treehugger Robot [Thu, 16 Mar 2017 00:01:54 +0000 (00:01 +0000)]
Merge "Broadcast ACTION_PAIRING_REQUEST to everyone again"
Marie Janssen [Wed, 15 Mar 2017 20:49:57 +0000 (13:49 -0700)]
Broadcast ACTION_PAIRING_REQUEST to everyone again
ACTION_PAIRING_REQUEST to be sent to all packages while new methods for
handling automated pairing are developed.
Test: AAP pairing && SL4A connection tests
Bug:
36024655
Bug:
35853357
Change-Id: Ib07adf5253c1e051ab2abc6e2ed711d8bbf107c9
Treehugger Robot [Wed, 15 Mar 2017 20:04:53 +0000 (20:04 +0000)]
Merge "Fix advertise data length parsing"
Jakub Pawlowski [Wed, 15 Mar 2017 18:11:32 +0000 (11:11 -0700)]
Fix advertise data length parsing
Bluetooth 5 advertise data can be longer than 128bytes. The length bit
must be properly converted to unsigned value for such long data.
Bug:
36086416
Test: manual
Change-Id: I7449ea99be2e78dd60dd90ec607b74f2bb02d213
Andre Eisenbach [Tue, 14 Mar 2017 21:06:53 +0000 (21:06 +0000)]
Merge "Initialize the Media Player list at start"
Ajay Panicker [Tue, 14 Mar 2017 19:57:53 +0000 (12:57 -0700)]
Initialize the Media Player list at start
If the browsable list builder fails to receive any connect callbacks when
connecting to media services, we could be left in a state where the media
player list is uninitialized. This is fixed by always initializing the
media player list at the start of AVRCP.
Change-Id: I15088c1f4e8ffa2ac8a101339c9b47989fc17a5e
Fixes:
36151636
Test: Manually tested connecting AVRCP with AVIC-8100NEX
Treehugger Robot [Sat, 11 Mar 2017 02:03:42 +0000 (02:03 +0000)]
Merge "Bluetooth 5 feature check implementation (3/3)"
Jakub Pawlowski [Fri, 10 Mar 2017 02:18:13 +0000 (18:18 -0800)]
Bluetooth 5 feature check implementation (3/3)
Wire the new feature check API to actual values received from the
controller.
Test: manual
Bug:
30622771
Change-Id: I0812ed3ed8e28b8be34090ffb09c27d7a6405b8b
Treehugger Robot [Fri, 10 Mar 2017 17:33:09 +0000 (17:33 +0000)]
Merge "PBAP PropertySelector"
Joseph Pirozzo [Wed, 1 Mar 2017 01:19:15 +0000 (17:19 -0800)]
PBAP PropertySelector
Fill out and transmit the PropertySelector when requesting to download
the phonebook. Although the PropertySelector field is an optional field
and the default behavior is well specified when it is absent, some
phones do not adhere to the specification. By sending the
PropertySelector field we can improve interoperability and eliminate
unneeded data.
Bug:
35322439
Change-Id: I25bcfce8bf4c7648c7cc07387bf02ebef600cf44
Test: Verification of filter bits set in wireshark and successfull
transfer of contact images, names, and numbers.
Treehugger Robot [Wed, 8 Mar 2017 21:30:53 +0000 (21:30 +0000)]
Merge "Use fixed size scan response data"
Jakub Pawlowski [Wed, 8 Mar 2017 00:35:19 +0000 (16:35 -0800)]
Use fixed size scan response data
We used to return fixed size scan response data before commit
ed3417a6,
and some applications rely on this behaviour. For now make sure that all
apps get fixed data.
Bug:
36003118
Test: manual
Change-Id: Ieff1a933c01e7fcb0ae36f740048ccba2b3481b9
Jakub Pawlowski [Wed, 8 Mar 2017 19:05:12 +0000 (19:05 +0000)]
Merge "Bluetooth 5 Advertising API"
Jakub Pawlowski [Tue, 10 Jan 2017 08:48:56 +0000 (00:48 -0800)]
Bluetooth 5 Advertising API
Bug:
30622771
Test: manual
Change-Id: I3a670756e26345833ce595c9b22b8b39ae0ba41f
Jakub Pawlowski [Wed, 8 Mar 2017 19:04:30 +0000 (19:04 +0000)]
Merge "Bluetooth 5 PHY change API"
Jakub Pawlowski [Tue, 7 Feb 2017 15:33:07 +0000 (07:33 -0800)]
Bluetooth 5 PHY change API
Bug:
30622771
Test: manual
Change-Id: I859d23e7db95585551675d09c0b009222a475dd2
Jakub Pawlowski [Wed, 8 Mar 2017 19:03:47 +0000 (19:03 +0000)]
Merge "Bluetooth 5 periodc scan API (2/2)"
Jakub Pawlowski [Wed, 1 Mar 2017 00:25:50 +0000 (16:25 -0800)]
Bluetooth 5 periodc scan API (2/2)
Bug:
30622771
Test: manual
Change-Id: I2bde2072f55949b195b64e0ce333a40b4f6d6673
Jakub Pawlowski [Wed, 8 Mar 2017 19:02:57 +0000 (19:02 +0000)]
Merge "Propagate Bluetooth 5 scan result properties"
Jakub Pawlowski [Tue, 7 Feb 2017 17:37:08 +0000 (09:37 -0800)]
Propagate Bluetooth 5 scan result properties
Bug:
30622771
Test: manual tests
Change-Id: Icbb353aa3435a97035c81384fc9031175a934239
Jakub Pawlowski [Wed, 8 Mar 2017 19:02:11 +0000 (19:02 +0000)]
Merge "Bluetooth 5 feature check API (2/2)"
Jakub Pawlowski [Wed, 8 Feb 2017 02:05:28 +0000 (18:05 -0800)]
Bluetooth 5 feature check API (2/2)
Bug:
30622771
Test: manual
Change-Id: I90e2efe989745c07c2f2fb8f4ea5bc3b718382f6
Treehugger Robot [Wed, 8 Mar 2017 00:28:30 +0000 (00:28 +0000)]
Merge "OPP: Add OPP 1.2 feature."
Hemant Gupta [Thu, 16 Feb 2017 15:03:00 +0000 (20:33 +0530)]
OPP: Add OPP 1.2 feature.
Add changes to support OPP 1.2 which uses OBEX over L2CAP.
Test: Connect with Remote OPP Client supporting OPP 1.2 and verify
that connection and transfer happens over L2CAP. Connect with Remote
OPP Client supporting OPP 1.1 and verify that connection and transfer
happens over RFCOMM.
Bug:
33010988
Change-Id: I44c2f2f01fb04f4306d0eb121d66dc08954966c0
Treehugger Robot [Tue, 28 Feb 2017 16:39:15 +0000 (16:39 +0000)]
Merge "HID: Access JNI callback object when valid."
Hemant Gupta [Mon, 6 Feb 2017 09:00:08 +0000 (14:30 +0530)]
HID: Access JNI callback object when valid.
Usecase:
Perform BT off/on with HID connection in stress loop overnight.
Expectation:
BT should not crash, and should work normally after stress test.
Observation:
BT crash observed due to dereference of JNI object whch was NULL.
Coredump
=========================
pid: 4629, tid: 4711, name: BT Service Call >>> com.android.bluetooth <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'art/runtime/java_vm_ext.cc:470]
JNI DETECTED ERROR IN APPLICATION: obj == null'
=====================
bt_btif : btif_hh_upstreams_evt: BTA_HH_OPN_EVT: handle=255, status =7
bt_btif : in, bd addr:00:1f:20:ea:ca:8b, prop type:4, len:4
bt_btif_dm: get_cod remote_cod = 0x00002540
I bt_btif : HAL bt_hh_callbacks->connection_state_cb
JNI DETECTED ERROR IN APPLICATION: obj == null
in call to CallVoidMethodV
"BT Service Callback Thread" prio=5 tid=12 Runnable
| group="main" sCount=0 dsCount=0 obj=0x12ca8b80 self=0xe7a84400
| sysTid=4711 nice=0 cgrp=default sched=0/0 handle=0xd8f88920
| state=R schedstat=(
75150605353 59660157373 74582 ) utm=3592
stm=3923 core=4 HZ=100
| stack=0xd8e8c000-0xd8e8e000 stackSize=1014KB
| held mutexes= "mutator lock"(shared held)
native: #00 pc
00377955 /system/lib/libart.so (_ZN3art15Dump
NativeStackERNSt3
__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12
BacktraceMapPKcPNS_9ArtMethodEPv+128)
native: #01 pc
0035795d /system/lib/libart.so (_ZNK3art6Thread9
DumpStackERNSt3
__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+304)
native: #02 pc
00250d79 /system/lib/libart.so (_ZN3art9JavaVMExt8
JniAbortEPKcS2_+812)
native: #03 pc
0025103d /system/lib/libart.so (_ZN3art9JavaVMExt9
JniAbortFEPKcS2_z+72)
native: #04 pc
00284127 /system/lib/libart.so (_ZN3art3JNI15Call
VoidMethodVEP7_
JNIEnvP8_jobjectP10_jmethodIDSt9__va_list+478)
native: #05 pc
00005f81 /system/lib/libbluetooth_jni.so (???)
native: #06 pc
00010d27 /system/lib/libbluetooth_jni.so (???)
native: #07 pc
000657bf /system/lib/hw/bluetooth.default.so (???)
=======================
Root cause:
For quick BT turn on/off cases there may be instances where callback from btif
is triggered even before callback object is created or cleanup path may clear
callback object just before stray btif callback call tries to access the same.
Fix:
Check if callback object is valid before trying to access the same
Test: Crash not observed in stress test with hid connection and BT on/off.
Bug:
35023377
Change-Id: Id9b526bfec2bf74d7110601f85e111088a1e7d76
Amit Mahajan [Thu, 23 Feb 2017 02:00:16 +0000 (02:00 +0000)]
Merge "Exception and death notification handling for ISap."
Treehugger Robot [Wed, 22 Feb 2017 18:35:49 +0000 (18:35 +0000)]
Merge "jni: cleanup compiler warnings"
Marie Janssen [Wed, 22 Feb 2017 15:26:34 +0000 (07:26 -0800)]
jni: cleanup compiler warnings
Test: compiles without warnings
Change-Id: I6f0b13648a624047aee0ac728e7a6c27e7bfad33
Fix:
35636708
Treehugger Robot [Tue, 21 Feb 2017 19:15:00 +0000 (19:15 +0000)]
Merge "HID: Send connection state change broadcast during cleanup"
Jakub Pawlowski [Tue, 21 Feb 2017 18:03:40 +0000 (18:03 +0000)]
Merge "Use base::Callbacks in BleScannerInterface (3/3)"
Hemant Gupta [Wed, 2 Nov 2016 08:19:13 +0000 (16:19 +0800)]
HID: Send connection state change broadcast during cleanup
Usecase:
1) Connect HID device with DUT
2) Turn Off BT
Observation:
HID state change is not received by application leading to
application showing connected even when BT is turned off and
HID was connected.
Rootcause:
HidService does not send state change to application if BT is turned off
while connected
Fix:
Send broadcast for HID connection state change during cleanup.
Test: Verified that connection state change intent is received by upper layers
during BT off if HID was connected.
Bug:
35013637
Change-Id: I5d7989887f9089876c78e43d97d066f384cc237e
Jakub Pawlowski [Thu, 16 Feb 2017 20:00:20 +0000 (12:00 -0800)]
Use base::Callbacks in BleScannerInterface (3/3)
The remaining four native callbacks need more internal refactoring
before they can be turned into a callbacks.
Bug:
30622771
Test: sl4a FilteringTest
Change-Id: Ibe3cd66af9598a7d0294d36550bf35ab8ddfda43
Treehugger Robot [Fri, 17 Feb 2017 23:09:35 +0000 (23:09 +0000)]
Merge "PBAP: Fix Functionality failure for PBAP"
Treehugger Robot [Fri, 17 Feb 2017 21:30:33 +0000 (21:30 +0000)]
Merge "OPP: Fix Functionality failure for OPP Rx"
Hemant Gupta [Fri, 17 Feb 2017 03:10:37 +0000 (08:40 +0530)]
OPP: Fix Functionality failure for OPP Rx
Usecase:
Send file from Remote BT device to DUT
Expectation:
File should be received properly
Observation:
File reception popup does not occur on DUT
Root Cause:
Socket listener not started for OPP
Fix:
Add changes to properly start listeners for OPP
Test:
1) Verified that SDP records for OPP are exposed and can be browsed
by remote OPP Client.
2) File can be received without issues from OPP Client.
Bug:
35416619
Change-Id: I5b4f343f3fd7b957ce423ce2cb76cd0683e10c3a
Hemant Gupta [Fri, 17 Feb 2017 03:16:16 +0000 (08:46 +0530)]
PBAP: Fix Functionality failure for PBAP
Usecase:
Connect to DUT from PBAP Client (Carkit)
Expectation:
Carkit is able to browse PBAP SDP and connect to PBAP Profile
with DUT
Observation:
PBAP Connection is successful
Root Cause:
Socket listener not started for PBAP
Fix:
Add changes to properly start listeners for PBAP
Test:
1) Verified that SDP records for PBAP are exposed and can be browsed
by remote PBAP Client.
2) Connection happens fine and phonebook can eb downloaded properly.
Bug:
35416619
Change-Id: I52acb1c10b91dd5ffecc44badcfd60f0e27b0a55
Ajay Panicker [Fri, 17 Feb 2017 00:34:56 +0000 (00:34 +0000)]
Merge "Add Loopers to tests that require them for message handlers"
Ajay Panicker [Thu, 19 Jan 2017 02:13:54 +0000 (18:13 -0800)]
Add Loopers to tests that require them for message handlers
Bug:
34193424
Test: runtest bluetooth no longer fails
Change-Id: I4612cfb9c16b53293f52350e7f0abe9fb70c7543
Marie Janssen [Thu, 16 Feb 2017 22:54:42 +0000 (22:54 +0000)]
Merge "Broadcast BOND_STATE_CHANGED to foreground."
Marie Janssen [Wed, 15 Feb 2017 01:42:38 +0000 (17:42 -0800)]
Broadcast BOND_STATE_CHANGED to foreground.
Limiting BOND_STATE_CHANGED to settings app meant accessories apps can't
determine when a device completes pairing.
Test: pairing tests with various devices
Bug:
35234069
Bug:
35325574
Change-Id: If9fffb3410ec051b96e65b867571e93ae56ca706
Treehugger Robot [Tue, 14 Feb 2017 23:51:18 +0000 (23:51 +0000)]
Merge "Prevent getting Session Token if media browser isn't connected"
Ajay Panicker [Tue, 14 Feb 2017 20:27:01 +0000 (12:27 -0800)]
Prevent getting Session Token if media browser isn't connected
Bug:
35348574
Test: Sanity test browsing with VW Carkit
Change-Id: I795a19f4bd0a95d36f64bc767fdeda108c20f5ed
Marie Janssen [Tue, 14 Feb 2017 01:36:02 +0000 (01:36 +0000)]
Merge "Services: start PBAP and OPP like other services"
Marie Janssen [Tue, 7 Feb 2017 17:42:04 +0000 (09:42 -0800)]
Services: start PBAP and OPP like other services
PBAP and OPP are currently normal services that are started and stopped
by the system. Have AdapterService start them just like all of the
other profile services instead.
Bug:
34395439
Fix:
35216901
Test: connect to a carkit that does PBAP
Test: use beam to receive a file
Change-Id: I84e769886f6aa4e698bd07fb9900f124111b50b3
Treehugger Robot [Mon, 13 Feb 2017 22:08:19 +0000 (22:08 +0000)]
Merge "Remove use of Contacts.IN_VISIBLE_GROUP"
Amit Mahajan [Mon, 13 Feb 2017 19:57:01 +0000 (11:57 -0800)]
Exception and death notification handling for ISap.
Test: Basic telephony sanity
Bug:
32020264
Change-Id: I3d710fc59a397fe0054b286d422066f9ff149262
Hemant Gupta [Sat, 11 Feb 2017 03:05:27 +0000 (08:35 +0530)]
Remove use of Contacts.IN_VISIBLE_GROUP
IN_VISIBLE_GROUP is a column that should not be used by Bluetooth
and is only relevant for the Contacts App.
Change-Id: I05866ccdfd565643564bf4217a4dfaf196e26d16
Bug:
35013623
Marie Janssen [Mon, 13 Feb 2017 20:02:31 +0000 (20:02 +0000)]
Merge "Use resources for pairing ui package"
Treehugger Robot [Sat, 11 Feb 2017 02:00:28 +0000 (02:00 +0000)]
Merge "Use END:MSG to determine bMessage body end"
Ajay Panicker [Tue, 7 Feb 2017 21:11:39 +0000 (13:11 -0800)]
Use END:MSG to determine bMessage body end
Use END:MSG to determine the end of a message body instead of using
an incorrect length that was sent by the carkit,
Change-Id: Idf93a6fec50755ad5e9433e237ebca242e2d83aa
Fixes:
35102373
Test: Send multiple messages from Chrysler carkit and TestTracker:75287
Marie Janssen [Fri, 10 Feb 2017 19:47:00 +0000 (11:47 -0800)]
Use resources for pairing ui package
The pairing package is set to "com.android.settings" which means
overlays can't change the package that's responsible for UI interaction
when pairing and access request events happen. Move it to a resource.
Test: pair a device, initiate pair from remote
Change-Id: I5731bcdcfed58b72b4e15e3e60035c7e8144b7d4
Bug:
35163738
Fix:
35219650
Treehugger Robot [Thu, 9 Feb 2017 21:12:31 +0000 (21:12 +0000)]
Merge "Use non-hardcoded advertisement data size"
Jakub Pawlowski [Tue, 7 Feb 2017 21:49:38 +0000 (13:49 -0800)]
Use non-hardcoded advertisement data size
Bug:
30622771
Test: sl4a FilteringTest
Change-Id: Iddaf3772310a6816c40fb8aee3c8e7ef831daca5
Treehugger Robot [Thu, 9 Feb 2017 01:57:21 +0000 (01:57 +0000)]
Merge "Abort fetching items if remote sends us an error"
Marie Janssen [Thu, 9 Feb 2017 00:57:44 +0000 (00:57 +0000)]
Merge "Broadcast pairing intents to settings package"
Sanket Agarwal [Wed, 8 Feb 2017 22:31:50 +0000 (14:31 -0800)]
Abort fetching items if remote sends us an error
Currently most of errors from stack for GetFolderItems response come
back in form of a empty response list. Since we keep looping to get more
items, we often get stuck in a loop. Aborting is the right thing to do
here
Bug: b/
35152188
Test: Try browsing over a folder which returns an error (not Out of
range) when trying to browse
Change-Id: I69bb90da71c55d46c04eaeab5a78026f22be9e02
Treehugger Robot [Wed, 8 Feb 2017 22:33:30 +0000 (22:33 +0000)]
Merge "Handle conference calling w/ multi device"
Treehugger Robot [Wed, 8 Feb 2017 22:06:29 +0000 (22:06 +0000)]
Merge "Handle volume changes for multiple devices"
Treehugger Robot [Wed, 8 Feb 2017 20:56:44 +0000 (20:56 +0000)]
Merge "Remove use of Contacts.IN_VISIBLE_GROUP"
Sanket Agarwal [Wed, 8 Feb 2017 02:57:42 +0000 (18:57 -0800)]
Handle conference calling w/ multi device
Bug: b/
34983172
Test: Make a conference call and hangup (hangup should not crash the
stack)
Change-Id: I5b9707e227071acfe13ebad1575fc12d22087f81
Sanket Agarwal [Tue, 7 Feb 2017 20:51:34 +0000 (12:51 -0800)]
Handle volume changes for multiple devices
Since synchronizing volume of multiple HFP connected devices is rather
cumbersome as a UX, we will make the car control the volume of the call
and the phone's volume will remain unchanged. The only scenario that
this breaks is when the user is trying to change the phone volume while
being in a call and connected over Bluetooth. This scenario should
anyways not happen for dirving safety
Bug: b/
34518638
Test: Volume change w/ multiple AG connected to HF
Change-Id: Ic4345a71bfb677f94cf6543b1b2c64fb99676ed3
Ajay Panicker [Mon, 6 Feb 2017 23:29:12 +0000 (15:29 -0800)]
Remove use of Contacts.IN_VISIBLE_GROUP
IN_VISIBLE_GROUP is a column that should not be used by Bluetooth
and is only relevant for the Contacts App.
Change-Id: If7dc10a899ce820f61758dea8346b780319ed994
Fixes:
35064907
Test: PBAP sanity test with Ford Carkit and TestTracker:75170
Sanket Agarwal [Tue, 7 Feb 2017 20:14:19 +0000 (20:14 +0000)]
Merge "HF Client: SCO routing for multiple devices"
Sanket Agarwal [Mon, 6 Feb 2017 23:49:48 +0000 (15:49 -0800)]
HF Client: SCO routing for multiple devices
Bug: b/
34518638
Test: Manual testing w/ multiple active calls and SCO switching
Change-Id: Ic5e2dc8da69ee6c0e93a8b57a5f41a26b7b09513
Jakub Pawlowski [Tue, 7 Feb 2017 01:29:25 +0000 (01:29 +0000)]
Merge "Propagate BT5 specific scan result properties up the stack (3/3)"
Treehugger Robot [Mon, 6 Feb 2017 22:59:50 +0000 (22:59 +0000)]
Merge "Add a mechanism to configure the default A2DP codec priorities"
Jakub Pawlowski [Mon, 30 Jan 2017 14:42:54 +0000 (06:42 -0800)]
Propagate BT5 specific scan result properties up the stack (3/3)
Bug:
30622771
Test: sl4a FilteringTest
Change-Id: I0afb900871cbc2f556ad506e21515e4ca8c49142
Pavlin Radoslavov [Thu, 2 Feb 2017 01:36:10 +0000 (17:36 -0800)]
Add a mechanism to configure the default A2DP codec priorities
Previously, the relative codec priorities were hard-codec internally.
The new mechanism uses the following configurable resources in
packages/apps/Bluetooth/res/values/config.xml to re-assign the
default codec priorities per device, or to explicitly disable a codec.
- a2dp_source_codec_priority_sbc
- a2dp_source_codec_priority_aac
- a2dp_source_codec_priority_aptx
- a2dp_source_codec_priority_aptx_hd
- a2dp_source_codec_priority_ldac
Those values are assigned on startup.
Also, they can be changed per device by using an overlay:
device/<VENDOR>/<DEVICE>/overlay/packages/apps/Bluetooth/res/values/config.xml
Test: Manually streaming to a headset
Change-Id: Ic3cf8549b46547dbeba93632c3178c6b7f2b810d
Marie Janssen [Fri, 20 Jan 2017 01:43:40 +0000 (17:43 -0800)]
Broadcast pairing intents to settings package
Intent broadcasts intended directly for pairing dialogs should only be
specifically targetted to those packages.
Bug:
34395439
Test: pair a device, pair a device remotely, and connect devices
Change-Id: Ieb1354d534d4dc0457279aa3f1d3020b3a3ee37b
Treehugger Robot [Thu, 2 Feb 2017 17:35:21 +0000 (17:35 +0000)]
Merge "Client changes for BT SAP hidl."
Amit Mahajan [Sat, 10 Dec 2016 23:10:31 +0000 (15:10 -0800)]
Client changes for BT SAP hidl.
Test: Basic SAP sanity.
Bug:
32020264
Change-Id: If001ff221e3240a31cfbb08df11cbf6188ebd07e
Pavlin Radoslavov [Tue, 31 Jan 2017 19:02:35 +0000 (19:02 +0000)]
Merge "Update the A2DP Codec Config API"
Pavlin Radoslavov [Thu, 26 Jan 2017 00:58:05 +0000 (16:58 -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, refactored the Java internals to accomodate the extra information:
* Added new class BluetoothCodecStatus that contains the extra info:
current codec config, local codecs capabilities and selectable
codecs capabilities
* Renamed method getCodecConfig() to getCodecStatus() and return the
corresponding BluetoothCodecStatus object.
* Updates to class BluetoothCodecConfig:
new methods isValid(), getCodecName(), and updated toString()
so it is more user friendly
* Removed BluetoothCodecConfig.EXTRA_CODEC_CONFIG and
EXTRA_PREVIOUS_CODEC_CONFIG.
The former is superseded by BluetoothCodecStatus.EXTRA_CODEC_STATUS;
the latter is not really used.
Test: A2DP streaming with headsets and switching the codecs
Change-Id: I18536cffc5c73abc31c3d6afa54f9d3c3b1d577e
Marie Janssen [Mon, 30 Jan 2017 18:26:04 +0000 (18:26 +0000)]
Merge "jni: use ScopedLocalRef where possible"
Marie Janssen [Tue, 11 Oct 2016 20:54:41 +0000 (13:54 -0700)]
jni: use ScopedLocalRef where possible
RAII simplifies code paths and eliminates errors.
Test: mma -j40, sanity testing on devices
Change-Id: I278f91445217c898a868b8328549c080d7123dbb
Marie Janssen [Mon, 30 Jan 2017 17:46:17 +0000 (17:46 +0000)]
Merge "AdapterService: track last discovering timestamp"
Marie Janssen [Tue, 24 Jan 2017 20:55:22 +0000 (12:55 -0800)]
AdapterService: track last discovering timestamp
getDiscoveryEndMillis() is an alternative to the DISCOVERY_FINSHED
intent and provides a way to avoid restarting discovery if we've
just been discovering.
Test: compiles and discovery still works
Bug:
34395439
Change-Id: I4334e99ae8665fc0a0d5d11229897505fae8510b
Treehugger Robot [Fri, 27 Jan 2017 00:51:19 +0000 (00:51 +0000)]
Merge "A2DP Audio Focus"
Joseph Pirozzo [Wed, 25 Jan 2017 01:11:07 +0000 (17:11 -0800)]
A2DP Audio Focus
Update A2dpSinkStateMachine to handle audio focus for notifications and
navigation. Simplified state machine to boolean flags to track user
intent and availability of audio stream and audio focus.
Bug:
31215324
Test: Manual music streaming, navigation, and assistant. Tested
navigation, assistant and music streaming with phones from several major
manufacturers. Tests were to verify proper transitions in both audio
and playback state while music was playing locally and streamed via
Bluetooth. Additionally b/
34722788 was written to capture unit tests.
Change-Id: If8e89588ca24bdedf2c57c989f8a960353ccbe9a
Treehugger Robot [Wed, 25 Jan 2017 18:07:05 +0000 (18:07 +0000)]
Merge "Rename "Bluetooth Share" to "Bluetooth""
Jack He [Tue, 24 Jan 2017 22:08:57 +0000 (14:08 -0800)]
Rename "Bluetooth Share" to "Bluetooth"
* Replace the string resource "Bluetooth Share" to "Bluetooth" in
family of English languages
Bug:
34059841
Test: Code compilation, manual crash triggerring to verify correct
display title
Change-Id: I4ee94a59c9d37405b4687951e350edb67386c5e0
Sanket Agarwal [Wed, 25 Jan 2017 02:02:55 +0000 (02:02 +0000)]
Merge "Init JNI in Bluetooth Service not the Bluetooth State machine"
Sanket Agarwal [Tue, 24 Jan 2017 22:59:31 +0000 (14:59 -0800)]
Init JNI in Bluetooth Service not the Bluetooth State machine
Since we can have multiple state machines the right lifecycle management
should be done in the Bluetooth service with start and stop operations.
Otherwise, there could be JNI crashes, due to JNI callbacks before the
JNI is setup.
Bug: b/
34681827
Test: Connect device over HFP and make a call
Change-Id: I3ebe9d035511ca830f131d5b09461ecccfcc4672
Sanket Agarwal [Tue, 24 Jan 2017 19:01:13 +0000 (19:01 +0000)]
Merge "Multi HFP connection handling"
Andre Eisenbach [Tue, 24 Jan 2017 06:59:19 +0000 (06:59 +0000)]
Merge "Ignore ACTION_UUID intent when no uuids present"
Andre Eisenbach [Tue, 24 Jan 2017 06:58:47 +0000 (06:58 +0000)]
Merge "Test to verify devices with no UUIDs dont crash Phone Policy"
Sanket Agarwal [Tue, 24 Jan 2017 06:52:45 +0000 (22:52 -0800)]
Test to verify devices with no UUIDs dont crash Phone Policy
Bug: b/
34640345
Test: This is a unit test
Change-Id: If8a6826d7616abedaa04bca404c5b32d84322c10
Sanket Agarwal [Tue, 24 Jan 2017 05:47:35 +0000 (21:47 -0800)]
Ignore ACTION_UUID intent when no uuids present
When no uuids are present, parsing UUIDs throws NPE in PhonePolicy
Bug: b/
34640345
Test: Manual test by trying various devices. Follow up unit tests
required
Change-Id: Ibe54ea7b62b644ba1d92ef4f1d850c09113875af
Treehugger Robot [Mon, 23 Jan 2017 19:59:19 +0000 (19:59 +0000)]
Merge "Change scan downgrading to be app independent"
Treehugger Robot [Mon, 23 Jan 2017 19:35:26 +0000 (19:35 +0000)]
Merge "OPP: Truncating receiving filename"