summaryrefslogtreecommitdiffstats
path: root/homescreen/src
diff options
context:
space:
mode:
Diffstat (limited to 'homescreen/src')
-rw-r--r--homescreen/src/chromecontroller.cpp7
-rw-r--r--homescreen/src/chromecontroller.h6
2 files changed, 11 insertions, 2 deletions
diff --git a/homescreen/src/chromecontroller.cpp b/homescreen/src/chromecontroller.cpp
index b604dae..e944b2d 100644
--- a/homescreen/src/chromecontroller.cpp
+++ b/homescreen/src/chromecontroller.cpp
@@ -64,6 +64,11 @@ ChromeController::ChromeController(const QUrl &bindingUrl, QObject *parent) :
continue;
if (agentId.compare(agentIt.value().toString()) == 0) {
agentFound = true;
+ auto nameIt = agentObj.find(vshl::NAME_TAG);
+ if (nameIt != agentObj.constEnd()) {
+ m_voiceAgentName = nameIt.value().toString();
+ emit agentNameChanged();
+ }
break;
}
}
@@ -111,7 +116,7 @@ ChromeController::ChromeController(const QUrl &bindingUrl, QObject *parent) :
connect(m_aglSocket, &AglSocketWrapper::eventReceived,
this, [this](const QString &eventName, const QJsonValue &data) -> void {
if (eventName.compare(vshl::VOICE_DIALOG_STATE_EVENT + m_voiceAgentId) == 0) {
- const QJsonObject dataObj = QJsonDocument::fromJson(data.toString().toUtf8()).object();
+ const QJsonObject dataObj = data.toObject();
auto objIt = dataObj.find(vshl::STATE_TAG);
if (objIt == dataObj.constEnd()) {
qWarning() << "Voice dialog state event state missing.";
diff --git a/homescreen/src/chromecontroller.h b/homescreen/src/chromecontroller.h
index 2a76002..047ddd9 100644
--- a/homescreen/src/chromecontroller.h
+++ b/homescreen/src/chromecontroller.h
@@ -9,6 +9,7 @@ class ChromeController : public QObject
Q_OBJECT
Q_PROPERTY(bool agentPresent READ agentPresent NOTIFY agentPresentChanged)
+ Q_PROPERTY(QString agentName READ agentName NOTIFY agentNameChanged)
Q_PROPERTY(int chromeState READ chromeState NOTIFY chromeStateChanged)
public:
@@ -24,19 +25,22 @@ public:
explicit ChromeController(const QUrl &bindingUrl, QObject *parent = nullptr);
bool agentPresent() const { return m_agentPresent; }
int chromeState() const { return m_chromeState; }
+ QString agentName() const { return m_voiceAgentName; }
public slots:
void pushToTalk();
signals:
void agentPresentChanged();
+ void agentNameChanged();
void chromeStateChanged();
private:
void setChromeState(ChromeState state);
AglSocketWrapper *m_aglSocket;
- QString m_voiceAgentId;
+ QString m_voiceAgentId = "";
+ QString m_voiceAgentName = "";
bool m_agentPresent = false;
ChromeState m_chromeState = Idle;
};