History log of /system/bt/btif/src/bluetooth.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b974112d4481e3aa94bf788cbe1a1a7760e7efd9 09-May-2018 Hansong Zhang <hsz@google.com> Hearing Aid: Add dumpsys log for audio packet

Add log for audio drops from audio HAL and buffer overflow
Add log for device capabilities and HiSyncId

Sample output:

Hearing Aid Manager:
<device1> connected
binaural right 0x...
Packet counts (enqueued/flushed) : 73557 / 773
Frame counts (enqueued/flushed) : 73557 / 773
<device2> connected
binaural left 0x...
Packet counts (enqueued/flushed) : 74172 / 886
Frame counts (enqueued/flushed) : 74172 / 886
Hearing Aid Audio HAL:
Counts (underflow) : 0
Bytes (underflow) : 0
Last update time ago in ms (underflow) : 0

Test: manual
Bug: 69623109
Change-Id: I5021b9214828b1846506638000f29af7343a3354
(cherry picked from commit b596bb17140c7fc82c73c7db62308aa057cf9aee)
/system/bt/btif/src/bluetooth.cc
bbca0b4b0fe93000d1511b4b4d177a6d6a0e2070 03-May-2018 Ajay Panicker <apanicke@google.com> Add AVRCP native logging to dumpsys

Example output
AVRCP Target Native Service: 2 devices
d4:90:9c:0a:48:d0
Current Volume: 42
Current Browsed Player ID: -1
Registered Notifications:
Play Status
Last Play State: 2
Last Song Sent ID: ""
Current Folder: ""
MTU Sizes: CTRL=1020 BROWSE=332

Bug: 79167906
Test: adb shell dumpsys bluetooth_manager
Change-Id: I749dc3c568ac7793ac924ab1e46c3fc7ae42a260
(cherry picked from commit 774eb4c2554f766a77fcdcd0c37737b50fbe0452)
/system/bt/btif/src/bluetooth.cc
0c2c2fa87ba2a57ef48938e488dd662524660c9c 02-Apr-2018 Jack He <siyuanh@google.com> Metrics: Add metrics item for profile usage

Item A: Add messages to log profile connections
* Add ProfileUsageStats message in bluetooth.proto
* Add BluetoothProfileId enum to represent each profile
* Add num_times_connected item to log how many times a profile is
connected

Item B: Add messages to log headset profile connections for HSP and HFP
* Add HeadsetProfileConnectionStats message in bluetooth.proto
* Add HeadsetProfileType enum to represent each headset profile type
* Add num_times_connected item to log how many times each headset
profile is connected

* Add unit tests in metrics_tests
* Remove "clear" flag in various metrics dumping methods to make sure
that we clean up metrics every time we dump

Bug: 77476285
Test: make, net_test_osi, BtFunhausMetricsTest,
adb shell dumpsys bluetooth_manager --proto-bin
Change-Id: Ib18948c50ddb98ab7472f7b51a9bb98d153071c7
Merged-In: Ib18948c50ddb98ab7472f7b51a9bb98d153071c7
(cherry picked from commit 3277682289843134738a51708b5b4928479c36f6)
/system/bt/btif/src/bluetooth.cc
344f9e570b020bac3c346134c701308f008a741c 15-Mar-2018 Ajay Panicker <apanicke@google.com> Implement the JNI layer for the AVRCP Service (2/3)

Allows the AVRCP Service Interface to be retrieved via bt_interface_t.

Bug: 68854188
Test: Compile
Change-Id: I0d9464ea19d3bd382d07134bff057a5515501b95
(cherry picked from commit 66401790c29f13b30c15f035933366f36637df21)
Merged-In: I0d9464ea19d3bd382d07134bff057a5515501b95
/system/bt/btif/src/bluetooth.cc
89b0ccb03476a637c6e8dbe7d7d8c77057362d49 01-Mar-2018 Jakub Pawlowski <jpawlowski@google.com> Hearing Aid BTIF interface implementation

Boilerplate code - thread switching, logging and attaching to BTIF
infrastructure.

