summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-06-07 15:51:47 -0400
committerScott Murray <scott.murray@konsulko.com>2022-07-04 21:16:10 +0000
commit219b527adbc7996f4ae2e73732114d2daa17c9c5 (patch)
tree5557d8985080f7adaf5961f5a9f3184e1d639da8
parentd53efa6bca224f2c6bec8e7b14b1dff7f12a2d03 (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> (cherry picked from commit 61e3d69532099d7215410c5b38e29ba3525dec46)
-rw-r--r--app/MediaPlayer.qml29
-rw-r--r--app/app.pro2
-rw-r--r--app/main.cpp3
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")));