summaryrefslogtreecommitdiffstats
path: root/bluetooth/bluetooth.cpp
AgeCommit message (Collapse)AuthorFilesLines
2022-02-28Add Bluetooth media control supportmarlin_12.93.0marlin/12.93.012.93.0Scott Murray1-14/+181
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 Murray1-211/+158
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 Medina1-9/+16
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-05-04share MessageEngine instanceRaquel Medina1-7/+6
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-03-23rework message hierarchyRaquel Medina1-27/+37
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 Medina1-5/+10
- 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 Ranostay1-13/+32
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 Ranostay1-8/+39
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 Ranostay1-81/+92
Bug-AGL: SPEC-1630 Change-Id: I705df82deefa371afa1f1d6ee57bb5457479408d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-11-05libqtappfw: bluetooth: remove avrcp_controlsMatt Ranostay1-12/+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-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 Porter1-0/+230
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>