Test: manual with hearing aid
Bug: 69623109
Change-Id: I34a6542827a581a2fbe0b53e7220b7ff7ecbf540
/system/bt/btif/src/bluetooth.cc
9af0078f41f489059982614e8558536e100f9a1a 01-Feb-2018 Jack He <siyuanh@google.com> Metrics: Dump native metrics to Java as std:string

* Dump metrics to Java layer as std::string instead of going through a
file descriptor so that Java layer can process metrics data directly
* Add new method dumpMetrics(std::string*)

Bug: 33693818
Test: adb shell dumpsys bluetooth_manager --proto-bin
SL4A metrics tests: BtMetricsTest, BtFunhausMetricsTest
Change-Id: I67883c1371862d7e4ff33cec01d710d2d8f274c9
/system/bt/btif/src/bluetooth.cc
d752229b61663d1d68ec302c8d2074ef5086b973 25-Nov-2017 Pavlin Radoslavov <pavlin@google.com> Add support for Multi-A2DP state machines per device

* Reimplement most of the BTIF AV state machinery in C++
- Separate the BTIF AV Source from BTIF AV Sink state:
btif_av_source and btif_av_sink
- Remove the single btif_av_cb control block instance
- Add C++ based BtifStateMachine and remove the older C-based
btif_sm state machine
- Introduce C++ class BtifAvPeer to keep state per peer, and use
a single state machine instance per peer
- Update BTA_AvStart() and BTA_AvStop() to take tBTA_AV_HNDL handle
argument
- Register the BTA handles when enabling the Source/Sink service.
This needs to be done in advance during service startup, otherwise
a connection to a remote device will fail.
- Move local event_handler functions inside C++ ProcessEvent methods,
and pocess the BTIF, BTA AV and BTA AVRCP events per state machine
instance
- Cleanup callbacks and use do_in_jni_thread() to schedule the processing
- Add BTIF AV API that needs to be called by the AVRCP module for certain
AVRCP events: btif_av_avrcp_event_open(), btif_av_avrcp_event_close()
btif_av_avrcp_event_remote_play()
- Add a mechanism to set the active device
- Add BluetoothDevice argument to the codec-related internal Binder
APIs: getCodecStatus(), enableOptionalCodecs(),
disableOptionalCodecs(), setCodecConfigPreference()
- Rename btif_av_move_idle() to btif_av_acl_disconnected() and
refactor the processing to happen within each state machine on the
correct thread.
- Process cleanup_src and cleanup_sink on the JNI thread
- Add a mechanism to track the maximum number of connected devices.
- Add unit tests for the new BtifStateMachine class

* Redesign some of the AVDTP internals so it can handle multiple connected
devices
- Change some of the AVDTP struct entries to C++ classes.
This simplifies significantly the design fixes
- Reorganize the AvdtpScb entries: for each connection the
corresponding SEP entries are within the corresponding AvdtpCcb entry.
- Pass peer address as argument to the API functions inside bta_av_co.cc,
and update the peer address inside the corresponding peer entry in
bta_av_co.cc
- Add various log mesages
- Store precomputed BTA AV SCB index in the AvdtpCcb entry and use it as
appropriate.
- Fix the TCID computation and handling for the AvdtpAdaptationLayer
- Fix the computed value for AVDT_NUM_RT_TBL
- Remove video-related code inside AVDTP
- Refactor/cleanup hard-coded callbacks that depend on the BTA_AV_NUM_STRS
value.
- Update various #define values to support a larger number of connected
devices:
- Maximum number of streams:
BTA_AV_NUM_STRS: 2 -> 6
- BT_RC_NUM_APP: 1 -> 12 (AVRCP-related - 2 * MaxDevices)
- MAX_L2CAP_LINKS: 7 -> 13
- MAX_L2CAP_CHANNELS: 16 -> 32
- AVDT_NUM_LINKS: 2 -> 6
- AVDT_NUM_SEPS: (6 * AVDT_NUM_LINKS) -> 6
Now the value is used for the maximum number of SEPs per device
- AVDT_NUM_TC_TBL: 6 -> (AVDT_NUM_SEPS + AVDT_NUM_LINKS)
- AVCT_NUM_LINKS: 2 -> 6
- AVCT_NUM_CONN: 3 -> 14 (2 * MaxDevices + 2)

