summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2019-10-10 13:12:37 -0400
committerGitHub <noreply@github.com>2019-10-10 13:12:37 -0400
commit0b33bf9a7ab8dc6a056ba23527eff1f914f3fae8 (patch)
treea63e9a250344518d8232082322a65bb03b5e188d
parent9ac782b490f14f3fb18f36aad81a49f72e627909 (diff)
downloadsdl_core-0b33bf9a7ab8dc6a056ba23527eff1f914f3fae8.tar.gz
Replace DCHECK in Create Window Request (#3068)
* Replace dcheck in create window * Update src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_window_request.cc Co-Authored-By: Jacob Keeler <jacob.keeler@livioradio.com> * Source capabilities from both app and hmi data
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_window_request.cc10
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/mobile/create_window_request_test.cc3
2 files changed, 11 insertions, 2 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_window_request.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_window_request.cc
index 21b54b4e9f..b69b0ee801 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_window_request.cc
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/src/commands/mobile/create_window_request.cc
@@ -307,7 +307,10 @@ bool CreateWindowRequest::DoesExceedMaxAllowedWindows(
const auto window_type = static_cast<mobile_apis::WindowType::eType>(
(*message_)[strings::msg_params][strings::window_type].asInt());
- const auto display_capabilities = app->display_capabilities();
+ auto display_capabilities = hmi_capabilities_.system_display_capabilities();
+ if (app->display_capabilities()) {
+ display_capabilities = app->display_capabilities();
+ }
if (!display_capabilities) {
LOG4CXX_WARN(logger_, "Application has no capabilities");
@@ -333,7 +336,10 @@ bool CreateWindowRequest::DoesExceedMaxAllowedWindows(
return false;
});
- DCHECK(find_res != windowTypeSupported->end());
+ if (find_res == windowTypeSupported->end()) {
+ LOG4CXX_WARN(logger_, "Requested Window Type is not supported by the HMI");
+ return true;
+ }
if (get_current_number_of_windows(window_type) + 1 >
(*find_res)[strings::maximum_number_of_windows].asUInt()) {
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/mobile/create_window_request_test.cc b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/mobile/create_window_request_test.cc
index 02a6591a2d..905c6ceb72 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/mobile/create_window_request_test.cc
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/test/commands/mobile/create_window_request_test.cc
@@ -164,6 +164,9 @@ class CreateWindowRequestTest
ON_CALL(*mock_app_, display_capabilities())
.WillByDefault(Return(display_capabilities_));
+ ON_CALL(mock_hmi_capabilities_, system_display_capabilities())
+ .WillByDefault(Return(display_capabilities_));
+
window_params_map_lock_ptr_ = std::make_shared<sync_primitives::Lock>();
DataAccessor<am::WindowParamsMap> window_params_map(