diff options
author | Scott Murray <scott.murray@konsulko.com> | 2019-12-29 17:36:25 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2019-12-29 18:05:09 -0500 |
commit | b57a3197dad42bdd7a72266aaa160341573b0627 (patch) | |
tree | 9c93f21d65d3fbac75693d5fa01afa4cd10b5ccd | |
parent | 7dcc687d179c645f4ccf7fffdb507e18b8d562c4 (diff) |
Display Alexa specific chrome when it is used
Add logic to key off the voiceagent name and display Alexa specific
chrome (the required Alexa icon) when it is used.
Bug-AGL: SPEC-3075
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I4bacad2e3906ee1e8221ed3e6bfe92b340d65aab
-rw-r--r-- | homescreen/qml/SpeechChrome.qml | 5 | ||||
-rw-r--r-- | homescreen/qml/images/SpeechChrome/push_to_talk_alexa.png | bin | 0 -> 1544 bytes | |||
-rw-r--r-- | homescreen/qml/images/SpeechChrome/speechchrome.qrc | 1 | ||||
-rw-r--r-- | homescreen/src/chromecontroller.cpp | 5 | ||||
-rw-r--r-- | homescreen/src/chromecontroller.h | 6 |
5 files changed, 14 insertions, 3 deletions
diff --git a/homescreen/qml/SpeechChrome.qml b/homescreen/qml/SpeechChrome.qml index ab46cb6..123928c 100644 --- a/homescreen/qml/SpeechChrome.qml +++ b/homescreen/qml/SpeechChrome.qml @@ -7,6 +7,7 @@ Item { clip: true property bool agentPresent: speechChromeController.agentPresent + property string agentName: speechChromeController.agentName visible: agentPresent @@ -33,7 +34,7 @@ Item { anchors.left: parent.left anchors.leftMargin: parent.width / 128 anchors.verticalCenter: parent.verticalCenter - source: "./images/SpeechChrome/push_to_talk.svg" + source: agentName === "Alexa" ? "./images/SpeechChrome/push_to_talk_alexa.png" : "./images/SpeechChrome/push_to_talk.svg" MouseArea { anchors.fill: parent @@ -54,7 +55,7 @@ Item { anchors.right: parent.right anchors.rightMargin: parent.width / 128 anchors.verticalCenter: parent.verticalCenter - source: "./images/SpeechChrome/push_to_talk.svg" + source: agentName === "Alexa" ? "./images/SpeechChrome/push_to_talk_alexa.png" : "./images/SpeechChrome/push_to_talk.svg" MouseArea { anchors.fill: parent diff --git a/homescreen/qml/images/SpeechChrome/push_to_talk_alexa.png b/homescreen/qml/images/SpeechChrome/push_to_talk_alexa.png Binary files differnew file mode 100644 index 0000000..f45218e --- /dev/null +++ b/homescreen/qml/images/SpeechChrome/push_to_talk_alexa.png diff --git a/homescreen/qml/images/SpeechChrome/speechchrome.qrc b/homescreen/qml/images/SpeechChrome/speechchrome.qrc index 42357f1..c5a9690 100644 --- a/homescreen/qml/images/SpeechChrome/speechchrome.qrc +++ b/homescreen/qml/images/SpeechChrome/speechchrome.qrc @@ -2,5 +2,6 @@ <qresource prefix="/images/SpeechChrome"> <file>bar.png</file> <file>push_to_talk.svg</file> + <file>push_to_talk_alexa.png</file> </qresource> </RCC> diff --git a/homescreen/src/chromecontroller.cpp b/homescreen/src/chromecontroller.cpp index b604dae..34895bf 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; } } 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; }; |