Also:
- Update the JNI codec-related calls to use const reference
instead of a pointer
- Update the implementation of bta_av_chk_2nd_start() so it is aligned
with bta_av_chk_start() and cleaned up both functions.
- Rename btif_dispatch_sm_event() to btif_av_dispatch_sm_event() and
btif_report_source_codec_state() to btif_av_report_source_codec_state()
for consistency with the rest of the BTIF AV API.
- Add new function btif_rc_is_connected_peer() and remove
btif_rc_get_connected_peer()
- Add new AVRCP header file btif/include/btif_rc.h
and move the AVRCP "extern" declarations from btif_av.cc there.
- Rename btif_av_execute_service() to btif_av_source_execute_service()
- Cleanup the btif_av.h API descriptions
- Print the BTIF AV state in the "dumpsys bluetooth_manager" output
- Print the BTA AV state in the "dumpsys bluetooth_manager" output
- Print the AVDTP state in the "dumpsys bluetooth_manager" output
- Refactor btif_a2dp_source_cb into a class with internal state.
- Refactor A2DP Source worker thread handling and replace it with
libchrome message handler
- Refactor BtaAvCo component (bta_av_co.cc)
- C++ classes and state
- Rename bta_av_co_audio_src_data_path to
bta_av_co_audio_source_data_path
- Remove most BTA_AV_CO_CP_SCMS_T checks
- Replace mutex_global_lock() usage with local mutex
- Keep codec-specific state per peer
- Keep state about the active peer - the first connected peer is the
default active peer
- Report source codec state only for valid peers; i.e., don't report
source codec state for empty RawAddress
- Keep the contect_protect_active flag per peer
- Print the BTA AV CO state in the dumpsys bluetooth_manager" output
- Misc cleanup in BTA AV
- Add ToString() method to struct btav_a2dp_codec_config_t
- Additional cleanup

Bug: 70350399
Test: Manual and unit tests
Change-Id: Icecd7fd44a222d939b63a7473a2239ae0679f08c
Merged-In: Icecd7fd44a222d939b63a7473a2239ae0679f08c
(cherry picked from commit c7242818d4180dec4eae2e75f9fb91f7f6a160aa)
/system/bt/btif/src/bluetooth.cc
12a576dc5f3e37ddba44a51994f613c11d88aaa8 15-Dec-2017 Jack He <siyuanh@google.com> HFP: Use objects for shared library interface and callbacks (1/2)

* Declare bluetooth::headset::Interface and
bluetooth::headset::Callbacks instead of using structs
* Put HFP related methods and types into bluetooth::headset namespace
* Rename those methods into CamelStyle according to Google C++ style
guide
* Remove the usage of HAL_CBACK in HFP as we only need to check if the
callback object is null and all its methods must be implemented as
mandated by rules of the pure virtual function
* These classes can be mocked during test to isolate behaviors
* Improved effort handling in btif_hf.cc to log error messages during
failures

Bug: 70538124
Test: unit tests, testplans/135585
Change-Id: Iba120ef9d0a9701aececd300395b7b18d2d44e7d
/system/bt/btif/src/bluetooth.cc
ff99791932fc1050693b21a5276eacba88964193 04-Dec-2017 Jack He <siyuanh@google.com> BTIF: Fix return types of interface getters

* They should return const pointer to interface structs
* Fixed return type for btif_rc_ctrl_get_interface, it should be
"const btrc_ctrl_interface_t*" but was "btrc_interface_t*". Later
casting masked this error, but it may hurt us in the future if not
fixed

Test: make
Change-Id: I41b2366cce68b1338761d84cef9ab986fd3334df
/system/bt/btif/src/bluetooth.cc
5b790feeeb211c42bf78ca3ae9c26aa30e516765 18-Sep-2017 Jakub Pawlowski <jpawlowski@google.com> Make copyright headers consistent with Google template; remove "(C)"

