Commit Graph

114 Commits

Author SHA1 Message Date
Tedd Ho-Jeong An
44b4662529 android: Add SPDX License Identifier
This patch adds SPDX License Identifier and removes the license text.

-------------------------------------
       License            COUNT
-------------------------------------
 Apache-2.0           :     80
 LGPL-2.1-or-later    :     42
 GPL-2.0-or-later     :      9

License: Apache-2.0
   android/bluetoothd-wrapper.c
   android/tester-hidhost.c
   android/tester-map-client.c
   android/hal-audio-aptx.c
   android/hal-audio.c
   android/hal-handsfree-client.c
   android/tester-gatt.c
   android/hal-pan.c
   android/hal-socket.c
   android/tester-hdp.c
   android/tester-pan.c
   android/tester-avrcp.c
   android/hal-a2dp-sink.c
   android/hal-gatt.c
   android/hal-avrcp.c
   android/tester-a2dp.c
   android/hal-audio.h
   android/hal-bluetooth.c
   android/tester-socket.c
   android/hal-health.c
   android/hal-a2dp.c
   android/hal-ipc.c
   android/hal-avrcp-ctrl.c
   android/hal-sco.c
   android/hal-ipc.h
   android/tester-main.c
   android/hal-audio-sbc.c
   android/hal-utils.c
   android/hal-map-client.c
   android/hal-handsfree.c
   android/hal-log.h
   android/hal.h
   android/hal-utils.h
   android/tester-bluetooth.c
   android/hal-hidhost.c
   android/audio_utils/resampler.h
   android/audio_utils/resampler.c
   android/system/audio.h
   android/hardware/bt_sock.h
   android/hardware/bt_gatt_client.h
   android/hardware/bt_hh.h
   android/hardware/bluetooth.h
   android/hardware/hardware.h
   android/hardware/bt_hf_client.h
   android/hardware/bt_rc.h
   android/hardware/bt_hf.h
   android/hardware/bt_pan.h
   android/hardware/bt_gatt_types.h
   android/hardware/hardware.c
   android/hardware/audio_effect.h
   android/hardware/audio.h
   android/hardware/bt_gatt_server.h
   android/hardware/bt_gatt.h
   android/hardware/bt_hl.h
   android/hardware/bt_mce.h
   android/hardware/bt_av.h
   android/client/if-hh.c
   android/client/if-sco.c
   android/client/pollhandler.h
   android/client/haltest.c
   android/client/tabcompletion.c
   android/client/if-hf-client.c
   android/client/history.h
   android/client/if-audio.c
   android/client/terminal.h
   android/client/if-av.c
   android/client/if-main.h
   android/client/if-av-sink.c
   android/client/terminal.c
   android/client/if-mce.c
   android/client/if-hf.c
   android/client/pollhandler.c
   android/client/if-sock.c
   android/client/if-rc-ctrl.c
   android/client/if-rc.c
   android/client/history.c
   android/client/if-pan.c
   android/client/if-gatt.c
   android/client/if-bt.c
   android/client/if-hl.c

License: LGPL-2.1-or-later
   android/sco.h
   android/socket.c
   android/tester-main.h
   android/hidhost.h
   android/map-client.h
   android/utils.h
   android/hal-msg.h
   android/health.h
   android/avrcp-lib.c
   android/bluetoothd-snoop.c
   android/a2dp.c
   android/bluetooth.h
   android/a2dp-sink.c
   android/handsfree-client.c
   android/audio-msg.h
   android/main.c
   android/pan.c
   android/ipc-tester.c
   android/health.c
   android/socket.h
   android/handsfree.h
   android/avrcp-lib.h
   android/a2dp-sink.h
   android/system-emulator.c
   android/gatt.c
   android/avrcp.h
   android/pan.h
   android/test-ipc.c
   android/hidhost.c
   android/a2dp.h
   android/avrcp.c
   android/sco-msg.h
   android/bluetooth.c
   android/map-client.c
   android/handsfree-client.h
   android/ipc.c
   android/handsfree.c
   android/gatt.h
   android/ipc.h
   android/ipc-common.h
   android/compat/wordexp.h
   android/cutils/properties.h

