Age | Commit message (Collapse) | Author | Files | Lines |
|
Rework the adapter detection logic in the helper thread to use the
initialization done signal to the main process to indicate that basic
BlueZ D-Bus initialization has completed, then loop forever looking
for an adapter as opposed to just trying once. This improves the
behavior with hardware such as the TI Wilink chipset or the Broadcom
chipset on Raspberry Pi 4, where the firmware loading delay may
result in the HCI device not actually being available yet when the
binding is started.
Bug-AGL: SPEC-4060
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I1da5c2e3168acd0f8f55dc75c2408647d03c0a4e
(cherry picked from commit c301f67772c2a2c643dd47b2291f0c971f8006ce)
|
|
Update the .gitreview file.
Change-Id: Ia78fad661872daf21f4c08596de508b72663af33
Bug-AGL: SPEC-4006
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
|
|
In get_pincode function there was a problem as below:
when the set_pincode verb is not called so in the DB we have not any pincode then for pairing it should use default pincode as 1234
in the get_pincode function when is called read verb from persistence, if pincode does not exist the pincode variable is NULL so we should check the pincode variable and if is NULL, we should assign default value as 1234
Bug-AGL: SPEC-3814
Signed-off-by: Saman Mahmoodi <mahmoudi.saman1@gmail.com>
Change-Id: I5f72834d2dcd8ecd3861fc894f4b1a7ebd7efc04
|
|
json structure allocating code should be placed in where it is used, if
there is a condition check which may cause a return before the
before-mentioned place in the function.
Bug-AGL: SPEC-3584
Change-Id: Ibbcae4357c6011eff29d031a853c8a0435f0a5ce
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Bug-AGL: SPEC-3785
Change-Id: I792bac4fe96228840eb5d43abdc4a364d2127207
Signed-off-by: saman <mahmoudi.saman1@gmail.com>
|
|
It is possible the bluez player does not assign to default bluez player (player0) and assign to other player such as playerN.
For fixing this issue we can access to correct bluez player from "Player" property in "org.bluez.MediaControl1" interface.
By reading Player property on "org.bluez.MediaControl1" interface we could access to player path and ther is not need to define a const string variable like "player0"!
Bug-AGL: SPEC-3722
Signed-off-by: saman <mahmoudi.saman1@gmail.com>
Change-Id: I8a5f948c511bbb61ccc67db09ad17aeb02ab5bd1
|
|
Add new bluetooth permission to config.xml.in to yield a dependency
on the systemd bluetooth.target target, this helps avoids some of the
races observed with BlueZ start up. Since BlueZ seems to start up
asynchronously, this change on its own does not fix all race issues,
but the additional constraint should make it easier to handle the
remaining issues that are seen.
Bug-AGL: SPEC-3509
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ib47693addf818b58a3577d1dce9cd5dc872a3e80
|
|
Update algorithm to select bt adapter from bluez's
list of available adapters:
1) use system default (default_adapter); if not
found then
2) fallback to first available adapter from the
list; if the list is empty then
3) fallback to no adapter present scenario.
Bug-AGL: SPEC-3577
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ifb35070a42a2306cc867993a22bcbb730803c33d
|
|
Adding outgoing pairing request with another BT device when we call pair verb.
"RequestPinCode" is handled as xml into bluetooth-agent.c to confirm a pincode and send it to BT device when we call pair request from AGL device to other device.
Bug-AGL: SPEC-3610
Signed-off-by: saman <mahmoudi.saman1@gmail.com>
Change-Id: I4fa8c9ab5d3bbf323cee7645f217bb1056d93b65
|
|
If not provide a new adapter or if new adapter is the same one with
default, reply with existing defalut adapter.
At the same time, clean some unnecessary code, following up the change
of
https://gerrit.automotivelinux.org/gerrit/c/apps/agl-service-bluetooth/+/25292
Bug-AGL: SPEC-3577
Change-Id: If3cbf8d1fb36a144f321db1056c38fd335ef9a28
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Add logic to create an entry for 'default_adapter'
in the persistence database.
This will enable having the stored value available
between power up/power down cycles.
Bug-AGL: SPEC-3577
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I158dcc1d37ccaf8dfe5d53e262f0619ad780c26a
|
|
log:
[ 22%] Building C object binding/CMakeFiles/afm-bluetooth-binding.dir/bluetooth-api.c.o
/home/devel/xds-workspace/app/agl-service-bluetooth/binding/bluetooth-api.c: In function ‘bluetooth_get_adapters_count’:
/home/devel/xds-workspace/app/agl-service-bluetooth/binding/bluetooth-api.c:540:9: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return count;
^~~~~
Change-Id: I05263a24322e928d5cd5dfdddec68372eeff3e62
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
If these two args are not provided, the bluetooth service will use
mediaplayer_path instead of the path generated by function return_bluez_path().
Explanation of function return_bluez_path():
- File:bluetooth-util.c:
- Function: gchar *return_bluez_path(afb_req_t request).
- Description:
read argument of "adapter" and "device", combine them to generate a
bluze path and return this path value. Return NULL if device is not
specified.
Change-Id: I75727e266cd984620cac410ca6e030d2db8514dc
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
These verbs depends on the context and cannot execute at this moment, so
this patch will only complete the missing ones on paper in this phase.
The future work of adding extra condition code to optimise these verbs
is on schedule.
Bug-AGL: SPEC-3458
Change-Id: I6948b335bc1f2a486767fd0292f2c62068adfd56
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
When running in qemu, there seems to be a rare race condition
where the timeout waiting on BlueZ during init happens with the
timing such that bluetooth_func doesn't finish before init returns,
resulting in an invalid access to the init_data structure that was
on the init function's stack. To fix this, init_data is now
allocated and refcounted using glib's atomic refcounted memory
allocator API.
Bug-AGL: SPEC-3301
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I1ea8831ca5c008a2916909671e62cbd770906e5e
|
|
This change should have been part of commit c5db00e,
but was by mistake left behind. This change includes
guards against null pointers in case of a system with
no bluetooth adapter.
Bug-AGL: SPEC-3301
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I01cf72515a8e1e28fa26974927adb605c1a06dbd
|
|
Coz agl-service-bluetooth has no version verb, this will report a fail
case in bluetooth service test wgt.
Bug-AGL: SPEC-3458
Change-Id: Ia737f58a7c34e2ccfa92ca02db9a523faa85840c
Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
During start up, there are races between the
bluetooth, persistence, bluetooth-map and
bluetooth-pbap bindings; on top of it, in the
case there's no bluetooth controller in the system,
various key parameters can exhibit a null value.
The combination of these races and the lack of
bluetooth controller can manifest in a number of
segfaults in the bluetooth binding (it's very easy
to reproduce on qemu).
This commit brings in several changes to make the
bluetooth binding resilient to the races and lack
of bluetooth controller:
* on startup, retrieve the default adapter from
the persistence binding from the init thread
* store the system default adapter in the service
init data structure, and store the active adapter
in the bluetooth state structure.
* update get_default_adapter to return value
obtained from persistence biding, without further
processing;
* add guards to make sure the userdata retrieved
from the application framework is valid;
* on verbs processing, ensure the caller provides
an adapter to apply the verb to, or that at least
there's a valid adapter associated to the
bluetooth state structure;
* initialize agent_data's device_path following free
operation;
* add guards for mediaplayer_path.
Bug-AGL: SPEC-3301
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ia5a0dc9a61024ff43cd247216d0dff6918046f7e
|
|
The initialization sequence for dbus services is not
fixed, and some races have been observed between
blutoothd and agl-service-bluetooth when running on
qemu: sometimes Bluetooth-Manager can be ready before
org.bluez and this results in reporting no adapter,
even though it's not accurate.
Also, although this issue has been seen only using qemu,
the race is there and it could also manifest in
other platforms with a bluetooth controller attached.
This patch simply provides the logic to discern between
'no org.bluez service found' and 'no bluetooth
controller present':
- in the case of no org.bluez
service detected, an error is returned to allow for
retries,
- in the case of no controller present, no error is
returned and agl-service-bluetooth completes the
initialization.
Bug-AGL: SPEC-3301
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I4868803bcfbd36fb65028cea5c997c4f174675a0
|
|
Only unregister agent on exit path if it had been
registered beforehand.
Bug-AGL: SPEC-3301
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I60fc2af01800521e0d5b026dbf7404b445eff6f9
|
|
Add logic to obtain the number of bluetooth
controllers in the system, if there's at least
one, then apply the existing logic: register the
agent, etc; if there's none, simply add a line to
record this case in the journal, skip agent
registration and signal that the Bluetooth-Manager
service initialization completed without errors, to
keep the service running.
Also fixed indentation on 2 lines on the same file
where the mentioned changes are applied:
binding/bluetooth-api.c.
Bug-AGL: SPEC-3301
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I43a7aac709845bef71295ebd470546f252db8fa0
|
|
Update autobuild scripts with reworked version that fixes building
outside of the source tree.
Bug-AGL: SPEC-2049, SPEC-3300
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I5308eaf34f4bf209903601f4600bdbfcd0fd8d1c
|
|
Update autobuild script to create multiple widget target debug, coverage and all
Bug-AGL: SPEC-2049
Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
Change-Id: I0b9b81355ff36a5217364df75b7b72bbc891e01f
|
|
No other applications/bindings check the version verb to figure
which schema version to use.
Bug-AGL: SPEC-3156
Change-Id: I5baea8d7a38101bc9378f90c40981e73074ed558
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
This updates the gitreview file in the project
.
Change-Id: I48193cc394bf6602281654794c8efed4fe0dfe84
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
|
|
Bug-AGL: SPEC-2795
Change-Id: I12522a7adf2d0582495fc14a8a7af6324c7b4681
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Appfw docs:
"required-api local": OBSOLETE SINCE FF (AGL6), PROVIDED FOR
COMPATIBILITY.Use the feature urn:AGL:widget:required-binding instead.
Bug-AGL: SPEC-2781
Change-Id: I1ccff7deb59208e1a74747add299d4208cdb19fd
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
/work/agl-service-bluetooth/binding/bluetooth-util.c:170:14: warning:
integer overflow in expression ‘-2147483648’ of type ‘long int’
results in ‘-2147483648’ [-Woverflow]
if (i64 >= -(1L << 31) && i64 < (1L << 31))
^
In file included from /xdt/sdk/sysroots/
armv7vet2hf-neon-vfpv4-agl-linux-gnueabi/usr/include/afb/afb-binding.h:
116,
from /work/agl-service-bluetooth/binding/
bluetooth-util.c:36:
/work/agl-service-bluetooth/binding/bluetooth-util.c:291:16: warning:
format ‘%lu’ expects argument of type ‘long unsigned int’, but argument
7 has type ‘gsize’ {aka ‘unsigned int’} [-Wformat=]
AFB_WARNING("Can't handle variants with more than one children
(%lu)", nitems);
Bug-AGL: SPEC-2422
Change-Id: Ic0f1a9f20c8bbe17040c3c9727922bc930b6f786
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
CMake Warning at /xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/share/
cmake-3.12/Modules/CMakeAfbTemplates/cmake/cmake.d/
02-variables.cmake:98 (message):
No homepage url found. Please set a PROJECT_URL cmake variable in
your config.cmake.
Call Stack (most recent call first):
/xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/share/cmake-3.12/Modules/
CMakeAfbTemplates/cmake/common.cmake:101 (include)
/xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/share/cmake-3.12/Modules/
CMakeAfbTemplates.cmake:19 (include)
conf.d/cmake/config.cmake:166 (include)
CMakeLists.txt:21 (include)
Bug-AGL: SPEC-2804
Change-Id: I032a9f0a8893f4cd781ba6728e7ef8ac411cad9e
Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
|
|
Add urn:AGL:permission::partner:scope-platform to run on the platform scope.
Bug-AGL: SPEC-2575
Change-Id: Id6fa1242f3c7b8d9245f3319a6da51238944b29a
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Remove follow warnings by switching from int to size_t
warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
Bug-AGL: SPEC-2535
Change-Id: I28330f92097adc6aa03480078d168d37a60fc051
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Commented tests needing real hardware device at the bottom.
Bug-AGL: SPEC-2523
Signed-off-by: Edi Feschiyan <edi.feschiyan@konsulko.com>
Change-Id: Iee0126665af34654d14e8bcd018175fc772f1ce3
|
|
Use the BLUEZ_AT_DEVICE macro instead of explicit string
references.
Bug-AGL: SPEC-2361
Change-Id: I2e892a7b6e2d838765cfa12dadd970e34c2f5d86
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
To avoid memory leaks g_variant_unref() needs to be called on
dbus replies.
Bug-AGL: SPEC-2361
Change-Id: Ie8db961f182e77fe5a36c91acddff1e549e7f60a
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Use the BLUEZ_AT_DEVICE macro instead of explicit string
references.
Bug-AGL: SPEC-2361
Change-Id: Icddf5914433123e65d2a7d40629bab362b60c1c1
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Remove function prototype from bluetooth-common.h for the deleted
bluetooth-rfkill.c source file.
Change-Id: I2bc9e789868a01a0b62643b6406970c436308567
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
In order to upgrade to future versions easier don't use versioned
structs but the respective typedefs
Change-Id: Ic789dc7c74e0a2a1352effa1cfeea4998cbc56f3
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Report back property changes in the adapter_changes event, which is
required for detecting when an adapter is truly powered on.
Bug-AGL: SPEC-2295
Change-Id: I58441369277d2e778f2bb077e7b1be4aa3a3b1b4
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Previously org.bluez.MediaPlayer1 paths could only resolve to player0 but certain
phones request another instance for another application (e.g. player1).
This patchset changes the default media player path to last connected, and which
in theory should be from the media application in use on the phone. From limited
experiments not in use interfaces will be reaped shortly after going idle.
Bug-AGL: SPEC-2281
Change-Id: Id4bdc89cd395d5cd3ac043394761a95b306e5c6d
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
|
|
- bring latest version of autobuild script in
- move conf.d/autobuild to root folder
- update autobuild script to fix warnings triggered by
cp operation error.
Change-Id: I1e5f09cda1254e7ec9afd27e70ef97162189fda6
Bug-AGL: SPEC-2164
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
|
|
adapter_changes event allows clients to know when an adapter's status changes
as in addition or removal.
Bug-AGL: SPEC-1763
Change-Id: I7a442ece7cf6b508d6290130a939fccc1bddebb9
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Bug-AGL: SPEC-2047
Change-Id: I55a080af35dad1514ee0423eff80e65331891bc7
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Remove bluetooth-rfkill.c and replace with agl-service-network calls
which in turn allows ConnMan to correctly manage bluetooth rfkill state.
Bug-AGL: SPEC-2124
Change-Id: Ibe0460be0f29957f99ea06975a1fa12d01840080
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Fix avrcp_controls verb markdown header to correct number
Change-Id: I5b2599c16ea74ab98ce6cf8bca5c2b45cada1bc4
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Allow clients to select what Bluetooth transport they want a discovery
scan to attempt to detect. This will improve scanning in for example
when a client only wants to detect bredr or ble devices .
Bug-AGL: SPEC-2094
Change-Id: I2a983f5243aefcb582a7476bbae34d6ba88c39a6
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
There is sometimes when you don't want AFB_ERROR to be displayed on a dbus
failure. Example would be in the initial autoconnect attempt on binding startup.
Don't display the AFB_ERROR if error pointer that is passed is NULL
Bug-AGL: SPEC-1630 SPEC-1986
Change-Id: I2bc1e8575037a8e84721d2c2c369a409986eda43
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Fix logic check and run g_variant_unref() on reply of dbus call
Bug-AGL: SPEC-1630
Change-Id: I7e89031d8cad64c3303227c0ec7fd85a6c85f0c3
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
To allow initial reporting of MediaTransport1 of audio transports
add them to the managed_objects verb.
Bug-AGL: SPEC-1630 SPEC-1986
Change-Id: Icc09ae063e5dfc52e5396b9ea7149178b1d8aaac
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Bug-AGL: SPEC-1630
Change-Id: I6ad1f85d4edc00239f891edf6994db416e8a2dbd
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|