OSDN Git Service
Jakub Pawlowski [Fri, 24 Mar 2017 20:36:37 +0000 (20:36 +0000)]
Merge "Expose connection update callback (3/4)"
am:
ffca06958c
Change-Id: I53e75df168f3f907bd0849913cad6b4565520384
Jakub Pawlowski [Fri, 24 Mar 2017 20:31:31 +0000 (20:31 +0000)]
Merge "Expose connection update callback (3/4)"
Jakub Pawlowski [Fri, 24 Mar 2017 01:13:33 +0000 (18:13 -0700)]
Expose connection update callback (3/4)
Test: manual
Bug:
30622771
Change-Id: Ie731cf45bbb0ef01c5c6c13d149d75fea82e38d8
Jakub Pawlowski [Fri, 24 Mar 2017 01:12:54 +0000 (01:12 +0000)]
Merge "Set preferred PHY and read PHY implementation (1/3)"
am:
d84a18a54e
Change-Id: I2a785efa6a06e8b694a58d01670d60cfde69c781
Jakub Pawlowski [Fri, 24 Mar 2017 01:08:07 +0000 (01:08 +0000)]
Merge "Set preferred PHY and read PHY implementation (1/3)"
Jakub Pawlowski [Thu, 23 Mar 2017 02:06:09 +0000 (19:06 -0700)]
Set preferred PHY and read PHY implementation (1/3)
Test: manual
Bug:
30622771
Change-Id: I43b7b036e50188f76d8ed0609f5142b2a4ad07ee
Ajay Panicker [Thu, 23 Mar 2017 17:30:01 +0000 (17:30 +0000)]
Merge "Remove Context from mockContentResolver to avoid a Null Pointer Exception"
am:
60a96344f5
Change-Id: I92ae10bb280126f566cb373b1672f39cf7267ed0
Treehugger Robot [Thu, 23 Mar 2017 17:27:35 +0000 (17:27 +0000)]
Merge "Remove Context from mockContentResolver to avoid a Null Pointer Exception"
Jakub Pawlowski [Thu, 23 Mar 2017 01:25:36 +0000 (01:25 +0000)]
Merge "Bluetooth 5 Enable->Enabled (2/2)"
am:
f5505ac184
Change-Id: I4d102d76670253d72c719b1ca99457ea05a45e32
Jakub Pawlowski [Thu, 23 Mar 2017 01:17:42 +0000 (01:17 +0000)]
Merge "Bluetooth 5 Enable->Enabled (2/2)"
Ajay Panicker [Wed, 22 Mar 2017 23:29:56 +0000 (16:29 -0700)]
Remove Context from mockContentResolver to avoid a Null Pointer Exception
mockContentResolver was updated to call a function on the context provided
in its constructor which caused an exception with mockContext. Instead leaving
the context out of the constructor skips this function call and doesn't affect
the test.
Test: Run unit tests with "runtest bluetooth"
Change-Id: I7a597c5864943d3d53dcb551bf3d3bafb4beb5ed
Jakub Pawlowski [Wed, 22 Mar 2017 22:41:35 +0000 (15:41 -0700)]
Bluetooth 5 Enable->Enabled (2/2)
Test: manual
Bug:
30622771
Change-Id: Ifce2fc20fde2c55f26cb54012c9ee4eb44b1c91e
Ajay Panicker [Wed, 22 Mar 2017 18:31:40 +0000 (18:31 +0000)]
Merge "Add rejected calls to Incomming Call History"
am:
048d5aaff9
Change-Id: I3351863c632270fac223726a624ae0fe2d8e0bf7
Treehugger Robot [Wed, 22 Mar 2017 18:25:10 +0000 (18:25 +0000)]
Merge "Add rejected calls to Incomming Call History"
Hemant Gupta [Wed, 22 Mar 2017 17:37:11 +0000 (17:37 +0000)]
Merge "OPP: Remove un-supported formats from SDP"
am:
65f0a7ea2c
Change-Id: I8976455db62ecffc8df8b70eb8248191321c5c6d
Treehugger Robot [Wed, 22 Mar 2017 17:31:17 +0000 (17:31 +0000)]
Merge "OPP: Remove un-supported formats from SDP"
Ajay Panicker [Wed, 22 Mar 2017 01:22:04 +0000 (18:22 -0700)]
Add rejected calls to Incomming Call History
Bug:
36490575
Test: Connect to carkit after rejecting a call on test device
Change-Id: Ifa3593b5b26e13a3bd6d2b94f744254e3eb353fb
Hemant Gupta [Wed, 22 Mar 2017 15:56:40 +0000 (15:56 +0000)]
Merge "OPP: Replace deprecated API(s) with new API."
am:
a2f7b90981
Change-Id: Id018ab5d51c3f53f4fd208fbd82abf9b320cdbe5
Hemant Gupta [Tue, 21 Mar 2017 10:30:05 +0000 (16:00 +0530)]
OPP: Remove un-supported formats from SDP
Use case:
1. Send a vcalendar file to DUT
2. Verify file is received on DUT
Result:
DUT rejects vCalendar put request with reason unsupported media type
although DUT SDP records claim support for vcalendar format. Same is valid
for vNote and vMessage formats as well.
Rootcause:
ACCEPTABLE_SHARE_INBOUND_TYPES does not have support for above MIME formats.
Fix:
Remove vCal, vNote and vMessage from OPP Server supported format list.
Reproducibiltiy:
5/5
Test: All PTS tests that were enabled because of support for different OPP MIME
formats got disabled as by default OPP Rx will not support these MIME formats
leading to no OPP failures in PTS.
Bug:
36467777
Change-Id: I2503f5c61dd28fd3cf73d10939c6d931dbe0d6ea
Treehugger Robot [Wed, 22 Mar 2017 15:50:07 +0000 (15:50 +0000)]
Merge "OPP: Replace deprecated API(s) with new API."
Hemant Gupta [Mon, 6 Feb 2017 09:51:21 +0000 (15:21 +0530)]
OPP: Replace deprecated API(s) with new API.
Remove unnecessary variable/functions and avoid using
deprecated API(s).
Test: OPP functionality (Tx/Rx) works fine without issues.
Bug:
35013632
Change-Id: Ice9314d599d0c0f4d7cc0e1ed70c7e87fa41e937
Jack He [Wed, 22 Mar 2017 02:20:55 +0000 (02:20 +0000)]
Merge "Call System.exit(0) in onDestroy"
am:
0214c82fd5
Change-Id: I6c742028f19ca69badf29ef2268e064fec1fd085
Treehugger Robot [Wed, 22 Mar 2017 02:18:05 +0000 (02:18 +0000)]
Merge "Call System.exit(0) in onDestroy"
Jack He [Tue, 21 Mar 2017 23:50:56 +0000 (16:50 -0700)]
Call System.exit(0) in onDestroy
Call System.exit(0) in onDestroy() to make sure state is cleared in
the Bluetooth stack when Bluetooth is disabled
Bug:
27859763
Bug:
36487153
Test: Build, run unit tests, Bluetooth enable/disable
Change-Id: I34917ca3302b01c4da74b969da08860d6fbf8274
Jakub Pawlowski [Tue, 21 Mar 2017 18:44:40 +0000 (18:44 +0000)]
Merge "Add setScannable to AdvertisingSetParameters (2/2)"
am:
96bd28a78f
Change-Id: Ifed8433505a93e4225219020b7e8428a015dbf2f
Jakub Pawlowski [Tue, 21 Mar 2017 18:37:34 +0000 (18:37 +0000)]
Merge "Add setScannable to AdvertisingSetParameters (2/2)"
Jakub Pawlowski [Mon, 20 Mar 2017 22:59:27 +0000 (15:59 -0700)]
Add setScannable to AdvertisingSetParameters (2/2)
There must be a proper way to specify if advertisment is scannable, when
updating the parameters.
Test: manual
Bug:
30622771
Change-Id: I9e5a8967a594ccb245acc30b6a9bf6ef2ff260d1
Jakub Pawlowski [Mon, 20 Mar 2017 22:26:50 +0000 (22:26 +0000)]
Merge "Bluetooth 5 AdvertisingSet implementation (2/4)"
am:
b9954db54b
Change-Id: I718747628310e4a9af5b580e0a9752c0194fbb28
Jakub Pawlowski [Mon, 20 Mar 2017 22:19:07 +0000 (22:19 +0000)]
Merge "Bluetooth 5 AdvertisingSet implementation (2/4)"
Jakub Pawlowski [Fri, 17 Mar 2017 22:32:28 +0000 (15:32 -0700)]
Bluetooth 5 AdvertisingSet implementation (2/4)
Test: manual
Bug:
30622771
Change-Id: I69e1ce6be3b776f783d2b2d18aee63a494b8cfd1
Jakub Pawlowski [Fri, 17 Mar 2017 22:34:29 +0000 (22:34 +0000)]
Merge "Bluetooth 5 move timeout parameter (2/2)"
am:
91aa86124b
Change-Id: I9cdefa60cc696cb727a24f0d3a29969deeffc860
Jakub Pawlowski [Fri, 17 Mar 2017 22:24:04 +0000 (22:24 +0000)]
Merge "Bluetooth 5 move timeout parameter (2/2)"
Jakub Pawlowski [Fri, 17 Mar 2017 18:23:38 +0000 (11:23 -0700)]
Bluetooth 5 move timeout parameter (2/2)
Timeout is not a parameter, it is a property of enabling the
advertising. Move it into more proper place.
Test: manual
Bug:
30622771
Change-Id: Ib688f183bf71fe429da6b9c3c8eb3591e9c6ec1d
Jack He [Fri, 17 Mar 2017 21:56:50 +0000 (21:56 +0000)]
Merge "Fix formatting issue on Headset State Machine"
am:
61345026a7
Change-Id: I7058f53b20e94b75042ae1127e0a3b6f099d50b9
Treehugger Robot [Fri, 17 Mar 2017 21:49:01 +0000 (21:49 +0000)]
Merge "Fix formatting issue on Headset State Machine"
Jack He [Thu, 9 Mar 2017 19:57:02 +0000 (11:57 -0800)]
Fix formatting issue on Headset State Machine
Test: build, no user visible effect
Merged-In: I482661d95ac6e30a6f55afa9970627e889907125
Change-Id: I482661d95ac6e30a6f55afa9970627e889907125
Andre Eisenbach [Fri, 17 Mar 2017 06:36:11 +0000 (06:36 +0000)]
Merge "Revert "jni: introduce ScopedBtAddr""
am:
e4406bcc36
Change-Id: Ie136e2b870e7892bbfe8c62323c95f0578dca1e5
Andre Eisenbach [Fri, 17 Mar 2017 06:32:48 +0000 (06:32 +0000)]
Merge "Revert "jni: introduce ScopedBtAddr""
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:20:06 +0000 (05:20 +0000)]
Merge "LE Maximum Advertising Data Length (2/4)"
am:
4cee47de11
Change-Id: I2a26d6eb8a9b8372dc2a171e798aec5f122794b0
Jakub Pawlowski [Fri, 17 Mar 2017 05:13:44 +0000 (05:13 +0000)]
Merge "LE Maximum Advertising Data Length (2/4)"
Marie Janssen [Fri, 17 Mar 2017 02:31:25 +0000 (02:31 +0000)]
Merge "jni: introduce ScopedBtAddr"
am:
9b94cc9fe2
Change-Id: I53de9a0f7d17118088206ddd18aa706aa44de7fc
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
Jakub Pawlowski [Fri, 17 Mar 2017 01:09:08 +0000 (01:09 +0000)]
Merge "Bluetooth 5 AdvertisingSet implementation (2/4)"
am:
92b2f24308
Change-Id: I5d070edb82d2b1d51339bb68e9dc1fdb46e035e0
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
Jack He [Thu, 16 Mar 2017 17:39:18 +0000 (17:39 +0000)]
Merge "AdapterService: Do not call System.exit() on onUnbind"
am:
5cc1112d65
Change-Id: I6893a7be8a7676092efdb5bf49921616aff041f8
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
Marie Janssen [Thu, 16 Mar 2017 00:07:38 +0000 (00:07 +0000)]
Merge "Broadcast ACTION_PAIRING_REQUEST to everyone again"
am:
71da1cf06b
Change-Id: I57f8a7673d28fcbe1e60d51e192564bf13189682
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
Jakub Pawlowski [Wed, 15 Mar 2017 20:09:43 +0000 (20:09 +0000)]
Merge "Fix advertise data length parsing"
am:
91dca83714
Change-Id: I8328e4b789189d7f3320418553d9a5f5957e35c2
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:16:13 +0000 (21:16 +0000)]
Merge "Initialize the Media Player list at start"
am:
af66394a61
Change-Id: I50bf13adf13e46737b6bc5ecc4bef1d5b01b446c
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
Jakub Pawlowski [Sat, 11 Mar 2017 02:13:18 +0000 (02:13 +0000)]
Merge "Bluetooth 5 feature check implementation (3/3)"
am:
af78536ab5
Change-Id: Ie3d08bc680f1e3a93fda7cf90d0d693f379104fb
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
Joseph Pirozzo [Fri, 10 Mar 2017 17:38:07 +0000 (17:38 +0000)]
Merge "PBAP PropertySelector"
am:
e0f2564001
Change-Id: Ic85da3fffa537ec1651ea517ff7c8a0c41470009
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.
Jakub Pawlowski [Wed, 8 Mar 2017 21:37:20 +0000 (21:37 +0000)]
Merge "Use fixed size scan response data"
am:
cc295bbfee
Change-Id: I83c212284fe05204ed25bf02c2a2a73221487c71
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:20:09 +0000 (19:20 +0000)]
Merge "Bluetooth 5 Advertising API"
am:
dcffb67e16
Change-Id: I28998dc9ff77349eb219d0511ca8af797fd10c4f
Jakub Pawlowski [Wed, 8 Mar 2017 19:17:47 +0000 (19:17 +0000)]
Merge "Bluetooth 5 PHY change API"
am:
d3e9d9f8b1
Change-Id: Ia9e2375ba0138e78077f4b4b7f9fac6ef8b65e9f
Jakub Pawlowski [Wed, 8 Mar 2017 19:13:26 +0000 (19:13 +0000)]
Merge "Bluetooth 5 periodc scan API (2/2)"
am:
d84aac6a34
Change-Id: I322c05d22c1cbfeff33f9fa7238b001071c58269
Jakub Pawlowski [Wed, 8 Mar 2017 19:11:09 +0000 (19:11 +0000)]
Merge "Propagate Bluetooth 5 scan result properties"
am:
30241a4d72
Change-Id: I4fbbec83552071bd756b8aabd43d3e62b94874bd
Jakub Pawlowski [Wed, 8 Mar 2017 19:08:49 +0000 (19:08 +0000)]
Merge "Bluetooth 5 feature check API (2/2)"
am:
b52e56f18b
Change-Id: I481dc74b86858e185798e65a48393470fc4d1496
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
Hemant Gupta [Wed, 8 Mar 2017 00:37:16 +0000 (00:37 +0000)]
Merge "OPP: Add OPP 1.2 feature."
am:
3361ec466c
Change-Id: I861f5aecb8721baa8cc7a8ffd4e215f0d9de1ddd
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
Hemant Gupta [Tue, 28 Feb 2017 16:41:42 +0000 (16:41 +0000)]
Merge "HID: Access JNI callback object when valid."
am:
9257decc86
Change-Id: I9ef4dbbe1e8c534e62a89d009f804511fc46d12c
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:07:59 +0000 (02:07 +0000)]
Merge "Exception and death notification handling for ISap."
am:
f2f1ecd69e
Change-Id: I83c55cc4d32d812415b164f89bffdbe58bb562ea
Amit Mahajan [Thu, 23 Feb 2017 02:00:16 +0000 (02:00 +0000)]
Merge "Exception and death notification handling for ISap."
Marie Janssen [Wed, 22 Feb 2017 18:40:22 +0000 (18:40 +0000)]
Merge "jni: cleanup compiler warnings"
am:
dc77303218
Change-Id: I03a6a68b3d4fd131d089f837b072f4b94c21bd07
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
Hemant Gupta [Tue, 21 Feb 2017 19:22:18 +0000 (19:22 +0000)]
Merge "HID: Send connection state change broadcast during cleanup"
am:
71f903cb3d
Change-Id: I35985711ac5708e021826a18a77ea3048d7bf829
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:06:51 +0000 (18:06 +0000)]
Merge "Use base::Callbacks in BleScannerInterface (3/3)"
am:
00c0c74d0c
Change-Id: Idfe4df7bb59fa5d16ae3c55253fe0f25b0cbcec8
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