OSDN Git Service
Dennis Cheng [Thu, 6 Aug 2015 01:39:37 +0000 (01:39 +0000)]
am
5f8a46aa: test_vendor_lib: Dummy inquiry result
* commit '
5f8a46aae144f416d695010ae61c47116562a615':
test_vendor_lib: Dummy inquiry result
Arman Uguray [Thu, 6 Aug 2015 01:39:37 +0000 (01:39 +0000)]
am
f8881fee: service: Add Mock support for Daemon and CoreStack
* commit '
f8881fee3d08cb50896b22adc0841223694d51d2':
service: Add Mock support for Daemon and CoreStack
Dennis Cheng [Thu, 23 Jul 2015 22:22:50 +0000 (15:22 -0700)]
test_vendor_lib: Dummy inquiry result
This upload mainly consists of stub command implementations to get
Bluetooth into the enabled state. The last command handled is the
inquiry command. Upon inquiry, the controller currently sends back a
dummy inquiry result for a fake device. This fake device appears under
the "Available devices" list in the UI. Bluetooth is able to be toggled
off and on from the UI as well (i.e. it doesn't crash after switching to
on for a few seconds).
Bug:
21586676
Change-Id: Ifd42a6ab4b9338afd461d2ef4f809bdd62fcf79f
Arman Uguray [Tue, 4 Aug 2015 19:56:56 +0000 (12:56 -0700)]
service: Add Mock support for Daemon and CoreStack
This patch turns the Daemon and CoreStack classes into abstract
interfaces. Mock and real implementations are implemented in special
subclasses and obtained via a factory method. Other test implementations
(e.g. stub) can be provided in the future.
Bug:
22532180
Change-Id: Ic3000518e5cef1c867dd803cd0bba6aab49dc596
Ajay Panicker [Wed, 5 Aug 2015 17:55:22 +0000 (17:55 +0000)]
am
aa3be1a6: Implement Bluetooth settings factory reset (3/5)
* commit '
aa3be1a696b9ae1142fe9f358ad5f97e99da7892':
Implement Bluetooth settings factory reset (3/5)
Ajay Panicker [Tue, 28 Jul 2015 23:54:53 +0000 (16:54 -0700)]
Implement Bluetooth settings factory reset (3/5)
Implemented the factory reset function to be used to reset all bluetooth
settings on device to factory default
Bug:
16161518
Ian Coolidge [Wed, 5 Aug 2015 01:02:31 +0000 (01:02 +0000)]
am
80caab27: Drop obsolete libpower dependency.
* commit '
80caab275a4a0daface9d970e5cbc28896b64af3':
Drop obsolete libpower dependency.
Ian Coolidge [Fri, 31 Jul 2015 23:18:18 +0000 (16:18 -0700)]
Drop obsolete libpower dependency.
Wakelock activity is delegated to depending module.
Change-Id: I368bb9287f208fed3a674423e82fb2a8cb9e8268
Arman Uguray [Tue, 4 Aug 2015 22:51:10 +0000 (15:51 -0700)]
resolved conflicts for merge of
145cf576 to mnc-dev-plus-aosp
Change-Id: I717d2959e50309b272b3b76851015871b5095fc1
Arman Uguray [Sat, 1 Aug 2015 02:14:39 +0000 (19:14 -0700)]
Compile libbtcore and libosi for host
The static libraries now also compile for a Linux host as libbtcore-host and
libosi-host. The unittests are compiled for the target against Bionic libc and
for the host against glibc.
Bug:
22884515
Change-Id: Iac1310a48cfd2ff43c356cb31165fd176d0e1d39
Dennis Cheng [Tue, 4 Aug 2015 18:38:01 +0000 (18:38 +0000)]
am
3c0ea3e5: test_vendor_lib: Use EPOLLOUT
* commit '
3c0ea3e5a5aca269283854d8f2f584ad0699c951':
test_vendor_lib: Use EPOLLOUT
Dennis Cheng [Tue, 16 Jun 2015 19:44:55 +0000 (12:44 -0700)]
test_vendor_lib: Use EPOLLOUT
HciTransport checks for write-readiness before sending any packets
back to the HCI. Packets are maintained on a queue and only written
when the EPOLLOUT flag is set in the epoll_event.
Bug:
21586676
Change-Id: Iebd9599286b62746e2be7e424c522058ae978bb1
Nitin Arora [Tue, 4 Aug 2015 16:39:48 +0000 (16:39 +0000)]
am
d63f7c0b: Add Dialog mouse & KB to blacklist for LE secure connections
* commit '
d63f7c0b26057f650fd30526758cd259c0b3480a':
Add Dialog mouse & KB to blacklist for LE secure connections
Pavlin Radoslavov [Tue, 4 Aug 2015 16:39:47 +0000 (16:39 +0000)]
am
84d13eda: Add an explicit check for AVRCP vendor data
* commit '
84d13edac39c51290e858a71fea58925db3844bc':
Add an explicit check for AVRCP vendor data
Nitin Arora [Tue, 28 Jul 2015 23:00:55 +0000 (16:00 -0700)]
Add Dialog mouse & KB to blacklist for LE secure connections
This change allows the host to mask the Cross key bit in
the key distribution fields of the pairing request and
response while pairing with the Dialog keyboard and mouse
to prevent the remote from rejecting the DUT's pairing request.
Bug:
22799966
Change-Id: I89420e77875957c78e915c508de311d779fd03df
Pavlin Radoslavov [Tue, 4 Aug 2015 16:05:39 +0000 (09:05 -0700)]
Add an explicit check for AVRCP vendor data
Add an explicit check for AVRCP vendor data when parsing received vendor
commands or responses.
Bug:
21768387
Change-Id: I715de6fc7348d063c448971a8dae6dd1b00c7062
Pavlin Radoslavov [Tue, 4 Aug 2015 05:28:32 +0000 (05:28 +0000)]
am
caaa00f5: Fix a crash for a race condition during Bluetooth shutdown
* commit '
caaa00f5ede96461e11de866ac15f5224442d1eb':
Fix a crash for a race condition during Bluetooth shutdown
Pavlin Radoslavov [Tue, 4 Aug 2015 04:58:45 +0000 (21:58 -0700)]
Fix a crash for a race condition during Bluetooth shutdown
This is same race condition observed in btif_media_task_aa_tx_flush_req()
because btif_media_task_aa_tx_flush_req() and btif_media_task_stop_aa_req()
are called back-to-bach.
This race condition is triggered when A2DP audio is streaming on shutdown:
"btif_a2dp_on_stopped() -> btif_media_task_stop_aa_req()" is called
to stop the particular audio stream, and this happens right after
the "cleanup() -> btif_a2dp_stop_media_task()" processing during
the shutdown of the Bluetooth stack.
Bug:
22700411
Change-Id: Ia0c98d44a108cf0f57731ac8129e4d76c9934542
Ian Coolidge [Mon, 3 Aug 2015 21:02:50 +0000 (21:02 +0000)]
am
6f2cecf9: Merge "bluedroidtest: drop obsolete libhardware_legacy dependency."
* commit '
6f2cecf90691c44c0a7955fa765d55795bacb6e5':
bluedroidtest: drop obsolete libhardware_legacy dependency.
Ian Coolidge [Mon, 3 Aug 2015 20:45:39 +0000 (20:45 +0000)]
Merge "bluedroidtest: drop obsolete libhardware_legacy dependency."
Ian Coolidge [Fri, 31 Jul 2015 22:36:07 +0000 (15:36 -0700)]
bluedroidtest: drop obsolete libhardware_legacy dependency.
Change-Id: Iecd7839aa52debb14c6fc10da2d7f838f8d05327
Dennis Cheng [Mon, 3 Aug 2015 18:45:48 +0000 (18:45 +0000)]
am
f3b1820e: test_vendor_lib: Initial commit
* commit '
f3b1820e1676261886a6537e1f6abac6a35ed6d4':
test_vendor_lib: Initial commit
Dennis Cheng [Tue, 16 Jun 2015 19:44:55 +0000 (12:44 -0700)]
test_vendor_lib: Initial commit
Basic vendor library for a test Bluetooth controller. Currently consists
of mostly stub functions and objects and can only handle the reset
command (by immediately responding with a command complete event).
Implemented through a global EventDispatcher object which waits for data
from the HCI and directly returns the appropriate response.
Eventually, the dispatcher will manage a fake controller object that
will provide callbacks to be executed whenever events are processed by
the dispatcher. Unit tests are still in progress and will be in the next
upload.
Bug:
21586676
Change-Id: I1c6746f8b0f1732b89a1da13facecdd49b5ac1b6
Ian Coolidge [Sat, 1 Aug 2015 02:24:17 +0000 (02:24 +0000)]
am
c6760d82: Provide --android-ipc-socket-suffix.
* commit '
c6760d82357f46943406c579f5b1c291a20afdeb':
Provide --android-ipc-socket-suffix.
Sharvil Nanavati [Fri, 31 Jul 2015 23:44:08 +0000 (23:44 +0000)]
am
9de273d9: Fix CTS Verifier test for insecure RFCOMM connection.
* commit '
9de273d9fb99b9f612b8acd50e09225f60444363':
Fix CTS Verifier test for insecure RFCOMM connection.
Sharvil Nanavati [Fri, 31 Jul 2015 21:22:08 +0000 (14:22 -0700)]
Fix CTS Verifier test for insecure RFCOMM connection.
Closing an RFCOMM server socket does not remove the corresponding
service record from the security database. However, the RFCOMM
channel becomes free for reuse. The next RFCOMM server socket will
therefore "inherit" the service record for the closed one if it
happens to reuse the same channel.
Bug:
22880207
Change-Id: Ida3fee49e5f40667d9992dc4c4442f9289adae9e
Ian Coolidge [Fri, 31 Jul 2015 03:51:47 +0000 (20:51 -0700)]
Provide --android-ipc-socket-suffix.
This allows Android init to create a socket
for the service, and have consolidated access control.
Android init creates the socket and passes the FD through
an environment variable, so we must use OSI to decode it.
Bug:
22807533
Change-Id: I7ec0a14b8f3b44277ce99faad68623d6691f7863
Arman Uguray [Fri, 31 Jul 2015 18:11:43 +0000 (18:11 +0000)]
am
fe65fb79: service: Refactor IPC and singletons
* commit '
fe65fb7978bc9257a36d1e5eae59c5f412dbdb49':
service: Refactor IPC and singletons
Arman Uguray [Sat, 25 Jul 2015 02:14:42 +0000 (19:14 -0700)]
service: Refactor IPC and singletons
This CL makes the following major refactors to the system service code:
1. A new global Daemon object is introduced, which manages the main event
loop and all other subsystems of the Bluetooth daemon. This object is the only
singleton class and initializes and owns everything else.
2. Everything that was a singleton and/or was initialized directly in main.cpp
is now a) no longer a singleton; b) now initialized and owned by the global
Daemon instance.
3. All of the Chromecast specific IPC code has been moved into the ipc/
subdirectory. This directory is meant for everything that is IPC related,
paving the way for enabling multiple IPC systems (domain-socket based, Binder
based, etc) simultaneously in the future. Main changes to the Chromecast IPC
code are:
a. All files and classes have been renamed to reflect the
UNIX-domain-socket-specific nature of the IPC mechanism.
b. The code no longer hogs up the main thread while listening for
connections. All of this logic has been moved to a dedicated thread with
its own MessageLoopForIO, so that it can use the built-in mechanisms for
polling on client sockets in the future.
Bug:
22532180
Change-Id: I42db06dba6cff3bc8f8101a1ea2b6787a69409fd
Ian Coolidge [Thu, 30 Jul 2015 21:22:57 +0000 (21:22 +0000)]
am
fd8fdca4: service: Add null initialization for new scan cb.
* commit '
fd8fdca47afdcb797b35a05bc7bf57dd1ccbdca1':
service: Add null initialization for new scan cb.
Ian Coolidge [Thu, 11 Jun 2015 03:34:43 +0000 (20:34 -0700)]
service: Add null initialization for new scan cb.
scan_parameter_setup_completed_cb was added to
btgatt_client_callbacks_t.
Change-Id: If0aa113df7cf3db742fa64244bbb7a849c877525
Pavlin Radoslavov [Thu, 30 Jul 2015 00:36:16 +0000 (00:36 +0000)]
am
efa5991f: Fix a NULL-pointer crash
* commit '
efa5991fc7dc3b9b74b73966a4bf5cd5aad9f06a':
Fix a NULL-pointer crash
Pavlin Radoslavov [Wed, 29 Jul 2015 23:52:47 +0000 (16:52 -0700)]
Fix a NULL-pointer crash
It seems that the current implementation of btm_sec_encrypt_change()
does not handle the case when it is called with an invalid handle,
such as inside file btu_hcif.c :
case HCI_SET_CONN_ENCRYPTION:
/* Device refused to start encryption. ... */
btm_sec_encrypt_change(BTM_INVALID_HCI_HANDLE, ...)
Bug:
22791224
Change-Id: Ide9404d0c82819399cf258ae3f90c25b352f1e20
Miao-chen Chou [Wed, 29 Jul 2015 22:27:37 +0000 (22:27 +0000)]
Merge "resolved conflicts for merge of
f993a9c4 to mnc-dev-plus-aosp" into mnc-dev-plus-aosp
Andre Eisenbach [Wed, 29 Jul 2015 22:08:35 +0000 (22:08 +0000)]
am
48a4b9cd: Assign pseudo address for host-based RPA resolution matches
* commit '
48a4b9cd18a306a45249898008c73f80fb3b9d48':
Assign pseudo address for host-based RPA resolution matches
Andre Eisenbach [Wed, 29 Jul 2015 19:36:06 +0000 (12:36 -0700)]
Assign pseudo address for host-based RPA resolution matches
Bug:
21963935
Change-Id: Id72001ce17996ea04c3eba32cebcac4dbbe317bc
Miao Chou [Wed, 29 Jul 2015 07:29:29 +0000 (00:29 -0700)]
resolved conflicts for merge of
f993a9c4 to mnc-dev-plus-aosp
Change-Id: Iaef9ab0fd5f4ed0ede18fd2a9899669293d9343c
Andre Eisenbach [Wed, 29 Jul 2015 19:36:20 +0000 (19:36 +0000)]
am
b61d25c5: Fix memory leak in A2DP event handler
* commit '
b61d25c52fcfa1853c7555acda61d848ef6be3e9':
Fix memory leak in A2DP event handler
Andre Eisenbach [Wed, 29 Jul 2015 18:57:50 +0000 (11:57 -0700)]
Fix memory leak in A2DP event handler
btif_av_event_free_data() was not called in all states (idle state only)
leading to potential memory leaks.
Bug:
22822688
Change-Id: I40520c605c9a806e6cd5ee6e36c101d0aa8d4355
Nitin Arora [Wed, 29 Jul 2015 08:12:14 +0000 (08:12 +0000)]
am
82c8b927: Reset LE encryption key size at LE disconnection only
* commit '
82c8b9270ba962d5f271a833a3454baddbc063aa':
Reset LE encryption key size at LE disconnection only
Nitin Arora [Thu, 2 Jul 2015 21:08:39 +0000 (14:08 -0700)]
Reset LE encryption key size at LE disconnection only
This change checks the transport type on receiving the disconnection
and resets the encryption key size only if the LE disconnection
has taken place.
This fixes the issue where read request to characteristics that
require encryption, fails after cross key derivation due to
disconnection of BR/EDR transport.
Bug:
22515016
Change-Id: If6aad91a628eabbb5a4b7f5c22812fe94d4c5db2
Anubhav Gupta [Wed, 29 Jul 2015 07:13:07 +0000 (07:13 +0000)]
am
dab356e3: Promote AVCTP version to 1.4
* commit '
dab356e3b0573303840e63cbafb1065d57a11e2c':
Promote AVCTP version to 1.4
Anubhav Gupta [Tue, 28 Jul 2015 06:32:57 +0000 (12:02 +0530)]
Promote AVCTP version to 1.4
Promoting AVCTP version to 1.4 from 1.2 as Bluedroid stack
already has got support for the same.
Below changes are incorporated as part of this:
- AVCTP version in SDP entry is upgraded to 1.4 for both AVRCP
Target and controller role.
- Service class #1 is added in extra for AVRCP Controller SDP
entry to be in sync with AVCTP version change.
- Browsing support is not enabled as that needs corresponding
profile level implementation, which is currently unavailable.
Change-Id: I72f7f67eb0a789fd321e9468f2a51bb5e9385a89
Arman Uguray [Wed, 29 Jul 2015 00:17:20 +0000 (00:17 +0000)]
am
1b3a3d82: Add GN files for vendor_libs
* commit '
1b3a3d82840fd39e8b43e7cc761155dd1abeb417':
Add GN files for vendor_libs
Miao-chen Chou [Tue, 28 Jul 2015 23:55:28 +0000 (23:55 +0000)]
Merge "build: Eliminate cutils/str_parms dependency from system/bt"
Arman Uguray [Tue, 28 Jul 2015 01:32:05 +0000 (18:32 -0700)]
Add GN files for vendor_libs
Added BUILD.gn files for vendor_libs and vendor_libs/linux.
Bug:
21585592
Change-Id: I33f98421a94a4b4f530e48c94711775d776d02d7
Miao Chou [Wed, 8 Jul 2015 21:50:32 +0000 (14:50 -0700)]
build: Eliminate cutils/str_parms dependency from system/bt
Eliminate cutils/str_parmss dependency from system/bt by adding osi_str_parms:
- Added hash_map_utils which implements partial functions of cutils/str_parms
and uses osi/hash_map instead of cutils/hashmap.
- Updated osi/Android.mk, osi/BUILD.gn and the includes in audio_a2dp to use
osi_str_parms.
- Added unittest for hash_map_utils.
Bug:
21957864
Change-Id: I8458d9e45df6cab2b71840d24d17b9d75de9842c
Anubhav Gupta [Tue, 28 Jul 2015 18:09:54 +0000 (18:09 +0000)]
am
2ac9ae06: Fix a bug allocating buffers for fragmented AVRC packets
* commit '
2ac9ae06be5091f6f2eef0022a3810752f127d04':
Fix a bug allocating buffers for fragmented AVRC packets
Anubhav Gupta [Fri, 24 Jul 2015 17:14:00 +0000 (10:14 -0700)]
Fix a bug allocating buffers for fragmented AVRC packets
Use the correct offset_len when allocating buffers for AVRC
packets that need to be fragmented.
Bug:
22156175
Change-Id: I7db12474c84edacb4f0739d50a43e8cebdcca676
Amirhossein Simjour [Mon, 27 Jul 2015 23:21:21 +0000 (23:21 +0000)]
am
1500b8d9: Fix for uhid_event size check
* commit '
1500b8d9b301d8d68b2910692ec47d0e5b42c129':
Fix for uhid_event size check
Amirhossein Simjour [Mon, 20 Jul 2015 18:29:19 +0000 (14:29 -0400)]
Fix for uhid_event size check
The uhid_event function used to expect that the return value of each
read function call to match with the size of the struct uhid_event.
Since the header file doesn't match the kernel driver, these two size
don't always match. The exact size check is replaced with expecting
the minimum required size.
Bug:
20108348
Change-Id: Ib61537092b109296f8290d802b68fc2efe78888c
Casper Bonde [Mon, 27 Jul 2015 17:56:55 +0000 (17:56 +0000)]
am
760aa99b: Unpair HID device cleanup
* commit '
760aa99b0f1fb7830dd5ff23ec8f5c5630b15989':
Unpair HID device cleanup
Pavlin Radoslavov [Mon, 27 Jul 2015 17:56:54 +0000 (17:56 +0000)]
am
c6137426: Fix the logic for stopping the Power Management timers.
* commit '
c6137426081fc55d8c94cd0e6b55cd0d0a52f12d':
Fix the logic for stopping the Power Management timers.
Casper Bonde [Fri, 3 Oct 2014 08:01:36 +0000 (10:01 +0200)]
Unpair HID device cleanup
When unparing HID devices, the attr_mask was not cleared.
By not clearing this data, some HID device will never be able
to connect again. (E.g. the Apple Magic Mouse)
Bug:
15566403
Change-Id: Ic80909dcecdf48d967c1a936b31554653761fa42
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
Pavlin Radoslavov [Sat, 25 Jul 2015 06:41:55 +0000 (23:41 -0700)]
Fix the logic for stopping the Power Management timers.
Previously, the logic for stopping the timers didn't take
into account whether each timer was already running.
Bug:
22666419
Change-Id: Ia99bf8be917e9ea69f478a954085336fc899040a
Christopher Wiley [Mon, 27 Jul 2015 01:00:30 +0000 (01:00 +0000)]
am
fbbd2259: Only build bt_service_unittests for linux
* commit '
fbbd225943c1e97074c61942d3fa29ae8c5fe202':
Only build bt_service_unittests for linux
Christopher Wiley [Mon, 27 Jul 2015 00:31:00 +0000 (17:31 -0700)]
Only build bt_service_unittests for linux
libchrome-host doesn't build on Mac, and while we get that sorted out,
let us not try and build this for Mac either.
Change-Id: I01d27391539d5c345d29a4ce949d0c3bcc931a7f
Samuel Ortiz [Sat, 25 Jul 2015 05:28:04 +0000 (05:28 +0000)]
am
081cba03: Add HCI user channel based bluedroid vendor adaptation
* commit '
081cba0366ab5dfa11e68676ff5282a8e20e68f0':
Add HCI user channel based bluedroid vendor adaptation
Samuel Ortiz [Fri, 24 Jul 2015 21:05:27 +0000 (14:05 -0700)]
Add HCI user channel based bluedroid vendor adaptation
This libbt vendor library creates and binds an HCI user channel
instead of talking to a serial port file descriptor. HCI frames
generated by the Android Bluetooth HAL are passed down as is to the
Linux kernel Bluetooth drivers through those sockets.
By pushing all the hardware dependencies down to the kernel, this
architecture supports all existing Linux Bluetooth drivers with
one single AOSP Bluetooth HAL implementation, Bluedroid.
Change-Id: I7197016b556e5d985843dd4f626db5d0f596f996
Arman Uguray [Fri, 24 Jul 2015 21:47:20 +0000 (21:47 +0000)]
am
065d0f70: service: Introduce a global Settings object
* commit '
065d0f709343129f82ff3d072dcb36f612038598':
service: Introduce a global Settings object
Arman Uguray [Fri, 17 Jul 2015 01:12:13 +0000 (18:12 -0700)]
service: Introduce a global Settings object
Introduced a global Settings object that will store all runtime properties that
would be associated with a config file, Android system properties, etc. Added a
mechanism to parse command-line options which can be used to pass paths to
configuration files, file path for UNIX domain socket based IPC mechanism, and
any other property that is dynamic in nature. This will help us remove hardcoded
paths, strings, and other such values in the future.
Bug:
22532366
Change-Id: I8e790363ed31d44369f7991a8ea7132d1cace70b
Arman Uguray [Fri, 24 Jul 2015 21:03:00 +0000 (21:03 +0000)]
am
f2d6434a: gn-build: Add bluetooth-service target
* commit '
f2d6434a6b7ad98e20c7a601d2a0950237514837':
gn-build: Add bluetooth-service target
Andre Eisenbach [Fri, 24 Jul 2015 19:37:01 +0000 (19:37 +0000)]
am
196413f5: Fix TX queue overflow detection
* commit '
196413f5ca088ef97866092f02bb7571d2a44390':
Fix TX queue overflow detection
Andre Eisenbach [Wed, 22 Jul 2015 20:47:28 +0000 (13:47 -0700)]
Fix TX queue overflow detection
- Prevent possible endless loop if |nb_frame| is too high
- Remove off-by-one calculation before sending frames
- Remove log spam and add better debug info
Bug:
22658329
Change-Id: I374ee980aec48763beb49b4f6f8b076124cadf40
Pavlin Radoslavov [Thu, 23 Jul 2015 19:01:20 +0000 (19:01 +0000)]
am
1076b7b0: Customize Bluetooth sniff interval
* commit '
1076b7b0a642d0f5c5948819bcd07e4bc0fb2738':
Customize Bluetooth sniff interval
Pavlin Radoslavov [Thu, 23 Jul 2015 05:49:26 +0000 (22:49 -0700)]
Customize Bluetooth sniff interval
Fix an earlier commit that prevents from customizing some of
the Bluetooth sniff parameters - those cannot be overwritten
anymore in the bdroid_buildcfg.h file.
Also, fixed the indexing in tables bta_dm_pm_cfg[]
and bta_dm_pm_spec[]
Bug:
22676670
Change-Id: I3a7074b9a9c91d312dc5d4314b7c304baf4ae20d
Arman Uguray [Wed, 8 Jul 2015 22:47:39 +0000 (15:47 -0700)]
gn-build: Add bluetooth-service target
This patch makes the Bluetooth system service (service/) buildable using GN:
1. Added new BUILD.gn file for service/
2. Added conditional compilation for global config paths, with TODOs for
generalizing them later.
3. Added a shim for loading the Bluetooth library that calls hw_get_module on
Android and explicitly calls dlopen on OS_GENERIC.
4. Fixed compile warnings and errors.
5. Did some minor clean up in gatt_server.cpp for better readability.
Bug:
22124644
Change-Id: I3226537a3a5211a6762651a35707638df29956b0
Pavlin Radoslavov [Wed, 22 Jul 2015 20:19:17 +0000 (20:19 +0000)]
am
197ee685: Fix a crash for a race condition during Bluetooth shutdown
* commit '
197ee6856b43d8eea137a7f37798ee2a012ce518':
Fix a crash for a race condition during Bluetooth shutdown
Nitin Arora [Wed, 22 Jul 2015 20:18:04 +0000 (20:18 +0000)]
am
ac72840a: Update device type correctly in the NVRAM at inquiry result
* commit '
ac72840a3d7409adbb3ee4904ab1ed5de2d66586':
Update device type correctly in the NVRAM at inquiry result
Pavlin Radoslavov [Wed, 22 Jul 2015 01:09:19 +0000 (18:09 -0700)]
Fix a crash for a race condition during Bluetooth shutdown
This race condition is triggered when A2DP audio is streaming on shutdown:
"btif_a2dp_on_stopped() -> btif_media_task_aa_tx_flush_req()" is called
to stop the particular audio stream, and this happens right after
the "cleanup() -> btif_a2dp_stop_media_task()" processing during
the shutdown of the Bluetooth stack.
Bug:
22602117
Change-Id: I5de6a8f15b6a2771dde2e299a5b60554063696a2
Nitin Arora [Sat, 27 Jun 2015 01:09:37 +0000 (18:09 -0700)]
Update device type correctly in the NVRAM at inquiry result
This patch checks for the NVRAM data when inquiry result
is received from the remote device. In case the device is
marked as LE only or BR/EDR only, and inquiry result is
received from the alternate transport, the device type is
marked as Dual mode in the NVRAM
Bug:
22604450
Change-Id: Id925e8bad152a33c2bd3c371ca42a6f9c694e3b0
Nitin Arora [Tue, 21 Jul 2015 21:15:40 +0000 (21:15 +0000)]
am
1da48a36: Use pseudo address while re-pairing peripheral
* commit '
1da48a3600c980fe4ba825d287ff0ac5038be3ff':
Use pseudo address while re-pairing peripheral
Nitin Arora [Tue, 21 Jul 2015 21:08:18 +0000 (21:08 +0000)]
am
b4365c55: Adding transport type while initiating remote discovery
* commit '
b4365c55ccb2e985d00619c30dc14d5c156771b7':
Adding transport type while initiating remote discovery
Nitin Arora [Sat, 18 Jul 2015 01:38:01 +0000 (18:38 -0700)]
Use pseudo address while re-pairing peripheral
In case of pairing to an already paired device (in an instance
where the central remote has removed the keys), the change
makes sure that the correct address is used when LTK key
request occurs at the peripheral.
Bug:
22605510
Change-Id: I959003f39f70281ff1e6af8d4c4549138bc1682c
Andre Eisenbach [Tue, 21 Jul 2015 21:01:36 +0000 (21:01 +0000)]
am
280368c7: Fix potential crash when transcoding legacy config files
* commit '
280368c7aa3b3e1dc5236a824f1f6c765967e253':
Fix potential crash when transcoding legacy config files
Nitin Arora [Fri, 26 Jun 2015 01:30:09 +0000 (18:30 -0700)]
Adding transport type while initiating remote discovery
This change ensures that the completion of SMP pairing for LE
devices specifically requests remote device discovery based on
transport type set to LE to prevent initiation of BR/EDR
connection due to incorrect transport type info
Bug:
22515456
Change-Id: Id1e5603d3cc53ca3dff427b93059a00f8d9150a7
Nitin Arora [Tue, 21 Jul 2015 20:52:39 +0000 (20:52 +0000)]
am
ccd37fa0: Enable enhanced connection complete event
* commit '
ccd37fa0fed142dae2491212ec72e20d74560b59':
Enable enhanced connection complete event
Andre Eisenbach [Tue, 21 Jul 2015 20:02:57 +0000 (13:02 -0700)]
Fix potential crash when transcoding legacy config files
Bug:
22634292
Change-Id: I64745671f3b69fc7e6913213aeec55267e9bc49b
Nitin Arora [Thu, 2 Jul 2015 21:13:45 +0000 (14:13 -0700)]
Enable enhanced connection complete event
This change enables the enhanced connection complete event in order
to receive the local rpa address while connection is completed
with a paired peripheral. This is required if central tries to
repair or key upgrade an already paired device so that the confirm
or the DHKey Check values match during the pairing process
Bug:
22515703
Change-Id: If27f3b22bc568df6f081f8ad13dfc6783a83ae47
Pavlin Radoslavov [Tue, 21 Jul 2015 04:14:46 +0000 (21:14 -0700)]
resolved conflicts for merge of
65f9c04a to mnc-dev-plus-aosp
Change-Id: I4d7f657175347b2625f222b3cf6ab60fd37fb238
tturney [Tue, 21 Jul 2015 03:39:09 +0000 (03:39 +0000)]
am
fb229d8b: Exclude Polar HR Monitor from secure conn
* commit '
fb229d8bb57070f708b0018578ca2cf94b33b2a1':
Exclude Polar HR Monitor from secure conn
Pavlin Radoslavov [Fri, 17 Jul 2015 00:40:28 +0000 (17:40 -0700)]
Fix the logic for removing bonded devices
* Removed btif_storage_is_device_bonded(), because it is not needed,
and it was giving the wrong answer in use cases like Smart Setup
with BR/EDR connections.
* Added a call to btif_storage_remove_ble_bonding_keys()
within btif_storage_remove_bonded_device() so the bonded device
state is properly removed.
* Don't save the BLE bonding keys if it is temporary bonding
Bug:
22233299
Change-Id: I33d9f76a124acc60173f0acaa517bc29ee6603e8
tturney [Tue, 21 Jul 2015 02:28:40 +0000 (19:28 -0700)]
Exclude Polar HR Monitor from secure conn
Bug:
22473630
Change-Id: I1168444a6969532377e1bbcb2b1058d768099c20
Arman Uguray [Mon, 20 Jul 2015 21:17:25 +0000 (21:17 +0000)]
am
6670e315: Fix multi-advertising when LE Privacy is not available
* commit '
6670e3157c8510bc4b944c6a16d92db56adbb76c':
Fix multi-advertising when LE Privacy is not available
Arman Uguray [Sat, 18 Jul 2015 07:00:50 +0000 (00:00 -0700)]
Fix multi-advertising when LE Privacy is not available
This patch fixes a bug that caused all multi-advertising instances to be
initialized with Instance ID 0 (which is not allowed by the stack), if LE
privacy is not available. The problem was that the internal data structures that
represent advertising instances were not getting their |inst_id| field
initialized where it's supposed to.
Although far from clean, this code worked before. The culprit for the regression
is "
f9fdf890 Random address does not get written properly", which moved the
initialization of instance IDs from the loop in BTM_BleEnableAdvInstance to
btm_ble_multi_adv_enb_privacy. The latter never gets called if privacy is not
available, which leads to partially initialized structures.
Obviously both of these places were wrong to begin with. I saw the word
"init" in a function called btm_ble_multi_adv_init. I figured this might have
something to do with initializing, so I moved the logic there.
Bug:
21267281
Change-Id: I38b9a2a71cd3f45feb267a13bf29f93564ee6075
Nitin Arora [Fri, 17 Jul 2015 00:33:53 +0000 (00:33 +0000)]
am
f0e9c466: Add Moto Key Link to blacklist for LE secure connections
* commit '
f0e9c46646bf49db05a1dcbecdc0bd64d086f623':
Add Moto Key Link to blacklist for LE secure connections
Nitin Arora [Fri, 10 Jul 2015 18:24:47 +0000 (11:24 -0700)]
Add Moto Key Link to blacklist for LE secure connections
This change allows the host to mask the Cross key bit in
the key distribution fields of the pairing request and
response while pairing with the Moto key link. This is
needed since this specific remote device performs
calculations of the pairing confirm after masking the
cross key bit in the key distribtuin field which results
in a mismatch of the pairing confirm calcualted by the host
DUT and the remote.
Bug:
22539807
Change-Id: I7d758b05023cf346c97939883edda9d3adb08e1a
Arman Uguray [Thu, 16 Jul 2015 18:28:14 +0000 (18:28 +0000)]
am
50333a25: Properly disconnect GATT connection during noisy scans
* commit '
50333a25ba3dac54033738d1e2a2688e2977ff2e':
Properly disconnect GATT connection during noisy scans
Arman Uguray [Wed, 15 Jul 2015 23:05:32 +0000 (16:05 -0700)]
Properly disconnect GATT connection during noisy scans
This patch fixes an issue that is reproducible in highly noisy environments
(massive deployment of BLE beacons), through repeated connect/disconnect
attempts on a remote peripheral while scanning for beacons in the background.
The state machine in bta/gatt has a special control flow for handling disconnect
requests during discovery, which in this case failed to resolve the original
request by issuing an HCI_Disconnect command. This is now fixed by always
explicitly triggering the connection close sequence once the discovery state has
been cleaned up.
This patch also includes a fix for a crash that occurred as a side-effect of the
scenario described above.
Bug:
22350508
Change-Id: Ie9cbd3c8f54239b142bfb8dde80d9581ae70ed43
Andre Eisenbach [Wed, 15 Jul 2015 22:01:54 +0000 (22:01 +0000)]
am
165332bc: Cleanup alarm_get_remaining_ms
* commit '
165332bc6795049754fafe35024c2c605796c96a':
Cleanup alarm_get_remaining_ms
Andre Eisenbach [Wed, 15 Jul 2015 19:35:15 +0000 (12:35 -0700)]
Cleanup alarm_get_remaining_ms
This function is used for PM sniff mode timers - at least until we can
re-factor those not to rely on this function.
Bug:
22040710
Change-Id: Ibe6f49440228732b2bd8242db4a44e481b00b62e
Nitin Arora [Wed, 15 Jul 2015 19:30:53 +0000 (19:30 +0000)]
am
ac1399a7: Use correct own address type for batch scan
* commit '
ac1399a7aab6051f984235971573d62ddf76891d':
Use correct own address type for batch scan
Nitin Arora [Fri, 19 Jun 2015 02:09:01 +0000 (19:09 -0700)]
Use correct own address type for batch scan
This patch ignores the input parameter and used the own
address type from address management block while setting
the batch scan parameters.
Bug:
22227689
Change-Id: I23fc80b68cfbd91d718c1094ef2483eaccda3ae1
VenkatRaghavan VijayaRaghavan [Wed, 15 Jul 2015 06:10:35 +0000 (06:10 +0000)]
am
76356aee: Bug fix PM changes and LE connectivity mode fixes
* commit '
76356aee883af67898ddc1aa3b628195f396d42a':
Bug fix PM changes and LE connectivity mode fixes
VenkatRaghavan VijayaRaghavan [Tue, 21 Apr 2015 18:32:29 +0000 (11:32 -0700)]
Bug fix PM changes and LE connectivity mode fixes
Allow PM to support multiple delay timer for different profiles and
power mode requests. And set correct connectivity mode.
Bug:
22040710
Change-Id: Idabd9ea944f0c5a89ce542d85db9f103fa7d1816
Srinu Jella [Wed, 15 Jul 2015 05:03:10 +0000 (05:03 +0000)]
am
21331c62: Store the link key derived from cross tranport link key
* commit '
21331c62310dda2f523712c536da3e65afce0f38':
Store the link key derived from cross tranport link key
Srinu Jella [Tue, 16 Jun 2015 14:08:45 +0000 (19:38 +0530)]
Store the link key derived from cross tranport link key
Use case: PTS test case for cross transport link key
derivation
Steps to reproduce:
1. Start Test case GAP TP/LEP/DM/BV-15 in PTSv6.0
Failure: PTS test case TP/LEP/DM/BV-15 fails as the link
key is not stored when the key is derived from other
transport key. So it will again go for pairing even though
it has link key but not stored.
Root cause: Link key is stored only when bond type is
presistent, but it sets the bond type to persistent only
when it receives SSP request but not link key is derived.
Fix: So making the solution generic to store always when the
link key type is authenticated combination key with P-256.
Bug:
22486860
Change-Id: I3eb201262f72c86a9438351cad14a6698065fa90
Ian Coolidge [Tue, 14 Jul 2015 22:52:52 +0000 (22:52 +0000)]
am
fd4745ec: service: Some fixes from end-to-end/user testing.
* commit '
fd4745ec554a95ea98230fcede779421ad89e363':
service: Some fixes from end-to-end/user testing.
Arman Uguray [Tue, 14 Jul 2015 22:28:04 +0000 (22:28 +0000)]
am
115c6b1d: service: Remove local copies of base and modp_b64
* commit '
115c6b1dbd43e8c390483f537dfb0c477d449269':
service: Remove local copies of base and modp_b64
Arman Uguray [Tue, 14 Jul 2015 22:28:03 +0000 (22:28 +0000)]
am
0ca99052: gn-build: Add BUILD files for libchrome
* commit '
0ca99052be04bfd85c9c1ae2601214bedf90b238':
gn-build: Add BUILD files for libchrome