summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Keeler <jacob.keeler@livioradio.com>2017-02-28 11:45:06 -0500
committerGitHub <noreply@github.com>2017-02-28 11:45:06 -0500
commitab1e4c8acdf4ee88433546c21493b9a982d6850f (patch)
treebe0dee8d8aab795429976cee08651c78225bb28e
parentbebac77c41cb6fce9891e6fc50f304ba222a526b (diff)
parent242c6e3049505fa6d7417648a0ea95b197df2009 (diff)
downloadsdl_core-ab1e4c8acdf4ee88433546c21493b9a982d6850f.tar.gz
Merge pull request #1320 from VVeremjova/fix/FixTTSCapabilities
Fix TTS capabilities
-rw-r--r--src/components/application_manager/src/hmi_capabilities_impl.cc29
-rw-r--r--src/components/application_manager/test/hmi_capabilities.json16
-rw-r--r--src/components/application_manager/test/hmi_capabilities_test.cc7
3 files changed, 42 insertions, 10 deletions
diff --git a/src/components/application_manager/src/hmi_capabilities_impl.cc b/src/components/application_manager/src/hmi_capabilities_impl.cc
index c6fa321401..9d52cc98db 100644
--- a/src/components/application_manager/src/hmi_capabilities_impl.cc
+++ b/src/components/application_manager/src/hmi_capabilities_impl.cc
@@ -49,6 +49,8 @@ namespace Formatters = NsSmartDeviceLink::NsJSONHandler::Formatters;
namespace {
std::map<std::string, hmi_apis::Common_VrCapabilities::eType>
vr_enum_capabilities;
+std::map<std::string, hmi_apis::Common_SpeechCapabilities::eType>
+ tts_enum_capabilities;
std::map<std::string, hmi_apis::Common_ButtonName::eType> button_enum_name;
std::map<std::string, hmi_apis::Common_TextFieldName::eType>
text_fields_enum_name;
@@ -71,6 +73,23 @@ void InitCapabilities() {
vr_enum_capabilities.insert(std::make_pair(
std::string("TEXT"), hmi_apis::Common_VrCapabilities::VR_TEXT));
+ tts_enum_capabilities.insert(std::make_pair(
+ std::string("TEXT"), hmi_apis::Common_SpeechCapabilities::SC_TEXT));
+ tts_enum_capabilities.insert(
+ std::make_pair(std::string("SAPI_PHONEMES"),
+ hmi_apis::Common_SpeechCapabilities::SAPI_PHONEMES));
+ tts_enum_capabilities.insert(
+ std::make_pair(std::string("LHPLUS_PHONEMES"),
+ hmi_apis::Common_SpeechCapabilities::LHPLUS_PHONEMES));
+ tts_enum_capabilities.insert(
+ std::make_pair(std::string("SAPI_PHONEMES"),
+ hmi_apis::Common_SpeechCapabilities::SAPI_PHONEMES));
+ tts_enum_capabilities.insert(
+ std::make_pair(std::string("PRE_RECORDED"),
+ hmi_apis::Common_SpeechCapabilities::PRE_RECORDED));
+ tts_enum_capabilities.insert(std::make_pair(
+ std::string("SILENCE"), hmi_apis::Common_SpeechCapabilities::SILENCE));
+
button_enum_name.insert(
std::make_pair(std::string("OK"), hmi_apis::Common_ButtonName::OK));
button_enum_name.insert(std::make_pair(
@@ -995,8 +1014,14 @@ bool HMICapabilitiesImpl::load_capabilities_from_file() {
}
if (check_existing_json_member(tts, "capabilities")) {
- set_speech_capabilities(
- smart_objects::SmartObject(tts.get("capabilities", "").asString()));
+ Json::Value capabilities = tts.get("capabilities", "");
+ smart_objects::SmartObject tts_capabilities_so =
+ smart_objects::SmartObject(smart_objects::SmartType_Array);
+ for (uint32_t i = 0; i < capabilities.size(); ++i) {
+ tts_capabilities_so[i] =
+ tts_enum_capabilities.find(capabilities[i].asString())->second;
+ }
+ set_speech_capabilities(tts_capabilities_so);
}
} // TTS end
diff --git a/src/components/application_manager/test/hmi_capabilities.json b/src/components/application_manager/test/hmi_capabilities.json
index c174dfcba4..61cda5ce43 100644
--- a/src/components/application_manager/test/hmi_capabilities.json
+++ b/src/components/application_manager/test/hmi_capabilities.json
@@ -2,7 +2,7 @@
"UI":
{
"language":"EN_US",
- "languages":[
+ "languages":[
"EN_US","ES_MX","FR_CA","DE_DE","ES_ES","EN_GB","RU_RU","TR_TR","PL_PL","FR_FR","IT_IT","SV_SE","PT_PT","NL_NL","ZH_TW",
"JA_JP","AR_SA","KO_KR","PT_BR","CS_CZ","DA_DK","NO_NO"
],
@@ -250,7 +250,7 @@
"name":"graphic",
"imageTypeSupported":
[
-
+
],
"imageResolution":
{
@@ -270,7 +270,7 @@
"resolutionHeight":35
}
}
-
+
],
"mediaClockFormats":
[
@@ -279,7 +279,7 @@
"graphicSupported":true,
"templatesAvailable":
[
-
+
"DEFAULT","MEDIA","NON-MEDIA","ONSCREEN_PRESETS","NAV_FULLSCREEN_MAP","NAV_KEYBOARD",
"GRAPHIC_WITH_TEXT","TEXT_WITH_GRAPHIC","TILES_ONLY","TEXTBUTTONS_ONLY",
"GRAPHIC_WITH_TILES","TILES_WITH_GRAPHIC","GRAPHIC_WITH_TEXT_AND_SOFTBUTTONS",
@@ -335,15 +335,15 @@
{
"capabilities":["TEXT"],
"language":"ES_MX",
- "languages":
- [
+ "languages":
+ [
"AR_SA", "EN_US","ES_MX","FR_CA","DE_DE","ES_ES","EN_GB","RU_RU","TR_TR","PL_PL","FR_FR","IT_IT","SV_SE","PT_PT","NL_NL","ZH_TW",
"JA_JP","KO_KR","PT_BR","CS_CZ","DA_DK","NO_NO"
- ]
+ ]
},
"TTS":
{
- "capabilities":"TEXT",
+ "capabilities":["TEXT"],
"language":"DE_DE",
"languages":
[
diff --git a/src/components/application_manager/test/hmi_capabilities_test.cc b/src/components/application_manager/test/hmi_capabilities_test.cc
index 0a5d6116db..4eb9f920d9 100644
--- a/src/components/application_manager/test/hmi_capabilities_test.cc
+++ b/src/components/application_manager/test/hmi_capabilities_test.cc
@@ -229,6 +229,13 @@ TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) {
static_cast<hmi_apis::Common_Language::eType>(
tts_supported_languages[2].asInt()));
+ // Check TTS capabilities
+ const smart_objects::SmartObject tts_capabilities =
+ *(hmi_capabilities_test->speech_capabilities());
+ EXPECT_EQ(hmi_apis::Common_SpeechCapabilities::SC_TEXT,
+ static_cast<hmi_apis::Common_SpeechCapabilities::eType>(
+ tts_capabilities[0].asInt()));
+
// Check button capabilities
const smart_objects::SmartObject buttons_capabilities_so =
*(hmi_capabilities_test->button_capabilities());