diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-06-07 15:51:47 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-06-07 15:51:47 -0400 |
commit | 61e3d69532099d7215410c5b38e29ba3525dec46 (patch) | |
tree | f02508cb5399333892a00d9f6f371805df5e8841 /app | |
parent | 4242367c57f25027ee0e533fce8a14c64005ec04 (diff) |
Add VIS vehicle signal support
Use the new VehicleSignals API from libqtappfw to replace the
previous signal-composer usage.
Bug-AGL: SPEC-4409
Change-Id: Id5aaa6e9789f75a0aaecd4cfc560bbc4bae3f4c5
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'app')
-rw-r--r-- | app/MediaPlayer.qml | 29 | ||||
-rw-r--r-- | app/app.pro | 2 | ||||
-rw-r--r-- | app/main.cpp | 3 |
3 files changed, 33 insertions, 1 deletions
diff --git a/app/MediaPlayer.qml b/app/MediaPlayer.qml index 177fe36..95bc22b 100644 --- a/app/MediaPlayer.qml +++ b/app/MediaPlayer.qml @@ -49,6 +49,8 @@ ApplicationWindow { Component.onCompleted : { // Let the mediaplayer backend know we're ready for metadata events mediaplayer.start() + + VehicleSignals.connect() } Connections { @@ -86,6 +88,33 @@ ApplicationWindow { } } + Connections { + target: VehicleSignals + + onConnected: { + VehicleSignals.authorize() + } + + onAuthorized: { + VehicleSignals.subscribe("Vehicle.Cabin.Infotainment.Media.Action") + } + + onSignalNotification: { + if (path === "Vehicle.Cabin.Infotainment.Media.Action") { + if (value == "SkipForward") { + mediaplayer.next() + } else if (value == "SkipBackward") { + mediaplayer.previous() + } else if (value == "NextSource") { + if (player.av_connected) + mediaplayer.connect() + else + mediaplayer.disconnect() + } + } + } + } + Timer { id: timer interval: 250 diff --git a/app/app.pro b/app/app.pro index d14bdb6..dee1c5a 100644 --- a/app/app.pro +++ b/app/app.pro @@ -3,7 +3,7 @@ TARGET = mediaplayer QT = qml quickcontrols2 CONFIG += c++11 link_pkgconfig -PKGCONFIG += qtappfw-mediaplayer +PKGCONFIG += qtappfw-mediaplayer qtappfw-vehicle-signals SOURCES = main.cpp diff --git a/app/main.cpp b/app/main.cpp index 771ce3a..2058ff9 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -24,6 +24,7 @@ #include <QQuickWindow> #include <mediaplayer.h> +#include <vehiclesignals.h> #include <unistd.h> @@ -38,6 +39,8 @@ int main(int argc, char *argv[]) QQmlContext *context = engine.rootContext(); context->setContextProperty("AlbumArt", ""); context->setContextProperty("mediaplayer", new Mediaplayer(context)); + VehicleSignalsConfig vsConfig("mediaplayer"); + context->setContextProperty("VehicleSignals", new VehicleSignals(vsConfig)); engine.load(QUrl(QStringLiteral("qrc:/MediaPlayer.qml"))); |