License: GPL-2.0-or-later
   android/avdtp.h
   android/avctp.c
   android/avdtptest.c
   android/sco.c
   android/log.c
   android/avdtp.c
   android/avctp.h
   android/compat/readline/history.h
   android/compat/readline/readline.h
2020-09-21 16:19:33 -07:00
Bastien Nocera
66cab3c867 android/hal-bluetooth: Fix unaligned struct access
android/hal-bluetooth.c: In function ‘set_adapter_property’:
android/hal-bluetooth.c:659:46: error: taking address of packed member of ‘struct hal_cmd_set_adapter_prop’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
  659 |  adapter_prop_from_hal(property, &cmd->type, &cmd->len, cmd->val);
      |                                              ^~~~~~~~~
2019-05-13 20:23:45 +03:00
Marcel Holtmann
261948090e build: Move declaration of _GNU_SOURCE back into individual source files 2018-12-06 21:28:18 +01:00
Atul Rai
0bd5677f92 android/hal-bluetooth: Fix NULL ptr dereference
Add NULL check on malloc return to fix NULL pointer dereference
in case malloc fails.
2015-07-27 21:19:22 +02:00
Szymon Janc
aae8b515c5 android/socket: Add support for dynamic MAP record
Android 5.0 uses service name (sic!) for defining instance ID and
supported message types. Name passed is in format of "XXYYname"
where XX is hex coded instance and YY is hex coded message types
mask.

This patch adds new mode for Socket HAL in which daemon tries to
extract instance ID and message types from service name.
2014-12-10 14:31:55 +01:00
Szymon Janc
42f16f8db0 android: List all enum values in switch
As described in coding style M10.
2014-12-08 14:00:29 +01:00
Luiz Augusto von Dentz
6dfd0d376f android: Fix crash on android-tester
When doing the HAL cleanup the callbacks should be reset to NULL
after calling hal_ipc_unregister otherwise an handler may be called
leading to invalid reads:

BlueZ D: android/hal-a2dp.c:cleanup()
bluetoothd[2624]: android/avdtp.c:connection_lost() Disconnected: Input/output error (5)
bluetoothd[2624]: android/avdtp.c:avdtp_ref() 0x5841900: ref=2
bluetoothd[2624]: android/a2dp.c:bt_a2dp_notify_state() device 00:AA:01:01:00:00 state 0
==2564== Thread 3:
==2564== Invalid read of size 8
==2564==    at 0x6B66B47: handle_conn_state (hal-a2dp.c:38)
==2564==    by 0x6B6CDB3: notification_handler (hal-ipc.c:125)
==2564==    by 0x5368EE4: start_thread (in /usr/lib64/libpthread-2.18.so)
==2564==    by 0x5672B8C: clone (in /usr/lib64/libc-2.18.so)
==2564==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
2014-12-03 13:59:13 +02:00
Jakub Tyszkowski
5233686985 android/hal: Add HAL for A2DP Sink role
This role was introduced with some devices in Android 5. The same set
of IPC structs and defines is used as in Sink as it uses the same HAL
API as Source does, but just yet another instance of HAL.
2014-11-25 20:56:56 +01:00
Marcin Kraglak
963def3015 android/hal-bluetooth: Implement read_energy_info 2014-11-24 15:25:45 +01:00
Marcin Kraglak
64f08bc02b android/hal-bluetooth: Implement get_connection_state 2014-11-24 15:08:41 +01:00
Luiz Augusto von Dentz
d21b8db341 android: Fix not setting max_clients
If max_clients is not set the ipc send uninitialized bytes.
2014-11-17 11:23:44 +02:00
Ravi kumar Veeramally
470285fc72 android/hal-avrcp: Add suuport for new AVRCP ctrl interface 2014-11-11 10:47:13 +02:00
Andrei Emeltchenko
e6fb089c50 android: Remove temporary BLUEZ_EXTENSION flag
BLUEZ_EXTENSION is replaced by ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
check.
2014-11-07 12:51:27 +01:00
Andrei Emeltchenko
0a16bd7b78 android/hal-bluetooth: Add missing functions
Add missing HAL functions for new Android version
2014-11-04 14:53:04 +01:00
Andrei Emeltchenko
f91de76948 android/hal-bluetooth: Add parameter to create_bond
Add parameter to create_bond following new bluetooth.h HAL, transport is
defined in bluedroid include/bt_types.h. Bluetooth daemon shall check
transport parameter and make needed decisions, by default parameter is
unknown and this is the way bluedroid manage it itself.
2014-11-04 14:53:04 +01:00
Grzegorz Kolodziejczyk
ca9366619b android/hal-map-client: Add skeleton for MAP client HAL
This adds skeleton with stubs and proper build system entries.
2014-10-08 14:45:20 +02:00
Szymon Janc
1a98599fd2 android: Add support for FW and HW revision config options 2014-10-02 15:48:52 +02:00
Szymon Janc
095ecf52fa android: Add support for more configuration options
This adds support for system ID, serial number and PnP ID options.
2014-10-02 15:48:51 +02:00
Szymon Janc
0c4a249552 android/hal-bluetooth: Fix wrong length in configuration command
HAL was sending extra byte at the end of command. Refactor code to
use pointer + offset and avoid less intuitive pointers subtraction.

Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s)
   at 0x53529BD: ??? (syscall-template.S:81)
   by 0x6D96197: hal_ipc_cmd (hal-ipc.c:369)
   by 0x6D8D41E: send_configuration (hal-bluetooth.c:453)
   by 0x6D8EC16: init (hal-bluetooth.c:489)
   by 0x412B20: setup (tester-main.c:1411)
   by 0x40CE05: setup_callback (tester.c:394)
   by 0x5083CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/
    libglib-2.0.so.0.4000.0)
   by 0x5084047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0)
   by 0x5084309: g_main_loop_run (in /lib/x86_64-linux-gnu/
    libglib-2.0.so.0.4000.0)
   by 0x40DB4C: tester_run (tester.c:815)
   by 0x40259E: main (tester-main.c:2335)
 Address 0xffefffe31 is on thread 1's stack
