OSDN Git Service

android-x86/system-bt.git
8 years agoMerge "service: Update HAL call for arguments"
Marie Janssen [Tue, 26 Jan 2016 20:20:38 +0000 (20:20 +0000)]
Merge "service: Update HAL call for arguments"

8 years agoservice: add bunch of GATT callback handlers
Jakub Pawlowski [Tue, 26 Jan 2016 20:15:03 +0000 (20:15 +0000)]
service: add bunch of GATT callback handlers
am: c0b16987d5

* commit 'c0b16987d55447ae52c9b8c8bb2548d9b74463ed':
  service: add bunch of GATT callback handlers

8 years agoservice: Update HAL call for arguments
Marie Janssen [Tue, 12 Jan 2016 19:14:24 +0000 (11:14 -0800)]
service: Update HAL call for arguments

The HAL now takes an additional argument for dumpsys arguments.

Change-Id: I286149e4d86ea50c4830a9f6d32e1d57025d01a7
(cherry picked from commit 802c8879cbf1d6490aa312a986ac199b84415cec)

8 years agoservice: add bunch of GATT callback handlers
Jakub Pawlowski [Tue, 26 Jan 2016 17:53:06 +0000 (09:53 -0800)]
service: add bunch of GATT callback handlers

RegisterForNotificationCallback
NotifyCallback
WriteCharacteristicCallback
WriteDescriptorCallback

Change-Id: Ic92104e427d153b5b6567fcd7fe4d967df2b3b61

8 years agoservice/example: Heart Rate Server: advertise UUID
Jakub Pawlowski [Tue, 26 Jan 2016 17:05:11 +0000 (17:05 +0000)]
service/example: Heart Rate Server: advertise UUID
am: 74385e53ac

* commit '74385e53ac82a3e2d10c17d47f46a444bb856b4e':
  service/example: Heart Rate Server: advertise UUID

8 years agoservice/example: Heart Rate Server: advertise UUID
Jakub Pawlowski [Tue, 26 Jan 2016 03:27:43 +0000 (19:27 -0800)]
service/example: Heart Rate Server: advertise UUID

Change-Id: Iaf7950e9af73926ec7bfb37189882ba8fad4123c

8 years agoMerge "service: add pairing callback handling"
Jakub Pawlowski [Tue, 26 Jan 2016 16:59:31 +0000 (16:59 +0000)]
Merge "service: add pairing callback handling"
am: 16e1170f48

* commit '16e1170f48d35a23a39c005826759ecc13c57a24':
  service: add pairing callback handling

8 years agoMerge "service: Fix BluetoothInterface locking issues"
Jakub Pawlowski [Tue, 26 Jan 2016 16:59:22 +0000 (16:59 +0000)]
Merge "service: Fix BluetoothInterface locking issues"
am: ea5c826204

* commit 'ea5c8262040b323c6f30f3a2aece8e730f81e273':
  service: Fix BluetoothInterface locking issues

8 years agoMerge "service: add pairing callback handling"
Jakub Pawlowski [Tue, 26 Jan 2016 16:55:58 +0000 (16:55 +0000)]
Merge "service: add pairing callback handling"

8 years agoMerge "service: Fix BluetoothInterface locking issues"
Jakub Pawlowski [Tue, 26 Jan 2016 16:55:27 +0000 (16:55 +0000)]
Merge "service: Fix BluetoothInterface locking issues"

8 years agoservice: add pairing callback handling
Jakub Pawlowski [Tue, 26 Jan 2016 03:38:47 +0000 (19:38 -0800)]
service: add pairing callback handling

Change-Id: I13badc4ab9738374bfa082360a68086524d6bd9b

8 years agoservice: implement HAL callback for response confirmation
Jakub Pawlowski [Tue, 26 Jan 2016 15:21:15 +0000 (15:21 +0000)]
service: implement HAL callback for response confirmation
am: d023549e2a

* commit 'd023549e2a111b55aaa25ac9a76f8ae318f28c1c':
  service: implement HAL callback for response confirmation

8 years agoDo not enable A2DP sink by default
Andre Eisenbach [Tue, 26 Jan 2016 15:17:34 +0000 (15:17 +0000)]
Do not enable A2DP sink by default
am: e273daa4af

* commit 'e273daa4af2aa49ed23c172387ada70938c2130e':
  Do not enable A2DP sink by default

8 years agoservice: implement HAL callback for response confirmation
Jakub Pawlowski [Tue, 26 Jan 2016 15:12:46 +0000 (07:12 -0800)]
service: implement HAL callback for response confirmation

Change-Id: Iec1c33574cef49053cf1f8eb3835b20047cb96eb

8 years agoDo not enable A2DP sink by default
Andre Eisenbach [Mon, 25 Jan 2016 22:21:21 +0000 (14:21 -0800)]
Do not enable A2DP sink by default

Bug: 26742931
Change-Id: I70b1fdcd72abae2712e37f49ecb588901998cc12

8 years agoservice: Fix BluetoothInterface locking issues
Jakub Pawlowski [Tue, 26 Jan 2016 03:35:57 +0000 (19:35 -0800)]
service: Fix BluetoothInterface locking issues

ObserverList class handles adding/removing elements during iteration
by itself, therefore we don't need to do any locking.
Additionally, change lock type to shared for better performance, and
to avoid possible deadlocks that might be caused by calling HAL from
observers.

Change-Id: Ie2e6ff61f6a285e2f9d3dd1ab7ed37985ca31082