Test: Comment changes only; still compiles...
Change-Id: Id699a8170112f06e4a2c9f2e0f0834d1817ace4e
/system/bt/btif/src/bluetooth.cc
2d262d5e402a35a61f9351d324320f502732efc9 17-Oct-2017 Jakub Pawlowski <jpawlowski@google.com> Remove hw_module_t dependency in Bluetooth (1/3)

Bug: 67853426
Test: run Bluetooth
Merged-In: Ia3808552137d1f770f2c0305aaa01181f383d064
Change-Id: Ia3808552137d1f770f2c0305aaa01181f383d064
/system/bt/btif/src/bluetooth.cc
5d5fcf26d941315bf91056a7d634846820b7c02f 07-Oct-2017 Myles Watson <mylesgw@google.com> Manually convert to unary where coccinelle could not

Test: build
Change-Id: I7b5ea758b94bf225e8776f64256d644c3e96b198
/system/bt/btif/src/bluetooth.cc
b749ebde2c6a55569e4e480abda3a4ee3afe2d72 07-Oct-2017 Myles Watson <mylesgw@google.com> Use unary operator instead of == bool

Automatically generated with coccinelle:

@@
expression e1;
@@

-e1 == false
+!e1

@@
expression e1;
@@

-false == e1
+!e1

@@
expression e1;
@@

-e1 == true
+e1

@@
expression e1;
@@

-true == e1
+e1

Test: build
Change-Id: Ic7df0dc43b550594855e457466b6bccd8f3443a3
/system/bt/btif/src/bluetooth.cc
819e2ecb84a22d6e03ec9ed67b3260c0dd7e8aba 10-Jul-2017 Jakub Pawlowski <jpawlowski@google.com> Use one type for UUID (1/5)

Currently, we have few different representations for UUID in stack:
tBT_UUID, tSDP_UUID, bt_uuid_t, bluetooth:UUID, or uint8_t*.

Additionally, tBT_UUID and bt_uuid_t are used to hold UUID as 128bit
as Little Endian or Big Endian, depending on which part of stack (GATT
or SDP) is using it.

This patch is creating one type, bluetooth::Uuid, that will replace all
other types.

Bug: 66912853
Test: all sl4a tests for GATT and RFCOMM
Merged-In: Ia42d3233146db0488728ed6f878f99b368fe8838
Change-Id: Ia42d3233146db0488728ed6f878f99b368fe8838
/system/bt/btif/src/bluetooth.cc
a484a888196ddf8bcbf1ad3226d6451bc735a94b 25-Jun-2017 Jakub Pawlowski <jpawlowski@google.com> Rename bt_bdaddr_t into RawAddress (3/3)

Test: compilation test
Change-Id: I4571721a0c6165a66450ee157a53d8d15bfc45d0
/system/bt/btif/src/bluetooth.cc
c2276b06572ab6fc1f900fbb1f41087e77d47e2a 10-Jun-2017 Jakub Pawlowski <jpawlowski@google.com> Use bt_bdaddr_t instead of BD_ADDR

Test: compilation test, sl4a GattReadTest
Change-Id: I8d1bd6914aec55bb53495b1d0d5e3d37b86865e6
/system/bt/btif/src/bluetooth.cc
722ce12babbd3d1e814f6e704860699a0b726e4f 13-May-2017 Jack He <siyuanh@google.com> MCAP: Add test interface for PTS test (2/2)

* PTS tests requires MCAP APIs to be called at protocol level
* This CL creates a test interface to enable the above functionality

Bug: 37867299
Test: make, no user visible effect
Change-Id: I15cc6cc613ce8f7c57564296e45077ab877c269b
/system/bt/btif/src/bluetooth.cc
99c34224429dff42761b8629b9161872f1a1ab8d 18-Apr-2017 Ajay Panicker <apanicke@google.com> Limit btsnoop file size (5/8)

Limit btsnoop file size by rotating between snoop files. The rotation occurrs
when a fixed number of packets have been logged and will start overwriting
the older file.

