From 732018dc78916b8767bd811da39e528b3061af3a Mon Sep 17 00:00:00 2001 From: Tomasz Sterna Date: Mon, 14 Jul 2014 01:14:32 +0200 Subject: Implemented pushing MPRIS metadata to watch Music app --- daemon/watchcommands.cpp | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'daemon/watchcommands.cpp') diff --git a/daemon/watchcommands.cpp b/daemon/watchcommands.cpp index 40f8963..7fc84fc 100644 --- a/daemon/watchcommands.cpp +++ b/daemon/watchcommands.cpp @@ -4,19 +4,34 @@ using namespace watch; WatchCommands::WatchCommands(WatchConnector *watch, QObject *parent) : QObject(parent), watch(watch) -{ - connect(watch, SIGNAL(messageDecoded(uint,uint,QByteArray)), SLOT(processMessage(uint,uint,QByteArray))); -} +{} void WatchCommands::processMessage(uint endpoint, uint datalen, QByteArray data) { - if (endpoint == WatchConnector::watchPHONE_CONTROL) { - if (data.length() >= 5) { - if (data.at(4) == WatchConnector::callHANGUP) { - emit hangup(); - } - } - } else if (endpoint == WatchConnector::watchPHONE_VERSION) { + logger()->debug() << __FUNCTION__ << endpoint << "/" << data.length(); + switch (endpoint) { + case WatchConnector::watchPHONE_VERSION: watch->sendPhoneVersion(); + break; + case WatchConnector::watchPHONE_CONTROL: + if (data.length() >= 5 && data.at(4) == WatchConnector::callHANGUP) { + emit hangup(); + } + break; + case WatchConnector::watchMUSIC_CONTROL: + logger()->debug() << "MUSIC_CONTROL" << data.toHex(); + break; + + default: + logger()->info() << __FUNCTION__ << "endpoint" << endpoint << "not supported yet"; } } + +void WatchCommands::onMprisMetadataChanged(QVariantMap metadata) +{ + QString track = metadata.value("xesam:title").toString(); + QString album = metadata.value("xesam:album").toString(); + QString artist = metadata.value("xesam:artist").toString(); + logger()->debug() << __FUNCTION__ << track << album << artist; + watch->sendMusicNowPlaying(track, album, artist); +} -- cgit v1.2.3