virtual const std::string& app_icon_path() const = 0;
virtual connection_handler::DeviceHandle device() const = 0;
virtual void set_tts_speak_state(bool state_tts_speak) = 0;
+ virtual bool tts_speak_state() = 0;
virtual void set_version(const Version& version) = 0;
virtual void set_name(const std::string& name) = 0;
virtual void set_is_media_application(bool is_media) = 0;
const std::string& app_icon_path() const;
connection_handler::DeviceHandle device() const;
void set_tts_speak_state(bool state_tts_speak);
+ bool tts_speak_state();
void set_version(const Version& ver);
void set_name(const std::string& name);
void set_is_media_application(bool is_media);
tts_speak_state_ = state_tts_speak;
}
+bool ApplicationImpl::tts_speak_state() {
+ return tts_speak_state_;
+}
+
void ApplicationImpl::set_hmi_level(
const mobile_api::HMILevel::eType& hmi_level) {
if (mobile_api::HMILevel::HMI_NONE != hmi_level_ &&
}
switch ((*message_)[strings::msg_params][hmi_request::reason].asInt()) {
- case hmi_apis::Common_DeactivateReason::AUDIO:
- case hmi_apis::Common_DeactivateReason::PHONECALL: {
+ case hmi_apis::Common_DeactivateReason::AUDIO: {
if (app->is_media_application()) {
- if (profile::Profile::instance()->is_mixing_audio_supported()) {
+ if (profile::Profile::instance()->is_mixing_audio_supported() &&
+ (ApplicationManagerImpl::instance()->vr_session_started() ||
+ app->tts_speak_state())) {
app->set_audio_streaming_state(
mobile_api::AudioStreamingState::ATTENUATED);
} else {
app->set_hmi_level(mobile_api::HMILevel::HMI_BACKGROUND);
break;
}
+ case hmi_apis::Common_DeactivateReason::PHONECALL: {
+ app->set_audio_streaming_state(
+ mobile_api::AudioStreamingState::NOT_AUDIBLE);
+ ApplicationManagerImpl::instance()->DeactivateApplication(app);
+ app->set_hmi_level(mobile_api::HMILevel::HMI_BACKGROUND);
+ break;
+ }
case hmi_apis::Common_DeactivateReason::NAVIGATIONMAP:
case hmi_apis::Common_DeactivateReason::PHONEMENU:
case hmi_apis::Common_DeactivateReason::SYNCSETTINGS: