summaryrefslogtreecommitdiffstats
path: root/bluetooth
AgeCommit message (Collapse)AuthorFilesLines
2022-09-19Add meson.build filesScott Murray1-0/+29
Add meson configuration missed in previous commit. Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Idbcd961ab91cf48e7dc3b841aee3a79d0b615dcd
2022-09-10Add applaunchd gRPC API wrapperScott Murray2-31/+0
Changes: - Add applaunchd gRPC API wrapper in applauncher directory, clients can include AppLauncherClient.h to use it. - To facilitate generating protobuf and gRPC code with protoc, switch from CMake to meson for building. While the code generation can be done in CMake, it is a lot more straightforward with meson, and if use of this library continues meson will be easier to maintain. Known issues: - The behavior of the client implementation here with respect to the server side (i.e. applaunchd) going away is currently robust, but could stand improvement with some further investigation. As the code stands, starting applications works when applaunchd becomes available again, but the streaming status RPC that is tied to window activation in the homescreen does not reconnect, and there seem to be some things that need to be resolved with respect to Qt object connection expiry to do so. If the Qt demos continue to be used in a significant fashion, this may be worth picking up. Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I5cb480d4ce4d1cb944ebfd4114fb305f09f28ea3
2022-02-28Add Bluetooth media control supportmarlin_12.93.0marlin/12.93.012.93.0Scott Murray4-59/+427
Rework to expose Bluetooth AVRCP media control in the Bluetooth class, and use that support to implement a Bluetooth backend in the Mediaplayer class. This replaces the scheme that existed with the agl-service-mediaplayer binding where it abstracted away the Bluetooth support itself. However, care has been take to make sure that the exposed API to users of libqtappfw-mediaplayer has not changed. Bug-AGL: SPEC-4231 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I76b4f75621ce0121364eea3259b074bf3067ee88
2021-12-16Initial rework to replace app framework usageScott Murray7-316/+520
Changes: - Remove "core" code related to WebSocket messaging for the app framework. - Stub out hvac, navigation, network, and weather interfaces. This allows building several of the demo applications without modification for now. The network interface will definitely be reused to plumb in a new connman-glib library derived from the previous network binding. The others may potentially be reused to plumb in other new backend implementations. - Update the Network interface object constructor arguments to add a agent registration flag. This prepares for the connman-glib switch and means users will not need to be updated twice. - Update the Bluetooth interface to use a new bluez-glib library that is derived from the previous Bluetooth binding. This has been successfully tested with a the Settings application. - Remove signal-composer and voice API interface code as there are no direct replacements planned. The signal-composer interface was effectively exposing the binding events, so has little reuse potential with a new backend. For the voice interface, if some form of Alexa support becomes desirable, it can potentially be brought back for adaptation if required. - Disable compilation of the remaining interfaces for now. Some like map, pbap, and mediaplayer are very likely to be used as the basis for updating their associated applications, so keeping the code for the planned iterative development seems easier. - Updated copyright lines in all touched files. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ib717ac8ac68ec457eaee74755dcf9d4f36b79d12
2020-07-21update bt power state if no adapterjellyfish_9.99.2jellyfish/9.99.29.99.2Raquel Medina1-3/+11
In case of no adapter, update 'powered' property to update status fed back to clients (i.e., if there's no adapter and the user enables bluetooth via settings slider, this patch provides the action to take the slider back to OFF position, without this fix it'd stay ON which can mislead the user's expectations). As SPEC-3301 has introduced changes to support the no adapter scenario, this patch is also delivered under this jira issue. Bug-AGL: SPEC-3301 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I4fcc98b2a7cbf4093d39dc54ac83d5217de7e5ff
2020-06-23add checks to avoid duplicates in qtappfw-bt modeljellyfish_9.99.1jellyfish/9.99.19.99.1Raquel Medina2-9/+19
Duplicate bluetooth entries have been seen on settings app' bluetooth page, following disconnect/connect cycles. They were caused by multiple connected events associated to the same device on the same adapter. This patch avoids the duplicates in the model when only one bluetooth adapter is present on the target, duplicates in the model when more than one bluetooth adapter is present is to be covered by SPEC-3294. The current patch: - tests the device id present on "device_changes" events data, as this id is used to index devices in the model. - treats "device_changes added" events on an existing device in the model as if a "changed" action was received for it. Bug-AGL: SPEC-3424 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ia5f273f456383880b2d855e567bdf6b41ed98352
2020-06-09split qtappfw in independent qtappfw-* modulesRaquel Medina2-2/+31
Bug-AGL: SPEC-3390 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ib8096c8dd2d59d3728e824ae13ba401da0971dc4
2020-05-04share MessageEngine instanceRaquel Medina2-8/+7
Share MessageEngine instance among clients in the same process using a common socket (same url). - add MessageEngineFactory class; - extend std::unordered_map<> to use QString as key; - use std::shared_ptr<MessageEngine> to share ownership among MessageEngineFactory and the engine clients; - force MessagEngine parent object null to avoid life cycle dependency on a parent; - protect insertions & deletions in m_calls map; Also, not directly related but as part of testing these changes: cleanup on voice to remove superflous model sorting (there's just one voice model for alexa voice agent). Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ie2304453dc37723dac13d256286eeb85f84ca2ab
2020-04-21remove deprecated filesRaquel Medina2-70/+0
Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I044a406eb2309d4ae0547969cb2bf33b398ba2ae
2020-03-23rework message hierarchyRaquel Medina3-33/+42
Rework message hierarchy with the final objective of splitting libqtappfw into several libraries. This commit carries the following changes: - Simplify message hierarchy, keeping abstract Message class, adding specialization for call and event messages, keeping ResponseMessage, and removing all module specific specializations. - Add MessageFactory class to create message objects. - Change messages life cycle: using smart pointers and removing QObject from message hierarchy (a Message is not a QObject anymore and thus 'deleteLater()' is not available). - Adapt all modules to use new message hierarchy. - Keep ResponseMessage original constructor to avoid breaking TaskManager. - Message constructors have been kept public, but will go private on a follow-up patch (once TaskManager class has been modified to use new MessageFactory). Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I3a7a6325209ddeca2293f1ac745371861a947bfb
2020-03-09eliminate unneeded dependencies on public headersRaquel Medina2-9/+18
- Remove unneeded dependencies from libqtappfw public headers, specifically MessageEngine and Message hierarchy header files, in preparation for refactoring work on these areas. This change helps shield client apps from the upcoming changes in the library, and highlight the separation between the library's core and the various modules providing public interfaces to those apps. - Make MessageType an scoped enum to fwd declare it. - Update Copyright statement on files updated by this patch. Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I12fd9cdc034aa1166f6448c07befadd9d2042b05
2019-04-02libqtappfw: bluetooth: add adapter_changes event processingMatt Ranostay3-13/+35
Process events from adapter_changes to emit the respective signal. This has the advantage of avoiding race conditions of waiting for powering up of an adapter, and to allow Settings UI to detect events. Bug-AGL: SPEC-2295 Change-Id: I9cd391ed01cab709dad6801331eade7494155af5 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-03-22libqtappfw: bluetooth: add BluetoothModel supportMatt Ranostay5-15/+319
Switch from using single threaded and incorrect QML processing of ListViews to using models provided from libqtappfw Bug-AGL: SPEC-2270 Change-Id: I83f02ab104a18ade95dfd172902e32a808c3d897 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-01-02libqtappfw: bluetooth: add transport to discovery filterMatt Ranostay1-0/+1
Only scan for non-LE devices to avoid a delay of detection on discovery. Bug-AGL: SPEC-2094 Change-Id: I57adab6bd8751c0f69c59f51ce1eeb7468880dfe Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-05libqtappfw: bluetooth: send out power eventMatt Ranostay1-3/+10
Send power event when device_changes powered parameter is detected Bug-AGL: SPEC-1630 Change-Id: I0170eafa03ce28ab9f907a37bcf7fefa9e205e33 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-05libqtappfw: bluetooth: update to rewrite of bluetooth bindingMatt Ranostay3-105/+112
Bug-AGL: SPEC-1630 Change-Id: I705df82deefa371afa1f1d6ee57bb5457479408d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-05libqtappfw: bluetooth: remove avrcp_controlsMatt Ranostay2-13/+0
Bluetooth avrcp controls will be moved into their own respective binding in the near future. Bug-AGL: SPEC-1630 Change-Id: I688cc19c2e30957f507cdcda54bf5a2f863317d5 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-05Revert "libqtappfw: bluetooth: add binding version 2.0 verbs"Matt Ranostay2-28/+4
This reverts commit 4508f46e8b3b42f2d062566ecbc741daf5cf1338. Revert "libqtappfw: bluetooth: add initial API versioning to BluetoothMessage" This reverts commit daadd6ca0e572fe55d307ff034d8cd3342c1c7c1. Bug-AGL: SPEC-1630 Change-Id: Iac48c5a1b3bd2d1147c208cebe6b86bbdfa6d2ac Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-08libqtappfw: bluetooth: add binding version 2.0 verbsMatt Ranostay2-4/+20
Add initial set of Bluetooth binding version 2.0 (rewrite) verbs for the BluetoothMessage Bug-AGL: SPEC-1736 Change-Id: Ie0ee68b0ba652e9163746b397c14dd925c85a9fb Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-09-25libqtappfw: bluetooth: add initial API versioning to BluetoothMessageMatt Ranostay2-4/+12
Future rewrite of the Bluetooth binding will have different schema for accessible verbs. Allow clients and middleware to explictly request a version. Bug-AGL: SPEC-1736 Change-Id: I488836a7422aac85b19815d837dabb5230ee47f8 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-09-25libqtappfw: bluetooth: fix typo for device_priorities verb accessMatt Ranostay1-1/+1
Change-Id: Iea11b79a0e81299f9af91babf093f06be25062f5 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-09-25libqtappfw: add version verb to allowable requestsMatt Ranostay1-1/+1
Bug-AGL: SPEC-1736 Change-Id: I793892c1479633de31e5bef98699cdd4c95ad2da Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-09-12libqtappfw: remove deleteLater instances that aren't usedguppy_6.90.0guppy/6.90.06.90.0Matt Ranostay1-7/+7
Remove several deleteLater calls that should have been delete's. This should solve race conditions that an object calls deleteLater(), and leaves scope before the QT main loop is called. Outcome of the race condition is that sometimes the memory allocator reallocates it to another message and causes a crash. Bug-AGL: SPEC-1680 Change-Id: Ic83d8c6c204c6e3248bbe9a9def1842e1e384b2b Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-06-25Reorg binding-specific modules into subdirectoriesMatt Porter5-0/+400
Move binding-specific code into per-binding subdirectories. This separates the core message engine code and simplifies adding new binding-specific modules. Bug-AGL: SPEC-1525 Change-Id: I8fc545e3af375e2ed9e79a41363b7ade97e9b20a Signed-off-by: Matt Porter <mporter@konsulko.com>