summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Oleynik <aoleynik@luxoft.com>2016-04-28 11:51:12 +0300
committerAndrey Oleynik <aoleynik@luxoft.com>2016-04-28 11:51:12 +0300
commitdf8d98e31f713779232ead569163c8e27804795f (patch)
tree20096fa64e1d80fb434c800fd9e03a4773b0809a
parenta0bec2f83bf5dbe426edd76b437671ea3eabae78 (diff)
downloadsdl_core-df8d98e31f713779232ead569163c8e27804795f.tar.gz
Changes logic of GetURLs and OnSystemRequest according to new API
Implements: APPLINK-24247, APPLINK-24248
-rw-r--r--src/components/application_manager/src/commands/hmi/get_urls.cc2
-rw-r--r--src/components/application_manager/src/commands/hmi/on_system_request_notification.cc21
2 files changed, 14 insertions, 9 deletions
diff --git a/src/components/application_manager/src/commands/hmi/get_urls.cc b/src/components/application_manager/src/commands/hmi/get_urls.cc
index 81f59f9eed..1c7d9f57c1 100644
--- a/src/components/application_manager/src/commands/hmi/get_urls.cc
+++ b/src/components/application_manager/src/commands/hmi/get_urls.cc
@@ -137,7 +137,7 @@ void GetUrls::ProcessPolicyServiceURLs(const policy::EndpointUrls& endpoints) {
}
}
- service_info[hmi_response::policy_app_id] = mobile_app_id;
+ service_info[strings::app_id] = app->app_id();
service_info[strings::url] = default_url;
urls[0] = service_info;
// TODO(AOleynik): Issue with absent policy_app_id. Need to fix later on.
diff --git a/src/components/application_manager/src/commands/hmi/on_system_request_notification.cc b/src/components/application_manager/src/commands/hmi/on_system_request_notification.cc
index 2977ed1586..e464037136 100644
--- a/src/components/application_manager/src/commands/hmi/on_system_request_notification.cc
+++ b/src/components/application_manager/src/commands/hmi/on_system_request_notification.cc
@@ -60,30 +60,35 @@ void OnSystemRequestNotification::Run() {
params[strings::function_id] =
static_cast<int32_t>(mobile_apis::FunctionID::eType::OnSystemRequestID);
- const std::string app_id = msg_params[strings::app_id].asString();
- LOG4CXX_DEBUG(logger_, "Received OnSystemRequest for " << app_id );
-
ApplicationSharedPtr app;
- if (strings::default_app_id == app_id) {
+ if (!msg_params.keyExists(strings::app_id)) {
+ LOG4CXX_DEBUG(logger_,
+ "No application specified, trying to choose automatically.");
PolicyHandler* policy_handler = PolicyHandler::instance();
uint32_t selected_app_id = policy_handler->GetAppIdForSending();
if (0 == selected_app_id) {
LOG4CXX_WARN(logger_,
- "Can't select application to forward OnSystemRequestNotification");
+ "Can't select application to forward OnSystemRequest.");
return;
}
ApplicationManagerImpl* app_mgr = ApplicationManagerImpl::instance();
app = app_mgr->application(selected_app_id);
} else {
- app = ApplicationManagerImpl::instance()->application_by_policy_id(app_id);
+ const uint32_t app_id = msg_params[strings::app_id].asUInt();
+ LOG4CXX_WARN(logger_, "Looking for application with connection key "
+ << app_id);
+ app = ApplicationManagerImpl::instance()->application(app_id);
}
if (!app.valid()) {
- LOG4CXX_WARN(logger_, "Application with connection key " << app_id <<
- "is not registered.");
+ LOG4CXX_WARN(logger_,
+ "No valid application found to forward OnSystemRequest.");
return;
}
+ LOG4CXX_DEBUG(logger_,
+ "Sending request with application id " << app->mobile_app_id());
+
params[strings::connection_key] = app->app_id();
SendNotificationToMobile(message_);
}