summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-05-01 11:04:33 -0400
committerJackLivio <jack@livio.io>2018-05-01 11:04:33 -0400
commit90962a664990f3d6bbd96c5b3cf387328ef3315d (patch)
tree0ecd0ffad1c873ccea8046e04b51b8fe64279711
parent28d80dadabf8d4697b3d438d25adf22e8a0b6430 (diff)
downloadsdl_core-90962a664990f3d6bbd96c5b3cf387328ef3315d.tar.gz
Move color scheme to Dynamic Application Data & Add Set Display layout support
-rw-r--r--src/components/application_manager/include/application_manager/application.h12
-rw-r--r--src/components/application_manager/include/application_manager/application_data_impl.h13
-rw-r--r--src/components/application_manager/src/application_data_impl.cc82
-rw-r--r--src/components/application_manager/src/commands/mobile/set_display_layout_request.cc13
4 files changed, 66 insertions, 54 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h
index 3ef608448e..aa607449a2 100644
--- a/src/components/application_manager/include/application_manager/application.h
+++ b/src/components/application_manager/include/application_manager/application.h
@@ -113,8 +113,6 @@ class InitialApplicationData {
virtual const smart_objects::SmartObject* ngn_media_screen_name() const = 0;
virtual const mobile_api::Language::eType& language() const = 0;
virtual const mobile_api::Language::eType& ui_language() const = 0;
- virtual const smart_objects::SmartObject* day_color_scheme() const = 0;
- virtual const smart_objects::SmartObject* night_color_scheme() const = 0;
virtual void set_app_types(const smart_objects::SmartObject& app_types) = 0;
virtual void set_vr_synonyms(
const smart_objects::SmartObject& vr_synonyms) = 0;
@@ -125,10 +123,6 @@ class InitialApplicationData {
virtual void set_language(const mobile_api::Language::eType& language) = 0;
virtual void set_ui_language(
const mobile_api::Language::eType& ui_language) = 0;
- virtual void set_day_color_scheme(
- const smart_objects::SmartObject& color_scheme) = 0;
- virtual void set_night_color_scheme(
- const smart_objects::SmartObject& color_scheme) = 0;
};
/*
@@ -195,6 +189,8 @@ class DynamicApplicationData {
virtual const smart_objects::SmartObject* keyboard_props() const = 0;
virtual const smart_objects::SmartObject* menu_title() const = 0;
virtual const smart_objects::SmartObject* menu_icon() const = 0;
+ virtual const smart_objects::SmartObject* day_color_scheme() const = 0;
+ virtual const smart_objects::SmartObject* night_color_scheme() const = 0;
virtual void load_global_properties(const smart_objects::SmartObject& so) = 0;
virtual void set_help_prompt(
@@ -226,6 +222,10 @@ class DynamicApplicationData {
virtual void set_video_stream_retry_number(
const uint32_t& video_stream_retry_number) = 0;
+ virtual void set_day_color_scheme(
+ const smart_objects::SmartObject& color_scheme) = 0;
+ virtual void set_night_color_scheme(
+ const smart_objects::SmartObject& color_scheme) = 0;
/**
* @brief Checks if application is media, voice communication or navigation
* @return true if application is media, voice communication or navigation,
diff --git a/src/components/application_manager/include/application_manager/application_data_impl.h b/src/components/application_manager/include/application_manager/application_data_impl.h
index fb1e15f6ba..6d47ba4736 100644
--- a/src/components/application_manager/include/application_manager/application_data_impl.h
+++ b/src/components/application_manager/include/application_manager/application_data_impl.h
@@ -55,8 +55,7 @@ class InitialApplicationDataImpl : public virtual Application {
const smart_objects::SmartObject* ngn_media_screen_name() const;
const mobile_api::Language::eType& language() const;
const mobile_api::Language::eType& ui_language() const;
- const smart_objects::SmartObject* day_color_scheme() const;
- const smart_objects::SmartObject* night_color_scheme() const;
+
void set_app_types(const smart_objects::SmartObject& app_types);
void set_vr_synonyms(const smart_objects::SmartObject& vr_synonyms);
void set_mobile_app_id(const std::string& policy_app_id);
@@ -64,8 +63,6 @@ class InitialApplicationDataImpl : public virtual Application {
void set_ngn_media_screen_name(const smart_objects::SmartObject& ngn_name);
void set_language(const mobile_api::Language::eType& language);
void set_ui_language(const mobile_api::Language::eType& ui_language);
- void set_day_color_scheme(const smart_objects::SmartObject& color_scheme);
- void set_night_color_scheme(const smart_objects::SmartObject& color_scheme);
void set_perform_interaction_layout(
mobile_api::LayoutMode::eType layout) OVERRIDE;
@@ -80,8 +77,6 @@ class InitialApplicationDataImpl : public virtual Application {
mobile_api::Language::eType language_;
mobile_api::Language::eType ui_language_;
mobile_apis::LayoutMode::eType perform_interaction_layout_;
- smart_objects::SmartObject* day_color_scheme_;
- smart_objects::SmartObject* night_color_scheme_;
private:
DISALLOW_COPY_AND_ASSIGN(InitialApplicationDataImpl);
@@ -101,6 +96,8 @@ class DynamicApplicationDataImpl : public virtual Application {
const smart_objects::SmartObject* keyboard_props() const;
const smart_objects::SmartObject* menu_title() const;
const smart_objects::SmartObject* menu_icon() const;
+ const smart_objects::SmartObject* day_color_scheme() const;
+ const smart_objects::SmartObject* night_color_scheme() const;
void load_global_properties(const smart_objects::SmartObject& properties_so);
void set_help_prompt(const smart_objects::SmartObject& help_prompt);
@@ -115,6 +112,8 @@ class DynamicApplicationDataImpl : public virtual Application {
void set_keyboard_props(const smart_objects::SmartObject& keyboard_props);
void set_menu_title(const smart_objects::SmartObject& menu_title);
void set_menu_icon(const smart_objects::SmartObject& menu_icon);
+ void set_day_color_scheme(const smart_objects::SmartObject& color_scheme);
+ void set_night_color_scheme(const smart_objects::SmartObject& color_scheme);
/*
* @brief Adds a command to the in application menu
*/
@@ -269,6 +268,8 @@ class DynamicApplicationDataImpl : public virtual Application {
smart_objects::SmartObject* menu_title_;
smart_objects::SmartObject* menu_icon_;
smart_objects::SmartObject* tbt_show_command_;
+ smart_objects::SmartObject* day_color_scheme_;
+ smart_objects::SmartObject* night_color_scheme_;
CommandsMap commands_;
mutable sync_primitives::Lock commands_lock_;
diff --git a/src/components/application_manager/src/application_data_impl.cc b/src/components/application_manager/src/application_data_impl.cc
index cecd8d2d6c..a5c39455ba 100644
--- a/src/components/application_manager/src/application_data_impl.cc
+++ b/src/components/application_manager/src/application_data_impl.cc
@@ -45,9 +45,7 @@ InitialApplicationDataImpl::InitialApplicationDataImpl()
, tts_name_(NULL)
, ngn_media_screen_name_(NULL)
, language_(mobile_api::Language::INVALID_ENUM)
- , ui_language_(mobile_api::Language::INVALID_ENUM)
- , day_color_scheme_(NULL)
- , night_color_scheme_(NULL) {}
+ , ui_language_(mobile_api::Language::INVALID_ENUM) {}
InitialApplicationDataImpl::~InitialApplicationDataImpl() {
if (app_types_) {
@@ -69,16 +67,6 @@ InitialApplicationDataImpl::~InitialApplicationDataImpl() {
delete ngn_media_screen_name_;
ngn_media_screen_name_ = NULL;
}
-
- if (day_color_scheme_) {
- delete day_color_scheme_;
- day_color_scheme_ = NULL;
- }
-
- if (night_color_scheme_) {
- delete night_color_scheme_;
- night_color_scheme_ = NULL;
- }
}
const smart_objects::SmartObject* InitialApplicationDataImpl::app_types()
@@ -114,16 +102,6 @@ const mobile_api::Language::eType& InitialApplicationDataImpl::ui_language()
return ui_language_;
}
-const smart_objects::SmartObject*
-InitialApplicationDataImpl::day_color_scheme() const {
- return day_color_scheme_;
-}
-
-const smart_objects::SmartObject*
-InitialApplicationDataImpl::night_color_scheme() const {
- return night_color_scheme_;
-}
-
void InitialApplicationDataImpl::set_app_types(
const smart_objects::SmartObject& app_types) {
if (app_types_) {
@@ -184,24 +162,6 @@ InitialApplicationDataImpl::perform_interaction_layout() const {
return perform_interaction_layout_;
}
-void InitialApplicationDataImpl::set_day_color_scheme(
- const smart_objects::SmartObject& color_scheme) {
- if (day_color_scheme_) {
- delete day_color_scheme_;
- }
-
- day_color_scheme_ = new smart_objects::SmartObject(color_scheme);
-}
-
-void InitialApplicationDataImpl::set_night_color_scheme(
- const smart_objects::SmartObject& color_scheme) {
- if (night_color_scheme_) {
- delete night_color_scheme_;
- }
-
- night_color_scheme_ = new smart_objects::SmartObject(color_scheme);
-}
-
DynamicApplicationDataImpl::DynamicApplicationDataImpl()
: help_prompt_(NULL)
, timeout_prompt_(NULL)
@@ -213,6 +173,8 @@ DynamicApplicationDataImpl::DynamicApplicationDataImpl()
, menu_title_(NULL)
, menu_icon_(NULL)
, tbt_show_command_(NULL)
+ , day_color_scheme_(NULL)
+ , night_color_scheme_(NULL)
, commands_()
, commands_lock_(true)
, sub_menu_()
@@ -254,6 +216,16 @@ DynamicApplicationDataImpl::~DynamicApplicationDataImpl() {
tbt_show_command_ = NULL;
}
+ if (day_color_scheme_) {
+ delete day_color_scheme_;
+ day_color_scheme_ = NULL;
+ }
+
+ if (night_color_scheme_) {
+ delete night_color_scheme_;
+ night_color_scheme_ = NULL;
+ }
+
for (CommandsMap::iterator command_it = commands_.begin();
commands_.end() != command_it;
++command_it) {
@@ -330,6 +302,16 @@ const smart_objects::SmartObject* DynamicApplicationDataImpl::menu_icon()
return menu_icon_;
}
+const smart_objects::SmartObject*
+DynamicApplicationDataImpl::day_color_scheme() const {
+ return day_color_scheme_;
+}
+
+const smart_objects::SmartObject*
+DynamicApplicationDataImpl::night_color_scheme() const {
+ return night_color_scheme_;
+}
+
void DynamicApplicationDataImpl::load_global_properties(
const smart_objects::SmartObject& properties_so) {
SetGlobalProperties(properties_so.getElement(strings::vr_help_title),
@@ -445,6 +427,24 @@ void DynamicApplicationDataImpl::set_menu_icon(
menu_icon_ = new smart_objects::SmartObject(menu_icon);
}
+void DynamicApplicationDataImpl::set_day_color_scheme(
+ const smart_objects::SmartObject& color_scheme) {
+ if (day_color_scheme_) {
+ delete day_color_scheme_;
+ }
+
+ day_color_scheme_ = new smart_objects::SmartObject(color_scheme);
+}
+
+void DynamicApplicationDataImpl::set_night_color_scheme(
+ const smart_objects::SmartObject& color_scheme) {
+ if (night_color_scheme_) {
+ delete night_color_scheme_;
+ }
+
+ night_color_scheme_ = new smart_objects::SmartObject(color_scheme);
+}
+
void DynamicApplicationDataImpl::SetGlobalProperties(
const smart_objects::SmartObject& param,
void (DynamicApplicationData::*callback)(
diff --git a/src/components/application_manager/src/commands/mobile/set_display_layout_request.cc b/src/components/application_manager/src/commands/mobile/set_display_layout_request.cc
index 38b62ce731..993e094647 100644
--- a/src/components/application_manager/src/commands/mobile/set_display_layout_request.cc
+++ b/src/components/application_manager/src/commands/mobile/set_display_layout_request.cc
@@ -48,7 +48,7 @@ SetDisplayLayoutRequest::~SetDisplayLayoutRequest() {}
void SetDisplayLayoutRequest::Run() {
LOG4CXX_AUTO_TRACE(logger_);
- ApplicationConstSharedPtr app =
+ ApplicationSharedPtr app =
application_manager_.application(connection_key());
if (!app) {
@@ -57,6 +57,17 @@ void SetDisplayLayoutRequest::Run() {
return;
}
+ const smart_objects::SmartObject& msg_params =
+ (*message_)[strings::msg_params];
+
+ if (msg_params.keyExists(strings::day_color_scheme)) {
+ app->set_day_color_scheme(msg_params[strings::day_color_scheme]);
+ }
+
+ if (msg_params.keyExists(strings::night_color_scheme)) {
+ app->set_night_color_scheme(msg_params[strings::night_color_scheme]);
+ }
+
(*message_)[strings::msg_params][strings::app_id] = app->app_id();
StartAwaitForInterface(HmiInterfaces::HMI_INTERFACE_UI);
SendHMIRequest(hmi_apis::FunctionID::UI_SetDisplayLayout,