Age | Commit message (Collapse) | Author | Files | Lines |
|
Add template files for gitlab
Bug-AGL: SPEC-4474
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: Iad727e02ff17b4dbfbb5d7199efce4484853a1d7
|
|
Change Left/Right to Driver/Passenger in HVAC VSS signal names to
match VSS 4.0.
Bug-AGL: SPEC-4970
Change-Id: I6c4bf01fef9432c4c8c7f60e6ba787ce2be32d6a
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Rework the VehicleSignals class and its use in the Navigation and
Hvac classes to switch from using the original KUKSA.val server
via WebSockets to the KUKSA.val databroker's gRPC "VAL" API.
Notable changes:
- The VehicleSignals API has changed a bit with respect to setting
signals, callers now need to pass the new value as the type that
matches the signal as opposed to always passing a string, and
optionally indicate if an actuator's target or value is being set.
Subscribe operations now also allow subscribing for either
actuator targets or values.
- It is possible that the values returned by get and subscribe
operations will be changed to using QVariant instead of QStrings
in a future follow up, but that has not been done in these changes.
- The connected signal from VehicleSignals still has roughly the
same meaning, but the authorize function and authorized signals
are to some degree redundant now. They have been kept for
compatibility, but may be removed in a follow up set of changes.
- The section header in the .ini files expected by the
VehicleSignalsConfig class has been changed from "vis-client" to
"kuksa-client" since the databroker is not a VIS server, and to
some degree forcing an update on the part of clients is useful
since their authorization tokens also need to change.
- The client key and certificate support has been removed from the
VehicleSignalsConfig class, as they are no longer used in either
the server or databroker as of KUKSA.val 0.4.0. A new optional
parameter, "tls-server-name", has been added to work with the new
TLS support behavior. It can be used to override the expected
host name for connecting to a non-local databroker instance.
- The Navigation constructor now takes an additional parameter to
indicate whether the instance acts as a router or a client.
The underlying need for this stems from an application acting as
a router needing to subscribe to the destination setting actuator
targets.
Bug-AGL: SPEC-4762
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I253480ae2abf068dc6e41a495454960ed5c0feaf
|
|
|
|
The states for the Vehicle.Cabin.Infotainment.Navigation.State signal
have been changed to uppercase values with the upgrade to VSS 3.1.1
to match upstream VSS signals. Uppercase the provided state name in
Navigation::broadcastStatus to ensure clients respect this.
Bug-AGL: SPEC-4761
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I2af108655470907c0c04ffafd7cd9375f30fc0fe
|
|
Bump version number to 2.0.1 to mark addition of the previous
commit's crash fix.
Bug-AGL: SPEC-4661
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I8019638f0a7a7305bebf14d29a5deb6331a064f1
|
|
Changes:
- Avoid crashing in the MPD event handler code when our connection
times out because it has hung. Additionally, attempt to update
the front end UI to a sane state with respect to metadata when
this happens.
- Lower the MPD connection timeout and keepalive timeouts to try to
catch MPD failures faster. There are still problems in this area
with respect to the front end UI getting stuck if it does an
operation that would attempt to use the MPD API while it is hung.
Fixing that completely would require a significant refactoring to
move all the MPD API code to a separate thread so that the QML
rendering thread does not get stuck. It's unclear at present if
such a refactoring is justified, as the MPD hang in this case is
fixed by changes in MPD 0.23.8.
Bug-AGL: SPEC-4661
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ia5e74d00acdc6b3b28cdf87b26486dbddfa02a98
|
|
Update the stubbed out radio support library to use the new gRPC API.
The "Radio" Qt wrapper object has been renamed to "RadioClient" to
avoid conflicting with the generated gRPC API code. This somewhat
aligns with the naming that has been used with the AppLauncher
support.
Bug-AGL: SPEC-4665
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I642f9b9b62d6981cf5231ecea4caddba713f493a
(cherry picked from commit 22ad8cbaad00d89361cbd92023dd20a807bcf5cb)
|
|
The code for double values for VSS signals was using the default
Qt double to string conversion, which defaults to a max of 6
decimal places, explicitly format with 9 so that latitude and
longtitude values for the navigation related signals do not get
truncated.
Bug-AGL: SPEC-4662
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I49d23c4224c41f33687c20cdbd21f4cbb538c52d
|
|
Add meson configuration missed in previous commit.
Bug-AGL: SPEC-4559
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Idbcd961ab91cf48e7dc3b841aee3a79d0b615dcd
|
|
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
|
|
|
|
Reimplement the HVAC interface with use of VIS signals. There is
some impedance mismatching done between VIS signal notifications
and the API Qt signals to avoid changing the clients signficantly
for now. If the Qt demo lifetime is extended, this may be revisited
to either switch to directly using the VehicleSignals interface or
doing a more granular mapping that works better with the VSS schema
and VIS.
Bug-AGL: SPEC-4409
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I6f1763836945600d84d6f70faea40eaa7d45ce27
(cherry picked from commit 01a723bf51a286b4a6b984a6115c2835d9e99b73)
|
|
Reimplement the navigation interface with use of VIS signals.
There is some impedance mismatching done between VIS signal
notifications and the API Qt signals to avoid changing the
clients signficantly for now. If the Qt demo lifetime is
extended, this may be revisited to either switch to directly
using the VehicleSignals interface or doing a more granular
mapping that works better with the VSS schema / VIS.
Bug-AGL: SPEC-4408
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ieab42daddadca60de634f414171a133af53938f5
(cherry picked from commit 4ce04ff30e753556cf9cb371780f2a873f6fedaa)
|
|
Add vehicle-signals library that exposes configuration and interface
objects to use Vehicle Information Service (VIS) signals from a VIS
server such as KUKSA.val. In this initial version Qt signals to
expose some of the low level VIS errors to clients have not been
implemented, as it is not immediately obvious how they could be
leveraged in the AGL demo usecases. If the Qt demos continue to be
used for past the Needlefish release this may warrant revisiting.
Bug-AGL: SPEC-4408
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I05d2bfdd09d090e3ed13ba4e4c2d1d205357d6e4
(cherry picked from commit b34fae267102d374bcc9ab7a6ff6a259515bb6bf)
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Bug-AGL: SPEC-3390
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ib8096c8dd2d59d3728e824ae13ba401da0971dc4
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
Needed to trigger onRenderTemplate signal for alexa-viewer.
Bug-AGL: SPEC-3340
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie9ada82af7def4989d1aec94eb5eb3144780f583
|
|
Bug-AGL: SPEC-3339
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Idd496b868764c17f550d15174ff8d702f18bf2d9
|
|
Bug-AGL: SPEC-3112
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I044a406eb2309d4ae0547969cb2bf33b398ba2ae
|
|
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
|
|
Bug-AGL: SPEC-3112
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ice9f57422b5607e93c07c2f11dc57626e601c463
|
|
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
|
|
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
|
|
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
|
|
- 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
|
|
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>
|
|
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
|
|
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)
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|