8 years agoservice: Handle configure_mtu_cb, search_complete_cb and search_result_cb events
Jakub Pawlowski [Mon, 25 Jan 2016 17:51:53 +0000 (17:51 +0000)]
service: Handle configure_mtu_cb, search_complete_cb and search_result_cb events
am: 9c68cdfcbf

* commit '9c68cdfcbf2220b7c1f30d1d0521775c238ba823':
  service: Handle configure_mtu_cb, search_complete_cb and search_result_cb events

8 years agoservice: Handle configure_mtu_cb, search_complete_cb and search_result_cb events
Jakub Pawlowski [Fri, 22 Jan 2016 03:44:43 +0000 (19:44 -0800)]
service: Handle configure_mtu_cb, search_complete_cb and search_result_cb events

This patch adds HAL wrappers for those three events in preparation to
triggering MTU exchange and service discovery.

search_result_cb will not be propagated above HAL, new method will be
implemented to get GATT database content when it's ready.

Change-Id: Id25699879923ff64c8bdb8942581ea32c2390dac

8 years agoMerge "service/example: Add advertise flag for hr server"
Marie Janssen [Mon, 25 Jan 2016 16:23:36 +0000 (16:23 +0000)]
Merge "service/example: Add advertise flag for hr server"
am: fd4df52056

* commit 'fd4df520568c7d9aca079826821d69684638fb2d':
  service/example: Add advertise flag for hr server

8 years agoMerge "service/example: Add advertise flag for hr server"
Marie Janssen [Mon, 25 Jan 2016 16:18:55 +0000 (16:18 +0000)]
Merge "service/example: Add advertise flag for hr server"

8 years agoMerge "service: handle remote_device_properties_cb callback"
Jakub Pawlowski [Mon, 25 Jan 2016 14:59:33 +0000 (14:59 +0000)]
Merge "service: handle remote_device_properties_cb callback"
am: 916441a24c

* commit '916441a24c6d45e641341a3c4d06c556a9b2772b':
  service: handle remote_device_properties_cb callback

8 years agoMerge "service: handle remote_device_properties_cb callback"
Jakub Pawlowski [Mon, 25 Jan 2016 14:54:50 +0000 (14:54 +0000)]
Merge "service: handle remote_device_properties_cb callback"

8 years agoAdditional headsets blacklisted for absolute volume
tturney [Mon, 25 Jan 2016 13:53:28 +0000 (13:53 +0000)]
Additional headsets blacklisted for absolute volume
am: 47b4561ad7

* commit '47b4561ad766b8acdeb5aa6926e858f3bd689eff':
  Additional headsets blacklisted for absolute volume

8 years agoAdditional headsets blacklisted for absolute volume
tturney [Thu, 21 Jan 2016 18:19:22 +0000 (10:19 -0800)]
Additional headsets blacklisted for absolute volume

Devices blacklisted:
Bluebuds Freedom
iKross
Jabra
Swage Rokitboost HS

Bug:26070064
Change-Id: Ic27d225718b84234541bf1b170f94dea0bc4463c

8 years agoMerge "Remove unused definition BOARD_HAVE_BLUETOOTH_BCM."
Sharvil Nanavati [Sat, 23 Jan 2016 01:28:16 +0000 (01:28 +0000)]
Merge "Remove unused definition BOARD_HAVE_BLUETOOTH_BCM."
am: 01d5513e18

* commit '01d5513e182941171c61c449a05cf23fdc59c56a':
  Remove unused definition BOARD_HAVE_BLUETOOTH_BCM.

8 years agoA2DP audio HAL: fix write error behavior
Eric Laurent [Sat, 23 Jan 2016 01:28:11 +0000 (01:28 +0000)]
A2DP audio HAL: fix write error behavior
am: ec647fa1db

* commit 'ec647fa1db61806a334fc883fb98679768ac4d0b':
  A2DP audio HAL: fix write error behavior

8 years agoMerge "Remove unused definition BOARD_HAVE_BLUETOOTH_BCM."
Sharvil Nanavati [Sat, 23 Jan 2016 01:23:35 +0000 (01:23 +0000)]
Merge "Remove unused definition BOARD_HAVE_BLUETOOTH_BCM."

8 years agoA2DP audio HAL: fix write error behavior
Eric Laurent [Thu, 14 Jan 2016 02:09:37 +0000 (18:09 -0800)]
A2DP audio HAL: fix write error behavior

Do not return -1 status in case of write error but
emulate normal timing and return the number of bytes written
as if no error had occured.

This is because audio flinger does not take any recovery
action in case of write error anyway but does not increment the
number of frames written to the HAL.
In case of persisting error, active audio tracks will not finish playback
and a wakelock will be held indefinitely.

Bug: 25488825
Change-Id: I4f00ba8d7a5c55f70520d448d894240c54685027

8 years agoRemove unused definition BOARD_HAVE_BLUETOOTH_BCM.
Sharvil Nanavati [Sat, 23 Jan 2016 00:54:33 +0000 (16:54 -0800)]
Remove unused definition BOARD_HAVE_BLUETOOTH_BCM.

Change-Id: I4f47ffbec067ad1d7b4db0269cd5f7ee21ae7861

8 years agoservice/example: Add advertise flag for hr server
Jakub Pawlowski [Fri, 22 Jan 2016 23:07:07 +0000 (15:07 -0800)]
service/example: Add advertise flag for hr server

From now on if example hr server is run with --advertise flag,
it will start advertising connectable advertisements with name
and tx power.

Change-Id: I9bc9e5037022c7b61d9f466e32a0c2e30a58815b