Bug: 35998031
Test: Enable snoop logs from developer options and let logs get large
Merged-In: Ia8741223cb31b2c20d9ef5607e9204cc3946b165
Change-Id: Ia8741223cb31b2c20d9ef5607e9204cc3946b165
/system/bt/btif/src/bluetooth.cc
0b4f3f7efb2b64e931cea7460c742628b8d0b8c0 01-Feb-2017 Pavlin Radoslavov <pavlin@google.com> Add memory allocation statistics to the Bluetooth dumpsys output

The following memory allocation statistics are added to
the "dumpsys bluetooth_manager" output.
Those are tracking the allocations that are using the OSI malloc mechanism:
osi_strdup() / osi_strndup() / osi_malloc() / osi_calloc() / osi_free()

Bluetooth Memory Allocation Statistics:
Total allocated/free/used counts : 4063 / 3323 / 740
Total allocated/free/used octets : 922460 / 607941 / 314519

Test: Running "adb shell dumpsys bluetooth_manager"
Change-Id: Ibe1d28ec3a2acfd87cfaa10e5902ef3b596e64a8
/system/bt/btif/src/bluetooth.cc
f3175629208a64b190dde4dcf5f92cacef70d3e9 09-Dec-2016 Jack He <siyuanh@google.com> Fix A2DP metrics session duration

* Fixed A2DP duration counting. It is now counting from music play start
to music play end.
* Start logging a2dp connection as Bluetooth sessions. Currently, only
A2DP connections are logged. Thus the bluetooth session length will be
the total connection length and the length within A2DP session message
will be the audio connection length.
* Add a audio_duration_millis field in A2DPSession to record audio duration
* Add bonded memory constraint for metrics entries
* Use a builder mechanism to only build metrics upon dumping
* Refactor metrics module into BluetoothMetricsLogger class
* Created unit test for BluetoothMetricsLogger

Bug: 33694310
Test: Code compilation, Unit test, BtFunhausMetricsTest
Change-Id: Iea2a997c4ea074687a5d50860e9229f0e1b82659
/system/bt/btif/src/bluetooth.cc
5ce0116fbf5b530d5b93f11312096eade1021c1e 05-Dec-2016 Pavlin Radoslavov <pavlin@google.com> Add a mechanism for configuring the A2DP Source codecs

* Codec config internal abstraction:
- Add new classes A2dpCodecConfig and A2dpCodecs that (will)
encapsulate all codec-related APIs
- Add unit tests for the above two classes
- Add method A2dpCodecConfig.buildCodecConfig(), and use it when
creating the codec configuration instead of A2DP_InitSource2SinkCodec().
The new method can build the codec config by taking into account
optional user codec-related configuration preferences.
- Use the A2DP codec config API from the hardware/libhardware bt_av.h API
- Replace enum tA2DP_CODEC_SEP_INDEX with btav_a2dp_codec_index_t
from the bt_av.h API
- Move codec-specific functions from stack/include/a2dp_api.h
and stack/a2dp/a2dp_api.cc to stack/include/a2dp_codec_api.h
and stack/a2dp/a2dp_codec_config.cc
- Create a new base class A2dpCodecConfig() to hold some of the
codec-related state, and implement the corresponding A2dpCodecConfigSbc
and A2dpCodecConfigSbcSink derived classes.
- Move A2DP spec-related constants from stack/include/a2dp_api.h
to stack/include/a2dp_constants.h
- Move A2DP-related error codes from stack/include/a2dp_api.h
to stack/include/a2dp_error_codes.h
- Move A2DP SBC spec-related constants from stack/include/a2dp_sbc.h to
stack/include/a2dp_sbc_constants.h

* Implement the backend mechanism for handling user (re)configuration of
A2DP Source codecs as requested via the JNI API calls.
Also, any codec changes are reported back via JNI API callbacks.
The current audio parameter selection (sample rate, bits per
sample, channel mode - mono/stereo) is as follows:
- If the user selected parameters are acceptable (based on
local codec capability and the remote Sink capability),
those parameters are used.
- Else if the Audio HAL's requested parameters are acceptable,
those are used.
- Else if the default settings are acceptable, those are used.
- Else use the best match among the local and the remote device's
capabilities.