2014-09-23 10:51:57 +02:00
Szymon Janc
bc5b5fdf13 android: Use helper for accesing Android properties 2014-09-22 16:31:09 +02:00
Szymon Janc
6024744b9e android/hal-bluetooth: Add support for sending configuration 2014-09-22 16:31:08 +02:00
Lukasz Rymanowski
8809f1970e android/handsfree-client: Add handsfree-client HAL skeleton
This patch also introduce BLUEZ_EXTENSIONS flag which is used for not
Android AOSP features like HF Client in this case.

Idea is that BfA for PC is always build with this flag and it is added
to Makefile.am

For Android there is need to set this flag as described in README
2014-09-18 16:36:04 +02:00
Luiz Augusto von Dentz
697110ce07 android: Fix using plain integer as NULL pointer 2014-07-03 11:41:05 +03:00
Szymon Janc
7b78c20b7e android/hal-ipc: Pass FD to notification handlers 2014-06-12 13:04:31 +02:00
Szymon Janc
02dc1cdd60 android/hal-ipc: Move daemon starting to bluetooth HAL 2014-06-12 13:04:31 +02:00
Szymon Janc
1c393c18d0 android/hal-ipc: Split IPC init and accept to separate functions
This allows to perform custom action between listening and accepting
eg starting bluetoothd.
2014-06-12 13:04:31 +02:00
Szymon Janc
d8c3723d70 android/hal-ipc: Allow to pass custom path to IPC 2014-06-12 13:04:30 +02:00
Szymon Janc
c7cd6e4361 android/hal-bluetooth: Use compact syntax for event handlers 2014-06-10 14:56:29 +02:00
Szymon Janc
7a2d604673 android: Make multi-line comments style consistent
Use common style for multi-line comments consistent with rest of
codebase.
2014-04-29 13:31:00 +02:00
Lukasz Rymanowski
1090705817 android/bluetooth: Make possible to start BlueZ in a single mode
This patch adds possibility to start BlueZ in LE or BR/EDR mode
when having dual mode chip below.
2014-04-24 10:32:47 +02:00
Szymon Janc
45eb43e85e android: Fix some random code style issues
Fix whitespace problems and not needed empty lines.
2014-03-20 15:36:52 +01:00
Szymon Janc
5409c16e84 android/hal-bluetooth: Fix passing uninitialized mode on init
This fix following Valgrind report:
Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s)
   at 0x534823D: ??? (syscall-template.S:81)
   by 0x5F68689: hal_ipc_cmd (hal-ipc.c:357)
   by 0x5F6240B: init (hal-bluetooth.c:437)
   by 0x4128C0: setup_base (android-tester.c:2594)
   by 0x40DDE5: setup_callback (tester.c:380)
   by 0x50803B5: g_main_context_dispatch (in /lib/x86_64-linux-gnu/
     libglib-2.0.so.0.3800.1)
   by 0x5080707: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3800.1)
   by 0x5080B09: g_main_loop_run (in /lib/x86_64-linux-gnu/
     libglib-2.0.so.0.3800.1)
   by 0x40EA0C: tester_run (tester.c:798)
   by 0x404475: main (android-tester.c:4864)
 Address 0x7ff0002b1 is on thread 1's stack