8 years agoAdd missing creation of timer tSMP_CB.smp_rsp_timer_ent
Pavlin Radoslavov [Fri, 22 Jan 2016 21:24:34 +0000 (21:24 +0000)]
Add missing creation of timer tSMP_CB.smp_rsp_timer_ent
am: 98ae9b25a3

* commit '98ae9b25a36d7461cc1163f1da7e272b4edf1fcb':
  Add missing creation of timer tSMP_CB.smp_rsp_timer_ent

8 years agoAdd missing creation of timer tSMP_CB.smp_rsp_timer_ent
Pavlin Radoslavov [Fri, 22 Jan 2016 21:13:45 +0000 (13:13 -0800)]
Add missing creation of timer tSMP_CB.smp_rsp_timer_ent

Add missing creation of timer tSMP_CB.smp_rsp_timer_ent so
the timer is not NULL.

Bug: 26611369
Change-Id: I2882d40090599b628ecee777b244376168806776

8 years agoAdd extra log if timer_create(CLOCK_BOOTTIME_ALARM) fails
Pavlin Radoslavov [Fri, 22 Jan 2016 19:40:33 +0000 (19:40 +0000)]
Add extra log if timer_create(CLOCK_BOOTTIME_ALARM) fails
am: 4b7f560168

* commit '4b7f560168f9e7523217d4b372fde4b0adba4d3b':
  Add extra log if timer_create(CLOCK_BOOTTIME_ALARM) fails

8 years agoAdd extra log if timer_create(CLOCK_BOOTTIME_ALARM) fails
Pavlin Radoslavov [Fri, 22 Jan 2016 18:44:40 +0000 (10:44 -0800)]
Add extra log if timer_create(CLOCK_BOOTTIME_ALARM) fails

Add explicit log messages if timer_create(CLOCK_BOOTTIME_ALARM)
fails. The most likely reason is the kernel doesn't have
the appropriate patches.

Bug: 25739638
Change-Id: Icbeaa965d729ba11dfb7cfbb6185b1655b3c6de4

8 years agoservice: handle remote_device_properties_cb callback
Jakub Pawlowski [Fri, 22 Jan 2016 03:14:05 +0000 (19:14 -0800)]
service: handle remote_device_properties_cb callback

remote_device_properties_cb is being triggered by HAL when
scanning for remote devices. Leaving it as null causes lots
of assert errors in log. This patch fixes that.

Change-Id: I4dae3a34adbe59d659608387504206cc06ec6530

8 years agoA workaround for kernels missing CLOCK_BOOTTIME_ALARM
Pavlin Radoslavov [Fri, 22 Jan 2016 03:04:19 +0000 (03:04 +0000)]
A workaround for kernels missing CLOCK_BOOTTIME_ALARM
am: 10978011f2

* commit '10978011f286d20f10eb949e3557ad00a62c8424':
  A workaround for kernels missing CLOCK_BOOTTIME_ALARM

8 years agoA workaround for kernels missing CLOCK_BOOTTIME_ALARM
Pavlin Radoslavov [Fri, 22 Jan 2016 02:04:36 +0000 (18:04 -0800)]
A workaround for kernels missing CLOCK_BOOTTIME_ALARM

If the kernel doesn't have support for CLOCK_BOOTTIME_ALARM,
then timer_create(CLOCK_BOOTTIME_ALARM) will fail.

Added #ifdef KERNEL_MISSING_CLOCK_BOOTTIME_ALARM guard to get around
the issue. Platforms that don't have CLOCK_BOOTTIME_ALARM should have
the following lines in the device's "bdroid_buildcfg.h" file:

 /* Defined if the kernel does not have support for CLOCK_BOOTTIME_ALARM */
 #define KERNEL_MISSING_CLOCK_BOOTTIME_ALARM TRUE

Bug: 26611369
Change-Id: I455dbbc20f43b21a83998cd60cac8dea0a73080d

8 years agoMerge "service: Solve locking issues inside GATT interface"
Jakub Pawlowski [Fri, 22 Jan 2016 02:35:52 +0000 (02:35 +0000)]
Merge "service: Solve locking issues inside GATT interface"
am: d61f8d9756

* commit 'd61f8d97564a7104901246957a794dbde7ed7adf':
  service: Solve locking issues inside GATT interface

8 years agoMerge "service: Solve locking issues inside GATT interface"
Jakub Pawlowski [Fri, 22 Jan 2016 02:23:30 +0000 (02:23 +0000)]
Merge "service: Solve locking issues inside GATT interface"

8 years agoRefactor the Bluetooth timers
Pavlin Radoslavov [Fri, 22 Jan 2016 02:04:46 +0000 (02:04 +0000)]
Refactor the Bluetooth timers
am: 78bcff79e1

* commit '78bcff79e1b1f0efce436b33bdd6da88745bfc8a':
  Refactor the Bluetooth timers

8 years agoRefactor the Bluetooth timers
Pavlin Radoslavov [Sat, 5 Dec 2015 01:36:34 +0000 (17:36 -0800)]
Refactor the Bluetooth timers

* Updated the alarm API:
  - Existing API alarm_new() is modified to take an alarm name
    as an argument.
  - New API alarm_new_periodic() is used to create a periodic
    alarm.
  - Added new API alarm_is_scheduled() to test whether an alarm is
    scheduled.
  - Existing API alarm_set_periodic() is removed: a periodic
    alarm is created by alarm_new_periodic().
  - Added new API alarm_set_on_queue() to set an alarm whose
    callback is executed on a specific queue.
  - Added new API alarm_register_processing_queue() and
    alarm_unregister_processing_queue() to register/unregister
    a queue and the corresponding thread for alarm processing.
  - Added corresponding unit tests.