* Update the mechanism for handling OTA configuration requests from the
remote Sink device.
- The OTA prefered codec configuration is ignored if the current
codec configuration contains explicit user configuration, or if the
codec configuration for the same codec contains explicit user
configuration.

* Refactor the Audio HAL <-> Bluetooth audio parameter negotiation
mechanism:
The new mechanism gives some flexibility to the Media Framework to
choose the appropriate audio format (sample rate, bits per sample,
and channel mode - mono/stereo), and at the same time allows
the Bluetooth stack to double-check / overwrite the choice.
- out_get_parameters() on the Audio HAL side asks the Bluetooth stack
for all currently supported formats (for the current codec),
and returns them to the Media Framework: sample rate, bits per sample,
and channel mode (mono/stereo).
- The first time adev_open_output_stream() is called on the Audio HAL,
it asks the Bluetooth stack about the audio format currently selected
by the Bluetooth stack (based on codec negotiation with the Sink device,
and User Configuration).
- The second time adev_open_output_stream() is called on the Audio HAL,
its "config" will eventually contain the audio format selected
internally by the Media Framework. That audio format is sent to the
Bluetooth stack.
If that format is acceptable to the Bluetooth stack, the Bluetooth
stack will reconfigure itself internally, and will respond back with
those values. Otherwise, it will respond back with the values that
should be used instead.

* Misc other fixes and refactoring:
- Fix the BTA handling of A2DP codec reconfiguration
- Fix a bug in the implementation of A2DP_BitsSet(), and add the
approriate unit test. Also, fix the code that was using this function
incorrectly.
- The SBC encoder is compiled as a separate library
- Replace leftover usage of "false" with "FALSE" for macros, and
vice-versa for variable values.

Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: I440b6126e2250e33b0075f9789dd93154c007c2b
/system/bt/btif/src/bluetooth.cc
8843cc830b522cfe6f1e361297fc28fd331a1378 17-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HIDD: Add support for HID Device Role

This patch adds support for HID Device role in bluedroid stack allowing
DUT to be used as Keyboard or Mouse.

Bug: 33011576
Change-Id: I45b581a54f6c7bbc1f25226715a7ea23e34255c0
/system/bt/btif/src/bluetooth.cc
f2af1c42ccb2f642b241c2261b42d0be61d45438 13-Dec-2016 Jack He <siyuanh@google.com> Replace assert with CHECK from base/logging.h

* Replace assert with CHECK
* Remove all NDEBUG definitions
* Remove hacks for BT_LIBCHROME_NDEBUG
* Removed some removed directories from Makefile such as hcis, brcm, rpc

Coccinelle-assisted:

@@
@@

- #include "base/logging.h"
+ #include <base/logging.h>

@ assert_included @
@@

@ base_logging_included @
@@

@ depends on (assert_included && !(base_logging_included)) @
@@

- #include <assert.h>
+ #include <base/logging.h>

@ depends on (assert_included && base_logging_included) @
@@

- #include <assert.h>

@@
expression E;
@@

- assert(E);
+ CHECK(E);

And a bash script:

for file in $(find . -name "*.cc"); do
spatch --sp-file replace_assert_with_CHECK.cocci --in-place $file
done

The following files are maually edited:
btif/src/btif_config.cc
btif/src/btif_avrcp_audio_track.cc
btif/src/btif_gatt_client.cc
osi/src/data_dispatcher.cc
osi/src/reactor.cc
osi/src/thread.cc
osi/src/fixed_queue.cc
osi/src/list.cc
osi/src/allocation_tracker.cc
osi/src/alarm.cc
osi/test/wakelock_test.cc

Bug: 31781465
Test: Code compilation, Unit Tests, BtStressTest, BtFunhausMetricsTest
Change-Id: I21dc10a45be31665e41441b75b0515ed87523988
/system/bt/btif/src/bluetooth.cc
5eccd90936d606e0070872b247fd3462e9c9c19b 01-Dec-2016 Sanket Agarwal <sanketa@google.com> Implement multiple control blocks for HF Client in BTA/BTIF

