Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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)
|
|
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
|
|
Bug-AGL: SPEC-3390
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ib8096c8dd2d59d3728e824ae13ba401da0971dc4
|
|
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
|
|
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
|
|
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
|
|
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>
|
|
Bug-AGL: SPEC-2981
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: I0195d914dc10f4fcdea1cb6df0e6a5859ad8269d
|
|
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>
|
|
Bug-AGL: SPEC-2737
Change-Id: I96d1f68aab63b29889d44b72dc45596ff104a96a
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Add bluetooth-map service support for notifications and message
composition.
Bug-AGL: SPEC-2561
Change-Id: I956150b9db05334eb02640657c1fc7e03258ab41
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
To avoid "SkippingbecauseOE_QMAKE_PATH_EXTERNAL_HOST_BINSisnotdefined" error
messages when building with the SDK add the respective path to CMakeLists.txt
Bug-AGL: SPEC-2535
Change-Id: I76a3204ebb26f7c30535299d8f8582320315c5f0
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
agl-service-bluetooth-pbap now outputs JSON data of processed vCard
information, and now libvcard is no longer needed.
Bug-AGL: SPEC-2392
Change-Id: Ice1ec6e1a22687f4839fd3e8a286d279d8a4f586
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Add initial support for the radio binding. At the moment, everything
required for the current demo radio application is in place. Further
development will be required to fill in support for changing bands
and the stereo mode.
Change-Id: I1b1866856ce8388b34624c14c692102c344a7a62
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
(cherry picked from commit 8053629c99f157e716a4560ef8d1e194d569d960)
|
|
Qt5Declarative has been deprecated by Qt5Qml,
so use the Qt5Qml cmake package.
Bug-AGL: SPEC-1541
Change-Id: I293dc4a7e8713e982feb01fb49afe6c2cb31e8a1
Signed-off-by: Matt Porter <mporter@konsulko.com>
|
|
Add WifiNetworkModel which exposes a QAbstractListModel
of WiFi networks to QML.
Bug-AGL: SPEC-1541
Change-Id: I1f4d41f1d1ceaa9b06a4b3df8b0b1cf41ea97ed2
Signed-off-by: Matt Porter <mporter@konsulko.com>
|
|
Add responsemessage.h to the list of headers. This fixes
the bug where it is not installed to the SDK.
Bug-AGL: SPEC-1615
Change-Id: I77bf1bf3577166153573986cd379a1054553435e
Signed-off-by: Matt Porter <mporter@konsulko.com>
|
|
Add support for new network binding messages. This is
a prerequisite for the new network services list model.
Bug-AGL: SPEC-1541
Change-Id: I204914b991016145958114b1e0e914eaf5b599fa
Signed-off-by: Matt Porter <mporter@konsulko.com>
|
|
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>
|
|
Add support for parsing contacts and recent call data from
the PBAP-provided vCards using libvcard. Expose a recent
call list model and interfaces to refresh the data.
Bug-AGL: SPEC-1436
Change-Id: Ia4a02443e22e4a27dc974ef414b765667b26ff83
Signed-off-by: Matt Porter <mporter@konsulko.com>
|
|
Adds minimal Bluetooth PBAP message and models. Implements search
invokable to support phone number to name lookup of incoming and
originated calls.
Bug-AGL: SPEC-1438
Change-Id: Ic5a68d933b5d6b4f4da3e4c8c5c5a0f59a93f34c
Signed-off-by: Matt Porter <mporter@konsulko.com>
|
|
Add support for callid sequencing, and request data being included
with the response message.
Bug-AGL: SPEC-1404
Change-Id: I259ae3da68e55de17eafe9db534258db5fbc3ef8
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Add initial support for libqtappfw of the agl-service-bluetooth binding
to allow removal of QML logic from the Settings application
Bug-AGL: SPEC-1385
Change-Id: Iea909af113590667d619afcf09c50523c1c34035
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Add initial support interface between agl-service-mediaplayer and libqtappfw
Bug-AGL: SPEC-1375
Change-Id: I740d8cddfd73198b7a3246cb46c941da9f3175d1
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Allow subscription of weather data for libqtappfw consumers
Bug-AGL: SPEC-1273
Change-Id: If794481e09084f9632387c64882861faefe4f62c
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
|
|
Implements several QtObject subclasses that wrap
functionality provided by the AGL Application Framework.
* Message provides facilities to create new AppFW requests
and parse AppFw replies/events from a JSON buffer.
* MessageEngine provides a websocket message processing client
that can send or receive Messages on a given websocket address.
* TelephonyMessage subclasses Message to provide accessors and
methods specific to the AGL Telephony API.
* Telephony provides a complete set of Qt properties/signals/methods
that expose the AGL Telephony functionality to Qt/QML applications.
An application normally instantiates only this class and has no
need to handle low-level AppFW messages.
Bug-AGL: SPEC-1064
Change-Id: I2e41fb866bb4f867c81ccaf9bf33d627893879c8
Signed-off-by: Matt Porter <mporter@konsulko.com>
|