* Updated the alarm internals:
  - Added alarm_info_t for collecting alarm-related information
    and statistics.
  - Collect and store alarm-related statistics into alarm_info_t
    per alarm.
  - Include the alarm-related statistics and info into the native
    dumpsys output for Bluetooth.
  - Once an alarm expires, the alarm execution is scheduled for
    processing on another internal alarm-specific thread, not
    on the thread that is maintaining the alarms.
  - Implemented callback execution ordering guarantee among
    timers on the same thread with exactly same timeout values.

* Refactor some of the usage of alarm_set() and simplify the
  code by using alarm_set_on_queue() instead.

* Removed the non_repeating timers wrapper, and use directly
  the alarm mechanism / API.

* Refactored all timer_entry_t timers and replaced them with alarm_t
  timers:
  - Replaced the btu_start_timer() / btu_stop_timer() /
    btu_start_quick_timer() / btu_stop_quick_timer() /
    btu_oneshot_alarm() mechanism with alarm_set_on_queue() and
    alarm_cancel()
  - Removed the whole mechanism around the BTU_TTYPE_* timers.

* Fixed a bug when processing the GATT indication confirmation timer
  expiration (timer tGATT_TCB.conf_timer: b/26610829).

* Renamed and/or split misc. timeout functions, fields, and timers

* Renamed time-related constants and changed the values from seconds
  to milliseconds

* Replaced timer tAVDT_CCB.timer_entry with three mutually exclusive timers:
  idle_ccb_timer, ret_ccb_timer, rsp_ccb_timer
  The reason we are using three timers, is because in the original code
  function avdt_ccb_chk_timer() used the timer type in its logic: it
  would stop the timer only if the type is "idle".

* Removed btm_ble_timeout() and replaced it with multiple timeout
  callback functions (per timer)

* Fix the actual value of the global constant BT_1SEC_TIMEOUT and
  rename it to BT_1SEC_TIMEOUT_MS

* Removed btu_cb and associated timers and events, because they are
  never used.

* Removed unused timers, functions, struct and declarations that are
  not used / needed.

Bug: 26611369
Bug: 26610829

Change-Id: I812c8c31710a5daefc58b01fcf35c353768f390f

8 years agoAdd support for native kernel and callout wakelocks
Pavlin Radoslavov [Fri, 22 Jan 2016 01:45:06 +0000 (01:45 +0000)]
Add support for native kernel and callout wakelocks
am: d2e250824f

* commit 'd2e250824fca5c42b87b3b6f5fa19646ffa2d321':
  Add support for native kernel and callout wakelocks

8 years agoAdd support for native kernel and callout wakelocks
Pavlin Radoslavov [Mon, 24 Aug 2015 23:29:21 +0000 (16:29 -0700)]
Add support for native kernel and callout wakelocks

 * Moved wakelock-related code to osi/src/wakelock.c
   The API is in osi/include/wakelock.h

 * Use wakelock_set_os_callouts() to specify native kernel
   or callout-based wakelock.
   On Android, wakelock_set_os_callouts() is called to
   set the bt_os_callouts_t callbacks into the Java layer.

 * Renamed alarm_set_wake_lock_paths() to wakelock_set_paths()

Also, added Bluetooth Wakelock Statistics to the bugreport.
Sample output:

$ adb shell dumpsys bluetooth_manager
...
Bluetooth Wakelock Statistics:
  Wakelock is acquired                    : false
  Wakelock acquired/released count        : 5 / 5
  Wakelock acquired/released errors       : 0 / 0
  Wakelock last acquired time (ms)        : 1524
  Wakelock acquired time min/max/avg (ms) : 1511 / 8104 / 3167
  Wakelock total acquired time (ms)       : 15836
  Bluetooth total run time (ms)           : 44123

Bug: 26645431
Change-Id: I42bfb7db5b016719faea39e47ebc77c3ad02467b

8 years agoSync minor nits with AOSP
Pavlin Radoslavov [Fri, 22 Jan 2016 01:35:36 +0000 (17:35 -0800)]
Sync minor nits with AOSP

No functional changes.

Change-Id: I6bab5d3b0ba4f6a543418943996b029bb3d67a6d

8 years agotests: don't use bt_os_callouts for wakelocks
Marie Janssen [Mon, 16 Nov 2015 18:35:17 +0000 (10:35 -0800)]
tests: don't use bt_os_callouts for wakelocks

Introduces alarm_set_wake_lock_paths so wake lock paths can be changed
for testing, and adds AlarmTestHarness::WakeLockHeld to test whether a
wake lock is currently held.

Bug: 25387683
Change-Id: I9a41ae8266e252a3d436f8d41ea3f9e7ecb45cdc

8 years agoRevert "Revert "Enable kernel wakelocks and timers""
Pavlin Radoslavov [Fri, 22 Jan 2016 01:11:46 +0000 (17:11 -0800)]
Revert "Revert "Enable kernel wakelocks and timers""

This reverts commit 89590b95e3f0c8f3a7c6005ee3b837cc3984c4d5.

The revert of the revert is needed to restore the original
code and prepare it for updating the wakelock mechanism.

8 years agoMove btsnooz.py script from Android Wear to the BT stack project.
Sharvil Nanavati [Thu, 21 Jan 2016 20:26:18 +0000 (20:26 +0000)]
Move btsnooz.py script from Android Wear to the BT stack project.
am: 1c50abb872

* commit '1c50abb87294b033d1604820d34ba5853d5bf253':
  Move btsnooz.py script from Android Wear to the BT stack project.