Test: Manual test for multiple incoming/outgoing HF connections

Bug: b/30984220
Change-Id: If66cad7c9bbc92051ebb7efb2b352c10e7514af3
/system/bt/btif/src/bluetooth.cc
ee96a3c60fca590d38025925c072d264e06493c4 23-Nov-2016 Myles Watson <mylesgw@google.com> Fix asterisks in block quotes

Remove double asterisks from block quotes.

git grep -lP '^[*][*]' | xargs sed 's/^[*][*]/ \*/' -i

Fix asterisk line lengths

git grep -l '^[ /][*]\{79,\}[*/]' | \
xargs sed -i s,"^\([ /]\)[*]\([*]\{78\}\)[*]*\([*/]\)","\1\2\3",

Test: mma -j32
Change-Id: Ie3fd375ac2f804cb0f53bf1314a005e85973b3d7
/system/bt/btif/src/bluetooth.cc
9008888d24407541aa383aa4bd363a40abbf954b 16-Nov-2016 Myles Watson <mylesgw@google.com> Fix formatting after removing defines

clang-format -i --style=file bta/*/* btif/*/* include/*

Test: mma -j32
Change-Id: I9ebb32f0cc5bd24a7cb2ae25699999aab5036b13
/system/bt/btif/src/bluetooth.cc
9979121f0865e07432215529f9b157792ae3ef21 18-Nov-2016 Myles Watson <mylesgw@google.com> Remove BTA_GATT_INCLUDED

Test: Connect to a BLE Keyboard
Change-Id: I00393e2bf09fb65533e953896563e69aab5a22dc
/system/bt/btif/src/bluetooth.cc
84baa7f16e830394408278dbb8c508dd9fa02887 14-Nov-2016 Myles Watson <mylesgw@google.com> Remove BLE_INCLUDED define

Test: Connect to a BLE Keyboard
Change-Id: I5f8f4017c90c3c404004632fd10e6c2b93bd7783
/system/bt/btif/src/bluetooth.cc
d35a648d39710bbc5ac59f8add85166455af5af7 27-Oct-2016 Myles Watson <mylesgw@google.com> Remove deprecated UNUSED macro (1/5)

Generated automatically with coccinelle

/* This rule matches functions with arguments
* that have an UNUSED(arg) in the body.
*/
@r1@
identifier arg;
identifier fn;
type t;
parameter list[n] P;
@@

fn(P, const t arg) { ...
UNUSED(arg);
...
}

/* This rule removes the UNUSED line, and adds
* UNUSED_ATTR to the parameter list.
*/
@depends on r1@
identifier r1.arg;
identifier r1.fn;
type r1.t;
parameter list[r1.n] r1.P;
typedef UNUSED_ATTR;
@@

fn(P,
- const t arg
+ UNUSED_ATTR GETRIDOFTHISCOMMA, const t arg
) { ...
-UNUSED(arg);
...
}

Test: mma -j32

Change-Id: Idcaadd688d669d484e557becd050e69454508f3c
/system/bt/btif/src/bluetooth.cc
9a24711fd21b2bcab7d3ae67d0f34599f1eae4b1 26-Oct-2016 Colin Cross <ccross@android.com> Replace bluetooth protos with protobuf-lite

Use lite protobufs for bluetooth to remove dependency on
libprotobuf-cpp-full, which will be removed from the platform.

Requires dropping support for
adb shell dumpsys bluetooth_manager --proto-text
which requires full protobufs to call TextToString. The functionality
can be restored without adding a dependency on full protobufs with a
host protobuf decoder.

Bug: 32417805
Test: builds
Change-Id: Ifc9ee23264b1bfff3ad1f85ef4914f788028971a
/system/bt/btif/src/bluetooth.cc
6bd442f543972b072ef2cbbcf2f7c91202de1045 19-Oct-2016 Myles Watson <mylesgw@google.com> btif: Apply clang-format

clang-format doesn't understand block quotes of this form:

