From 0b33bf9a7ab8dc6a056ba23527eff1f914f3fae8 Mon Sep 17 00:00:00 2001 From: JackLivio Date: Thu, 10 Oct 2019 13:12:37 -0400 Subject: 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 * Source capabilities from both app and hmi data --- .../src/commands/mobile/create_window_request.cc | 10 ++++++++-- .../test/commands/mobile/create_window_request_test.cc | 3 +++ 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( (*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(); DataAccessor window_params_map( -- cgit v1.2.1