8 years agoUpdate btsnooz log file format to log ACL and SCO headers.
Sharvil Nanavati [Thu, 21 Jan 2016 20:26:14 +0000 (20:26 +0000)]
Update btsnooz log file format to log ACL and SCO headers.
am: e8c3dde6cf

* commit 'e8c3dde6cfec13e8a0b3f87397319eab4cb86ad5':
  Update btsnooz log file format to log ACL and SCO headers.

8 years agoMove btsnooz.py script from Android Wear to the BT stack project.
Sharvil Nanavati [Wed, 20 Jan 2016 17:14:47 +0000 (09:14 -0800)]
Move btsnooz.py script from Android Wear to the BT stack project.

Change-Id: I8368820b5ed9325d2c3b82885b9fe934c6bc87ca

8 years agoservice: Solve locking issues inside GATT interface
Jakub Pawlowski [Thu, 21 Jan 2016 00:24:03 +0000 (16:24 -0800)]
service: Solve locking issues inside GATT interface

ObserverList class handles adding/removing elements during iteration
by itself, therefore we don't need to do any locking.
Additionally, change lock type to shared for better performance, and
to avoid possible deadlocks that might be caused by calling HAL from
observers.

Change-Id: I4c372f1e03bd27a96bc6c036ab8ce34f5501c0a7

8 years agoUpdate btsnooz log file format to log ACL and SCO headers.
Sharvil Nanavati [Fri, 15 Jan 2016 21:41:56 +0000 (13:41 -0800)]
Update btsnooz log file format to log ACL and SCO headers.

Change-Id: I72db1769197150f34ebba6fcb9c0e3db2404f342

8 years agoFix build break in system/bt
Alex Vakulenko [Thu, 21 Jan 2016 03:51:10 +0000 (03:51 +0000)]
Fix build break in system/bt
am: c637b0c828

* commit 'c637b0c8287226c90d5b573080a7a3ef80f53a46':
  Fix build break in system/bt

8 years agoAdd socket tx/rx accounting
Adam Lesinski [Thu, 21 Jan 2016 03:51:05 +0000 (03:51 +0000)]
Add socket tx/rx accounting
am: 0620f9706d  -s ours

* commit '0620f9706d9aa06ba7f8982840eeb7ab2ad90e7a':
  Add socket tx/rx accounting

8 years agoFix build break in system/bt
Alex Vakulenko [Thu, 21 Jan 2016 03:04:32 +0000 (19:04 -0800)]
Fix build break in system/bt

This was due to libchrome uprev submitted earlier

Change-Id: Ic0f1bd80ff4563bd73754cd3b9fcd521e93616e7

8 years agoMerge "Add socket tx/rx accounting"
Adam Lesinski [Thu, 21 Jan 2016 02:22:04 +0000 (02:22 +0000)]
Merge "Add socket tx/rx accounting"

8 years agoAdd socket tx/rx accounting
Adam Lesinski [Thu, 3 Dec 2015 06:15:08 +0000 (22:15 -0800)]
Add socket tx/rx accounting

Records network traffic going over bluetooth sockets. This patch adds support
for L2CAP and RFCOMM.

Bug:26039657
Change-Id: Idb860b367b429fa5ef41d02684a5494a668ee8ed

8 years agoMerge "service/client: implement connect and disconnect methods"
Jakub Pawlowski [Thu, 21 Jan 2016 00:54:57 +0000 (00:54 +0000)]
Merge "service/client: implement connect and disconnect methods"
am: 5fbbf42c5f

* commit '5fbbf42c5fdf387d7a0ecab1a621161e7b382576':
  service/client: implement connect and disconnect methods

8 years agoAdd missing field to fake Bluetooth interface
Ajay Panicker [Thu, 21 Jan 2016 00:54:52 +0000 (00:54 +0000)]
Add missing field to fake Bluetooth interface
am: 1cbff4e542

* commit '1cbff4e5423999a89072869bcba27d6e1608a2ae':
  Add missing field to fake Bluetooth interface

8 years agoAdd socket tx/rx accounting
Adam Lesinski [Thu, 3 Dec 2015 06:15:08 +0000 (22:15 -0800)]
Add socket tx/rx accounting

Records network traffic going over bluetooth sockets. This patch adds support
for L2CAP and RFCOMM.

Bug: 26039657
Change-Id: Id30d69e4cd648f0e88ab23517e3b94f29b393995

8 years agoMerge "service/client: implement connect and disconnect methods"
Jakub Pawlowski [Thu, 21 Jan 2016 00:35:34 +0000 (00:35 +0000)]
Merge "service/client: implement connect and disconnect methods"

8 years agoservice/client: implement connect and disconnect methods
Jakub Pawlowski [Wed, 20 Jan 2016 01:07:53 +0000 (17:07 -0800)]
service/client: implement connect and disconnect methods

Change-Id: I141e8a1a917adfe7a2eb1c8adaf5e09fad9df5ac

8 years agobt: Update libchrome APIs to r369476
Alex Vakulenko [Wed, 20 Jan 2016 23:32:40 +0000 (23:32 +0000)]
bt: Update libchrome APIs to r369476
am: 57d7bf98ea

* commit '57d7bf98ea5f7a08c93c30f5d8a0e303d78ea432':
  bt: Update libchrome APIs to r369476

8 years agoAdd missing field to fake Bluetooth interface
Ajay Panicker [Wed, 20 Jan 2016 22:42:20 +0000 (14:42 -0800)]
Add missing field to fake Bluetooth interface

Bug: 26686093
Change-Id: I09867ae073fb32165c64bf9d306b699c6bc843ee

