diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-14 01:14:32 +0200 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2014-07-14 01:14:32 +0200 |
| commit | 732018dc78916b8767bd811da39e528b3061af3a (patch) | |
| tree | bb088a8a9d280ae3e88311b72dcada655ee1a5eb /daemon/watchcommands.cpp | |
| parent | 09d98ef6e6d32e73a6b3c74679adc8a49b0dee7e (diff) | |
Implemented pushing MPRIS metadata to watch Music app
Diffstat (limited to 'daemon/watchcommands.cpp')
| -rw-r--r-- | daemon/watchcommands.cpp | 35 |
1 files changed, 25 insertions, 10 deletions
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); +} |
