summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-02-15Re-enable telephony and radio stub librariesScott Murray13-73/+88
Add the radio, telephony, pbap, and map libraries back to the build by stubbing out their implementations for now. This should enable getting the related apps building without the application framework and hopefully simplify further rework of the backend functionality here with respect to AGL CI. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I9c7cae9f34a9fd332a11914bcb6ee123b840d5a1
2022-02-15Rework mediaplayer support to use mpdScott Murray8-200/+835
Rework the mediaplayer support to replace the stubbed out app framework agl-service-mediaplayer binding use with driving mpd (Media Player Daemon) via the libmpdclient library. Local file playback behavior should be equivalent to before in an image with mpd present and suitably configured. Bluetooth AVRCP support is still stubbed out, and will be re-implemented with followup changes. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ifdf092b472c271460d0f5e9a8c7d2353904411b2
2022-01-28Re-enable network supportmarlin_12.92.0marlin/12.92.012.92.0Scott Murray17-708/+1124
Rework network support code to use new connman-glib library instead of the previously disabled agl-service-network API. The only user visible change is that a few extra previously exported header files have been pruned from installation to avoid exposing GLib usage and potentially requiring users needing to build against it. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Iab8f3c9d04ee603e06b80dfd92ac03d9d52af477
2021-12-20Comment out connman-glib dependency for nowmarlin_12.91.0marlin/12.91.012.91.0Scott Murray1-1/+1
The code changes to use the new connman-glib library are not yet integrated, comment out the accidentally included dependency for now to avoid build issues. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I65446e3ff8ec6919cae146aac013a724ad58b093
2021-12-16Initial rework to replace app framework usageScott Murray54-3313/+587
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-09-03fix handling of telephony eventsmarlin_12.90.1marlin_12.90.0marlin/12.90.1marlin/12.90.0lamprey_11.92.0lamprey_11.91.0lamprey/11.92.0lamprey/11.91.0koi_10.93.0koi_10.92.0koi_10.91.0koi/10.93.0koi/10.92.0koi/10.91.0jellyfish_9.99.4jellyfish/9.99.49.99.412.90.112.90.011.92.011.91.010.93.010.92.010.91.0Raquel Medina1-1/+1
Telephony events are currently being discarded due to rogue ';'. This is a regression introduced along commit 0ed292d, which impedes correct processing of telephony signals, including incoming call or remote disconnect. Bug-AGL: SPEC-3515 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Iff095634f2c0c32ef22bc3c86672bcd763418ed4
2020-08-14fix recent call displayed directionjellyfish_9.99.3jellyfish/9.99.39.99.3Raquel Medina1-2/+3
The existing parser would only successfully obtain pbap call direction data from iphone devices, this patch extends the filter to read the call direction from android devices too. Bug-AGL: SPEC-3537 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ia5622d9ef5ffe8de96bb09c1f7f58a701b7554bf
2020-08-14test reply status for telephony commandRaquel Medina1-0/+28
This patch doesnt fix SPEC-3208 or SPEC-3515, but provides status checks on replies to sent commands, which helps diagnose telephony commands related issues. * query adapter status; * check for failures due to lack of bt adapter, in this case updates the connectivity state; * check for dial failures, in which case it triggers disconnect (hung-up) to the clients (phone app). Bug-AGL: SPEC-3208, SPEC-3515 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I1d2d3eefdc20273bad05127bca9cefa9623842dd
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 Medina43-88/+464
Bug-AGL: SPEC-3390 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ib8096c8dd2d59d3728e824ae13ba401da0971dc4
2020-06-01enforce engine object access via factoryRaquel Medina2-2/+3
* use normal std::shared_ptr constructor instead of std::make_shared in MessageEngineFactory * make MessageEngine constructor private Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I9c4b0fe83c6561d3bdea2cbc5d40ba3bda40a756
2020-05-28block direct *Message objects creationRaquel Medina3-12/+10
Make constructors private for the *Message objects to ensure they are only created via factory. Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I385775e7cc113aea792bfab4b7372e7b51c19f81
2020-05-05fix compilation for new Qt version 5.14.1Raquel Medina3-18/+1
std::hash specializations for some Qt types are in Qt 5.14, so we dont need the custom specialization for QString in utils.h. Note that if this code was to be merged to previous agl versions with pre 5.14 Qt version, the custom specialization for std::hash<QString> would be needed. Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I81240f4e804ff6c1046a50c486f39eec74edc057
2020-05-04share MessageEngine instanceRaquel Medina33-110/+193
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-25guimetadata: s/hypen/underscore to correctly call onRenderTemplateMarius Vlad1-1/+1
Needed to trigger onRenderTemplate signal for alexa-viewer. Bug-AGL: SPEC-3340 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ie9ada82af7def4989d1aec94eb5eb3144780f583
2020-04-24fix pbap api nameRaquel Medina1-2/+2
Bug-AGL: SPEC-3339 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Idd496b868764c17f550d15174ff8d702f18bf2d9
2020-04-21remove deprecated filesRaquel Medina26-931/+0
Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I044a406eb2309d4ae0547969cb2bf33b398ba2ae
2020-04-21fix typo in guimetadata.cppRaquel Medina1-1/+1
Remove extra semicolon which results in received messages being discarded. Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I217248f59c7c8e3a5cb5b02e3d068caf36a5bbfa
2020-04-20provide QJsonValue instead of QString in call requestRaquel Medina1-2/+7
Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ice9f57422b5607e93c07c2f11dc57626e601c463
2020-04-16register with QMetaTypeRaquel Medina1-0/+2
Register std::shared_ptr<Message> with QMetaType to allow for queued signal/slot connections across threads. This change is required for the library split where MessageEngine (signal source) will be part of a core library while the clients (slots) will be spread in different library binaries. TaskManager also requires this change, as it is already implemented in terms of a queued signal/slot connection across threads. Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I0f412e524c7321d35136860ae0d82c022f1c0d3f
2020-04-09add missing overrides in ResponseMessageRaquel Medina4-31/+13
The original message hierarchy rework patch is missing functionality which results in received replies being discarded. Basically, ResponseMessage class is missing the override required to match replies to the original calls. Bug-AGL: SPEC-3112 Fixes: 0ed292d3ccf9 (rework Message hierarchy) Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I39030ef212b2175a590deca02f9f9ff41bf7abf4
2020-03-23rework message hierarchyRaquel Medina52-899/+1307
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 Medina28-121/+181
- 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
2020-01-17libqtappfw: add initial HVAC supporticefish_8.99.5icefish/8.99.58.99.5Matt Ranostay8-0/+232
To remove QML handling of websockets this patchset is required to move it to libqtappfw access. Bug-AGL: SPEC-2984 Change-Id: Ieef6174d2ae7adec2fcaadf44fcb22cf86c7138d Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2020-01-16Add initial voice-capabilities binding supportScott Murray8-1/+598
Add support for subscribing to and using the guimetadata events from the vshl-capabilities binding. A GuiMetadata class is used to wrap things as it is likely that users of the other voice capabilities would not overlap if e.g. navigation event support is later added. At the moment, only the BodyTemplate1, BodyTemplate2, and WeatherTemplate guimetadata types are handled, and there is room for significant improvement in the Qt model exposed, which is somewhat crude with respect to image URL handling. As well, the weather template handling does not expose the full forecast, a full implementation of that would require adding an actual model that maps to a list view rather than a simple QObject. Bug-AGL: SPEC-3110 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I33fc2440ebdc2a4a2de79ff0a49acbc422c47da2
2020-01-03voice: remove workarounds for broken vshl-core event JSONScott Murray3-102/+7
Now that the broken event argument JSON from the vshl-core binding has a fix, the workaround of selectively reparsing the voice event arguments needs to be removed, as it breaks with the corrected events. Bug-AGL: SPEC-3084 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ie158ae326a3dc9c7cf4b08dbdbc729f5587e3758 (cherry picked from commit 77392aeda562e3bbb4f311a99469156cb1a66d75)
2019-12-29Merge "voice: add vendor name to voiceagent model"Scott Murray4-1/+7
2019-12-29radio: Make sure min/max frequency are initializedScott Murray1-0/+2
Initialize the min/max frequency to zero so they don't show random values before the binding provides the real limits. Bug-AGL: SPEC-3041 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I900be56eb5f123e16cf9f25e0c9cfe9a9d6466eb
2019-12-29voice: add vendor name to voiceagent modelScott Murray4-1/+7
Add the vendor name to the voiceagent model to allow using it applications, and fixed a typo and a couple of possible state name omissions. Bug-AGL: SPEC-2981 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I65a59ec17d0e003bc114fa85d120ee773fee0f1a
2019-12-17fix parsing for all events, overloading for specific needsicefish_8.99.4icefish/8.99.48.99.4Raquel Medina4-8/+90
commit 21bba7d, introduced extra parsing ops to process voice_xxxx_event payloads, which carry extra whitespaces and eol chars; however that change introduced a regression for other events. To solve the parsing issue for all events processed by libqtappfw, overloading is applied to 'fromJdoc' method. Bug-AGL: SPEC-3060 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I175848cba7f9f9e2e8b4e5984e7abc2a2fc12464
2019-12-13fix parsing event payload in presence of '\n' chars,icefish_8.99.3icefish/8.99.38.99.3Raquel Medina7-90/+113
and include signal emit for voice status and cbl changes. - fix parsing event payload in presence of whitespaces; - fix parsing voice events payload in presence of '\n' chars; - add missing model updates when status or cbl data changes; - fix authorization status enum value typo; Bug-AGL: SPEC-2981 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I718bdfea1221211ed4c62ce1b695eabe83ab9590
2019-12-12voice: register for all vshl events on start upRaquel Medina2-14/+9
libqtappfw should register for login events from start up (along with other vshl events), so that the information is available even if an user didnt kick start the authorization process via settings app. - register to all vshl events on start up; - rename 'subscribeToLoginEvents' to 'triggerCBLProcess', which is indeed the operation implemented behind this method. Bug-AGL: SPEC-2981 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I8aea5cac0b6d17b8ca3838d0958d2128cc745c0f
2019-12-12voice: remove vshl-capabilities dependenciesRaquel Medina7-145/+86
Various fixes for voice component: - fix incorrect check on vap (voice agent profile) pointers; - remove dependencies on vshl-capabilities: this module will communicate via vshl-core api; - remove dependencis on alexa-voiceagent; - use a more generic name for cbl related operations. CBL in this environment is understood as code based login (for voice agent authorization via user login to a cloud service), however, in the case of alexa it is known as code based linking; - add check for voice_xxx_event eventdata which in ocasions is an empty object, i.e., the payload is missing. Bug-AGL: SPEC-2981 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Icaab7a21bedb3e2696d541567162ec46b047a305
2019-12-11Add steering wheel eventsScott Murray1-1/+10
Add steering wheel events for use in tbtnavi and cluster gauges applications. Bug-AGL: SPEC-2950 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I51c792ecf131646d46bd027342b7e416f303b9c1
2019-12-06Add units and timestamp to signal-composer signalScott Murray2-3/+10
The units and timestamp fields from signal-composer events may be useful for applications, so add them to the signal they get. Bug-AGL: SPEC-3023 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I3c33da9b3afd04f0e18e00674328114e8903ce95 (cherry picked from commit 5f4576999a08efd4ccb401f033cd8183a53566b3)
2019-12-05Add initial signal-composer supporticefish_8.99.2icefish/8.99.28.99.2Matt Ranostay8-0/+208
Add support for new abstract event.vehicle.speed and event.engine.speed events from the signal-composer binding. This should help avoid code duplication in the Qt apps needing events from signal-composer. Bug-AGL: SPEC-3023 Change-Id: I877f8c1cc057d0d491318ef5ad6a943119ffc8b8 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com> Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-12-04voice: add status events to VshlCoreVoiceMessages.Raquel Medina1-5/+7
- Add connection, auth and dialog status events to VshlCoreVoiceMessage private events list. - Fix logic error in AlexaVoiceMessage's auth events processing. Error introduced by commit 'da091649e775b23a35eb88df1c2cf9ce3fb350f7'. Bug-AGL: SPEC-2880 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Ia402c8307b16595be5a8f9a1ed79d5eeb0e08036
2019-11-29voice: add initial support for voice agents configurationRaquel Medina14-4/+1153
Bug-AGL: SPEC-2981 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I0195d914dc10f4fcdea1cb6df0e6a5859ad8269d
2019-11-12libqtappfw: remove not currently implemented broadcastWaypointsicefish_8.99.1icefish/8.99.18.99.1Matt Ranostay2-10/+0
broadcastWaypoints doesn't actually broadcast out a valid event currently, and thus just remove for now. Bug-AGL: SPEC-2880 Change-Id: I9e865113949c236e59e27319b02ea22178a9dc9e Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-10-31libqtappfw: add initial navigation supportMatt Ranostay8-0/+293
Add initial navigation service support in qtappfw for new agl-service-navigation rewrite. Bug-AGL: SPEC-2880 Change-Id: I276de006af3c1e19e669ae3b9d05c92360893467 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-10-21libqtappfw: add Qt5Qml to qtappfw.pc.inMatt Ranostay1-1/+1
Add missing Qt5Qml dependency for respective pkg-config configuration. Bug-AGL: SPEC-2880 Change-Id: I1fdd753875f6c79e18719282e58532d1bc17e576 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-09-16Merge "mediaplayer: clear metadata in consumer UI on media removal"Jan-Simon Moeller1-0/+16
2019-09-12mediaplayer: clear metadata in consumer UI on media removalMatt Ranostay1-0/+16
On storage removal the metadata displayed for the media playing should be cleared in consumer UI Bug-AGL: SPEC-1430 Change-Id: I9824c94cf81fc0beb0cc278ac980813e906efbe8 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-09-12network: fix arguments on set_properties callsRaquel Medina1-5/+8
Update set_properties method arguments to match agl-service-network binding expectations. Bug-AGL: SPEC-2676 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: I4e4c1c633193270ad14a517fd33eff6bf26b00d3
2019-09-10wired: add hooks for addressing configurationRaquel Medina8-16/+206
- Add new roles to provide UI clients with the active configuration (values obtained from the stack: agl-service-network binding + connman). - Add Q_INVOKABLE methods to feed new values from the UI client. SPEC-2676 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Id239ddc549ec8471d44d56f7631d4e9e3efda798
2019-08-20Merge "docs: add docs target for generating doxygen output"Jan-Simon Moeller4-0/+37
2019-08-20Merge "libqtappfw: bluetooth-map: add support for list_messages + message verbs"Jan-Simon Moeller3-0/+42
2019-08-15docs: add docs target for generating doxygen outputMatt Ranostay4-0/+37
Bug-AGL: SPEC-2737 Change-Id: I96d1f68aab63b29889d44b72dc45596ff104a96a Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-08-02libqtappfw: bluetooth-map: add support for list_messages + message verbsMatt Ranostay3-0/+42
Bug-AGL: SPEC-2561 Change-Id: I5c4df78a15cb009a742148a86432729deb434693 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>