2014-03-14 14:42:12 +01:00
Ravi kumar Veeramally
d7e5e16a36 android/hal-health: Add hal-health.c with initial get interface call 2014-03-14 13:34:16 +01:00
Szymon Janc
412f893256 android/hal: Update services register commands with mode parameter 2014-03-04 10:18:27 +01:00
Jakub Tyszkowski
90ce3b7bfc android/hal-gatt: Add skeleton for GATT HAL
This adds skeleton with stubs and proper build system entries.
2014-03-03 16:11:07 +01:00
Szymon Janc
7d95d027b1 android: Create comon header for IPC
This header contains IPC specific structures and code not related to
BT and audio HAL protocols. This allows to fully decouple IPC from
HAL messages.

This is first step to make HAL part of IPC unit-testable and reusable
between BT HAL and audio HAL.
2014-02-28 15:22:45 +01:00
Szymon Janc
aa887bf05a android: Update socket service id name to match service name 2014-02-24 13:45:09 +01:00
Szymon Janc
4d28eb85b7 android/hal-bluetooth: Use fixed size buffers for commands
This make code follow same conventions for all commands.
2014-02-21 11:18:37 +01:00
Szymon Janc
c3b4322d18 android/hal-socket: Match functions names with HAL name 2014-02-19 18:37:03 +01:00
Szymon Janc
db17fbe467 android/handsfree: Add initial files
This adds initial HAL and daemon code for Handsfree profile.
2014-02-05 09:53:53 +01:00
Luiz Augusto von Dentz
44ef6f0c4c android: Add initial skeleton for AVRCP in the HAL 2014-01-26 16:19:24 -08:00
Szymon Janc
89008b789f android/hal: Update property used for start/stop services 2014-01-17 20:41:45 +01:00
Szymon Janc
8622810347 android: Remove support for old Android versions
This removes compatibility with Android 4.3 and older. Android 4.4 is
current target. Due to bug in Audio HAL in 4.2 build was failing on
that version anyway.
2014-01-14 12:57:18 +01:00
Szymon Janc
c927bb6db3 android/hal-bluetooth: Add debug print to config_hci_snoop_log
Improves debugs and make it consistent with other methods.
2014-01-01 18:28:50 +02:00
Szymon Janc
4758660275 android/hal-bluetooth: Update snoop service name
Match service name with android snoop binary name. It is more common
to use '-' instead of '_' in the code for binaries name.
2014-01-01 18:27:58 +02:00
Szymon Janc
c192841088 android/bluetooth: Remove not needed local variable
Both manufacturer and sub_version already have correct type and struct
is marked as packed so there is no need to memcpy to temp variable.
2013-12-20 15:23:54 +02:00
Szymon Janc
b6b3ff89c9 android/bluetooth-hal: Fix using wrong struct for buffer size
Buffer is for hal_cmd_le_test_mode command.
2013-12-20 15:23:43 +02:00
Andrei Emeltchenko
40cef67567 android/hal-bluetooth: Free device on close() 2013-12-20 14:20:25 +02:00
Szymon Janc
2ce7e74bbb android/hal-bluetooth: Add support for device service record property
This allows to correctly handle device service record property.
2013-12-20 12:57:26 +02:00
Szymon Janc
9690e662ce android/hal-bluetooth: Add support for remote version info property
This allows to correctly handle remote version info property. Although
this property is marked as get/set in HAL only get is implemented as
I fail to see how this property could be settable.
2013-12-20 12:57:24 +02:00