8 years agobt: Update libchrome APIs to r369476
Alex Vakulenko [Wed, 20 Jan 2016 15:52:34 +0000 (07:52 -0800)]
bt: Update libchrome APIs to r369476

The new libchrome has been ported from Chromium and some APIs have
changed. Make necessary changes at call sites.

Change-Id: I988157d3a6e36ede6561c0fa6919bb756e8ed3dd

8 years agoservice: Expose Connect and Disconnect through IBluetothLowEnergy
Jakub Pawlowski [Wed, 20 Jan 2016 22:06:12 +0000 (22:06 +0000)]
service: Expose Connect and Disconnect through IBluetothLowEnergy
am: 455dc8f535

* commit '455dc8f535a719af6a65a7512d90f9db878f5a58':
  service: Expose Connect and Disconnect through IBluetothLowEnergy

8 years agoservice: Expose Connect and Disconnect through IBluetothLowEnergy
Jakub Pawlowski [Wed, 20 Jan 2016 01:00:16 +0000 (17:00 -0800)]
service: Expose Connect and Disconnect through IBluetothLowEnergy

Change-Id: Idcfd3fac263e61bc1bb2be97017554d552511765

8 years agoMerge "Add Connect and Disconnect methods to LowEnergyClient"
Jakub Pawlowski [Wed, 20 Jan 2016 21:51:36 +0000 (21:51 +0000)]
Merge "Add Connect and Disconnect methods to LowEnergyClient"
am: 740bebde86

* commit '740bebde86a474a198ceecd2204bf20fd322e671':
  Add Connect and Disconnect methods to LowEnergyClient

8 years agoMerge "service: add HAL for connect/disconnect"
Jakub Pawlowski [Wed, 20 Jan 2016 21:51:32 +0000 (21:51 +0000)]
Merge "service: add HAL for connect/disconnect"
am: 648393fe8a

* commit '648393fe8ac781cf54c7680138905b8f7737d91b':
  service: add HAL for connect/disconnect

8 years agoMerge "Add Connect and Disconnect methods to LowEnergyClient"
Jakub Pawlowski [Wed, 20 Jan 2016 21:45:47 +0000 (21:45 +0000)]
Merge "Add Connect and Disconnect methods to LowEnergyClient"

8 years agoMerge "service: add HAL for connect/disconnect"
Jakub Pawlowski [Wed, 20 Jan 2016 21:45:40 +0000 (21:45 +0000)]
Merge "service: add HAL for connect/disconnect"

8 years agoAdd Connect and Disconnect methods to LowEnergyClient
Jakub Pawlowski [Wed, 20 Jan 2016 00:42:37 +0000 (16:42 -0800)]
Add Connect and Disconnect methods to LowEnergyClient

Change-Id: Ibabfd44575b7ab1c8fc7a57b844956038dd571c4

8 years agoSupport for A2DP Sink - Follow-up fix
Pavlin Radoslavov [Wed, 20 Jan 2016 18:52:40 +0000 (18:52 +0000)]
Support for A2DP Sink - Follow-up fix
am: 69a34362c6

* commit '69a34362c65533155578623d30845b04fa6285b1':
  Support for A2DP Sink - Follow-up fix

8 years agoSupport for A2DP Sink - Follow-up fix
Pavlin Radoslavov [Wed, 20 Jan 2016 18:41:01 +0000 (10:41 -0800)]
Support for A2DP Sink - Follow-up fix

Update the code so it matches the corresponding code in the internal tree.

Change-Id: I7cb143cde31e2cfca54b2172737cf262ae478186

8 years ago Support for A2DP Sink and Proper initialization of profiles
Anubhav Gupta [Wed, 20 Jan 2016 01:14:09 +0000 (01:14 +0000)]
 Support for A2DP Sink and Proper initialization of profiles
am: 6b84f291c4  -s ours

* commit '6b84f291c4edce7e4102efd8d4052a63bcb4b9dc':
  Support for A2DP Sink and Proper initialization of profiles

8 years agoservice: add HAL for connect/disconnect
Jakub Pawlowski [Wed, 20 Jan 2016 00:35:20 +0000 (16:35 -0800)]
service: add HAL for connect/disconnect

Change-Id: I05b86af68e05433241d0206b0952d859483dee80

8 years ago Support for A2DP Sink and Proper initialization of profiles
Anubhav Gupta [Tue, 5 May 2015 07:45:07 +0000 (13:15 +0530)]
 Support for A2DP Sink and Proper initialization of profiles

 - Register SDP and SEP (Stream End Point) for the profile
   whose init is called. We achieve this by making registration
   api aware of profile id being called.
 - Register A2DP Src + Avrcp Target + Avrcp Controller. We need
   to support Absolute Volume as well, so Avrcp Controller is
   required here.
 - Register A2DP Sink + Avrcp Controller. In this case we do not
   support absolute volume. Support would be added in AVRCP
   controller change
 - Adapter property is updated with profile ID for which init is
   called.This is required to make changes in btService for Profile
   initialization
 - Start listening for incoming AVRCP connection if we have
   only AVRCP Controller
 - Update default peer_features based on feature mask. In case
   of incoming AVRCP connection, SDP will be done later.
   In such a scenario default peer features sent to btif should
   be based on  features-set selected during initialization.
 - Drop Control, Meta and Browse commands when TG is not up.
 - Not to call AVRCP app callbacks when mentioned service is down.
 - Close audio socket on suspend

A2DP Sink: Support for AudioTrack

 - implemetation for audiotrack to take care of audio rendering
 - support for audio focus state in bluedroid

Bluetooth: Support for Avrcp 1.3  Controller