/* This is not handled well
** because there are two asterisks
**/

cd btif/

# Replace '**' at the beginning of the line with ' *'

sed 's/^[*][*]/ \*/' -i include/* src/* test/* co/*
clang-format --style=file -i src/* include/* test/* co/*

Test: mma -j32
Change-Id: I2477eae5480602d5b2fee5ec89c9ed7888022341
/system/bt/btif/src/bluetooth.cc
08406e93e6027082f8102df21f7e59f27c502c18 24-Sep-2016 Pavlin Radoslavov <pavlin@google.com> Split btif_media_task into Source, Sink and Control

* btif/include/btif_a2dp.h and btif/src/btif_a2dp.cc implement
the entry points for the BTIF A2DP module.

* btif/include/btif_a2dp_source.h and btif/src/btif_a2dp_source.cc implement
the BTIF A2DP Source component.

* btif/include/btif_a2dp_sink.h and btif/src/btif_a2dp_sink.cc implement
the BTIF A2DP Sink component.

* btif/include/btif_a2dp_control.h and btif/src/btif_a2dp_control.cc
implement the A2DP control mechanism for the audio channel from the
Media Framework.

Also:
* Removed BTA_AV_SBC_HDR_SIZE and used A2D_SBC_MPL_HDR_LEN instead.
* Removed BTIF_AV_SINK_FOCUS_REQ_EVT, because it is not used.
* Removed many of the "#if (BTA_AV_SINK_INCLUDED == TRUE)" guards.
* Removed "#ifdef USE_AUDIO_TRACK" guard, and always compile the
corresponding code.
* Removed tBTIF_AV_MEDIA_FEEDINGS_PCM_STATE and moved its state
to tBTIF_AV_MEDIA_FEEDINGS_STATE .

Bug: 30958229
Test: TestTracker/65192
Change-Id: I20bc52a1d7a7f03c92628a1562f14b7df3ebb445
/system/bt/btif/src/bluetooth.cc
cd03b046aa5b9aeff92b4eec2fb175c6551654f1 07-Oct-2016 Andre Eisenbach <eisenbach@google.com> Revert "Add dumpsys support for LE connection parameter updates"

Reverting for now after talking to Jacky because this causes circular dependencies as lower layer (stack/) functions are calling higher layer APIs (btif/) directly.

To restore a change like this, the data should be collected at a lower layer in the stack and reported through polling or a callback.

This reverts commit 8ec8ca4a875eed8b28e6714899f49781537411ae.

Change-Id: I748843864ae7198ea021fe70d2643a62097ab029
/system/bt/btif/src/bluetooth.cc
8ec8ca4a875eed8b28e6714899f49781537411ae 04-Aug-2016 Jacky Cheung <jackyc@google.com> Add dumpsys support for LE connection parameter updates

Change-Id: Ie203eec9d8efec0d55b1b10208c64a98449044a2
(cherry picked from commit 4e5514b69b95ee1416fb0d0b5e7783bcfe1612ab)
/system/bt/btif/src/bluetooth.cc
b7f64bc45dec7f7fec74ceb04874f322b9434bbf 22-Jun-2016 Marie Janssen <jamuraa@google.com> btif: standardize types, #ifs

Use standard types everywhere.
Use standard style for #if statements:
- #if (VAR_NAME == TRUE)
- #if (VAR_NAME1 == TRUE && VAR_NAME2 == TRUE)
Use __func__ instead of __FUNCTION__

Change-Id: Ic29d1d0b32c3ca9953752a4e5da6c28f45ec8895
/system/bt/btif/src/bluetooth.cc
713993d1784ab7c23aee1fa3cf1ab8676cc0aa69 21-Apr-2016 Jakub Pawlowski <jpawlowski@google.com> Convert BTIF code from C to C++

Modifications required:
* added proper casting
* moved variable definitions before goto statements
* added 'extern "C"' markers where needed
* renamed 'operator' to 'operator_name'

Bug: 28485365
Change-Id: I903357967387207e678866c02e008f047f8263f6
/system/bt/btif/src/bluetooth.cc