- support for SDP registration
- support for sending vendor dependant commands
- support for abs vol
- support for receiving vendor dependant response
- serialization of connection and rc_features callback

Avrcp_Ctrl: handling of commands and events for AVRCP Controller

- support of parsing cmd and event pdus
- timeout handling

Change-Id: I1e8d49b087eff6301373e1e90e8d868f15847c34

8 years agoresolve merge conflicts of 760fb7083b to master.
Andre Eisenbach [Fri, 15 Jan 2016 20:23:15 +0000 (12:23 -0800)]
resolve merge conflicts of 760fb7083b to master.

Change-Id: Ic5d10e4a80d53f916ec61e75d01a0e08df6114cf

8 years agoMake list_foreach() more useful
Andre Eisenbach [Thu, 14 Jan 2016 05:20:59 +0000 (21:20 -0800)]
Make list_foreach() more useful

- Changed |callback| return type to bool to be able to interrupt
  iteration (to find specific elements for example).
- Added new |extra| parameter for |callback| so a pointer can be passed
  in to receive output values or to pass in criteria etc.
- Also added unit tests.

Change-Id: Id1ddcbabf55292f701d0277f2a1e9ec261b9fbde

8 years agoDo not send AT+CHLD=? if the 3-way call feature is not supported
Devin Kim [Fri, 15 Jan 2016 02:21:17 +0000 (02:21 +0000)]
Do not send AT+CHLD=? if the 3-way call feature is not supported
am: 15df6d411e

* commit '15df6d411e871e2e1366a3599bb990ce0cb9aae1':
  Do not send AT+CHLD=? if the 3-way call feature is not supported

8 years agoDo not send AT+CHLD=? if the 3-way call feature is not supported
Devin Kim [Thu, 14 Jan 2016 01:37:57 +0000 (10:37 +0900)]
Do not send AT+CHLD=? if the 3-way call feature is not supported

The HF shall not issue the AT+CHLD=? test command in case
either the HF or the AG does not support the Three-way calling feature.
Currently HF sends AT+CHLD=? to AG device when SLC sequence on going.
It affects to SCO statemachine so that after going out of range and
coming back in range while active call alives, SCO state goes bad and
never comes back. This is out of specification of HFP and it should be
fixed by checking peer and local 3way call capability check.

Bug: 25703926
Change-Id: I66adac2345c6fb0df6741fdbfa67d9483fc38a00

8 years ago Support for A2DP Sink and Proper initialization of profiles
Anubhav Gupta [Tue, 5 May 2015 07:45:07 +0000 (13:15 +0530)]
 Support for A2DP Sink and Proper initialization of profiles

 - Register SDP and SEP (Stream End Point) for the profile
   whose init is called. We achieve this by making registration
   api aware of profile id being called.
 - Register A2DP Src + Avrcp Target + Avrcp Controller. We need
   to support Absolute Volume as well, so Avrcp Controller is
   required here.
 - Register A2DP Sink + Avrcp Controller. In this case we do not
   support absolute volume. Support would be added in AVRCP
   controller change
 - Adapter property is updated with profile ID for which init is
   called.This is required to make changes in btService for Profile
   initialization
 - Start listening for incoming AVRCP connection if we have
   only AVRCP Controller
 - Update default peer_features based on feature mask. In case
   of incoming AVRCP connection, SDP will be done later.
   In such a scenario default peer features sent to btif should
   be based on  features-set selected during initialization.
 - Drop Control, Meta and Browse commands when TG is not up.
 - Not to call AVRCP app callbacks when mentioned service is down.
 - Close audio socket on suspend

A2DP Sink: Support for AudioTrack

 - implemetation for audiotrack to take care of audio rendering
 - support for audio focus state in bluedroid

Bluetooth: Support for Avrcp 1.3  Controller

- support for SDP registration
- support for sending vendor dependant commands
- support for abs vol
- support for receiving vendor dependant response
- serialization of connection and rc_features callback

Avrcp_Ctrl: handling of commands and events for AVRCP Controller

- support of parsing cmd and event pdus
- timeout handling

Change-Id: I1e8d49b087eff6301373e1e90e8d868f15847c34

8 years agoservice: Implement IBinder.dump()
Marie Janssen [Thu, 14 Jan 2016 21:13:23 +0000 (21:13 +0000)]
service: Implement IBinder.dump()
am: dff1aa9fe7

* commit 'dff1aa9fe7d305a94e0de0e9d70ca22504fabcf0':
  service: Implement IBinder.dump()

8 years agoservice: Implement IBinder.dump()
Marie Janssen [Mon, 14 Dec 2015 20:12:57 +0000 (12:12 -0800)]
service: Implement IBinder.dump()

Add dump() support to BluetoothBinderServer and change IBluetooth
implementation to allow the system to call it correctly.

Bug: 26095165
Change-Id: I32ca78e37484b5d748b8caf4c293aafcf01dfbff

8 years agoMerge "service: Add RegisterTestClient"
Jakub Pawlowski [Thu, 14 Jan 2016 21:02:32 +0000 (21:02 +0000)]
Merge "service: Add RegisterTestClient"
am: f6e78042f7

* commit 'f6e78042f78ba5bd804a823193fef9206612858c':
  service: Add RegisterTestClient

8 years agoMerge "service: Add RegisterTestClient"
Jakub Pawlowski [Thu, 14 Jan 2016 20:51:24 +0000 (20:51 +0000)]
Merge "service: Add RegisterTestClient"

8 years agoservice: add scan support to bluetooth-cli
Jakub Pawlowski [Wed, 13 Jan 2016 23:58:52 +0000 (23:58 +0000)]
service: add scan support to bluetooth-cli
am: ba197a21d8

* commit 'ba197a21d810b0ef814ed9c23dd3b290613751c7':
  service: add scan support to bluetooth-cli

8 years agoservice: Add LE scan result support to Binder API
Arman Uguray [Wed, 13 Jan 2016 23:58:49 +0000 (23:58 +0000)]
service: Add LE scan result support to Binder API
am: 45480a0c51

* commit '45480a0c515da83d0b9d3488beea07a00b19aea1':
  service: Add LE scan result support to Binder API

8 years agoservice: Add LE scan support to Binder API
Arman Uguray [Wed, 13 Jan 2016 23:50:27 +0000 (23:50 +0000)]
service: Add LE scan support to Binder API
am: 6dc92022a0

* commit '6dc92022a02423778975e96363fcae787d47374a':
  service: Add LE scan support to Binder API

8 years agoservice: Add RegisterTestClient
Jakub Pawlowski [Wed, 13 Jan 2016 23:41:06 +0000 (15:41 -0800)]
service: Add RegisterTestClient

Extract registration code into separate helper, that'll be used in
tests that require more than one client.

Bug: 25744656
Change-Id: Ib3ceac8bba02cf1eb83f4265849ec423ad588e42

8 years agoservice: add scan support to bluetooth-cli
Jakub Pawlowski [Wed, 13 Jan 2016 19:28:08 +0000 (11:28 -0800)]
service: add scan support to bluetooth-cli

Adde the start-le-scan and stop-le-scan commands to
bluetooth-cli for testing.

Bug: 25744656
Change-Id: I02d42fcca071eebefd82f027cd9b89af27116a00

8 years agoservice: Add LE scan result support to Binder API
Arman Uguray [Thu, 3 Dec 2015 01:39:14 +0000 (17:39 -0800)]
service: Add LE scan result support to Binder API

Added Binder API documentation, bindings, and logic for BLE device
scan result.

Bug: 25744656
Change-Id: I5130a6b47438e266fab4a7b52b5372909824bc81

8 years agoservice: Add LE scan support to Binder API
Arman Uguray [Thu, 3 Dec 2015 01:39:14 +0000 (17:39 -0800)]
service: Add LE scan support to Binder API

Added Binder API documentation, bindings, and logic for BLE device
scans. Also added the start-le-scan and stop-le-scan commands to
bluetooth-cli for testing.

Bug: 25744656
Change-Id: I08c9d23ddd78cff1702495cf6d431cf5b9a7b894

8 years agoMerge "service: Add OnScanResult Delegate event."
Jakub Pawlowski [Wed, 13 Jan 2016 23:13:51 +0000 (23:13 +0000)]
Merge "service: Add OnScanResult Delegate event."
am: c18c15db15

* commit 'c18c15db150bf315226b2f4c1768605fdc983426':
  service: Add OnScanResult Delegate event.

8 years agoMerge "service: Add Start|StopScan API to LowEnergyClient"
Jakub Pawlowski [Wed, 13 Jan 2016 23:13:48 +0000 (23:13 +0000)]
Merge "service: Add Start|StopScan API to LowEnergyClient"
am: 7effa54c8f

* commit '7effa54c8fbe4cbf18a7d3fde99053b58e93f929':
  service: Add Start|StopScan API to LowEnergyClient

8 years agoMerge "service: Parametrize LowEnergyClient with Adapter for tests"
Jakub Pawlowski [Wed, 13 Jan 2016 23:13:43 +0000 (23:13 +0000)]
Merge "service: Parametrize LowEnergyClient with Adapter for tests"
am: a1bcabda3c

* commit 'a1bcabda3c80f0a95b49506554788d23636eb0a9':
  service: Parametrize LowEnergyClient with Adapter for tests

8 years agoMerge "service: Add OnScanResult Delegate event."
Jakub Pawlowski [Wed, 13 Jan 2016 23:00:59 +0000 (23:00 +0000)]
Merge "service: Add OnScanResult Delegate event."

8 years agoOffload config save functionality to BTIF thread
Srinu Jella [Wed, 13 Jan 2016 23:00:46 +0000 (23:00 +0000)]
Offload config save functionality to BTIF thread
am: 32b3a8a408

* commit '32b3a8a408b23aa28324ad9f56654c98fe2ac914':
  Offload config save functionality to BTIF thread

8 years agoMerge "service: Add Start|StopScan API to LowEnergyClient"
Jakub Pawlowski [Wed, 13 Jan 2016 23:00:35 +0000 (23:00 +0000)]
Merge "service: Add Start|StopScan API to LowEnergyClient"

8 years agoMerge "service: Parametrize LowEnergyClient with Adapter for tests"
Jakub Pawlowski [Wed, 13 Jan 2016 23:00:16 +0000 (23:00 +0000)]
Merge "service: Parametrize LowEnergyClient with Adapter for tests"

8 years agoOffload config save functionality to BTIF thread
Srinu Jella [Thu, 24 Dec 2015 12:10:52 +0000 (17:40 +0530)]
Offload config save functionality to BTIF thread

Offload config save functionality to btif thread from
timer thread as timer callback thread is critical in
a2dp playback case.

If the timer callback thread is busy in config save due
to IO operations, it may lead to a2dp audio choppy.

Fix to avoid the "bt_config.conf" file corruption from
the file system. This will avoid losing the paired
information in some corner case, such as abrupt power
off and on. This patch will ensure bt_config is saved to
NVRAM.

Bug: 24875861
CRs-Fixed: 953993
Change-Id: I893e9afefa89cbab6e7ddd8835ca77d3e316874c