summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPolina Vyshnevska <PVyshnevska@luxoft.com>2014-04-10 16:13:41 +0300
committerJustin Dickow <jjdickow@gmail.com>2014-07-09 14:12:28 -0400
commit6333ffa695758c6553385e52ba4c51dd834f66b7 (patch)
tree4ad4d91f7009c7dab0c995986af478cf45e361c9
parent521c9ca3e742c0dbba92dd4d801a5f357a1987cf (diff)
downloadsmartdevicelink-6333ffa695758c6553385e52ba4c51dd834f66b7.tar.gz
Hot fix for on app consent crash.
-rw-r--r--src/components/application_manager/src/commands/hmi/on_app_permission_consent_notification.cc47
1 files changed, 25 insertions, 22 deletions
diff --git a/src/components/application_manager/src/commands/hmi/on_app_permission_consent_notification.cc b/src/components/application_manager/src/commands/hmi/on_app_permission_consent_notification.cc
index b34798499..708766d56 100644
--- a/src/components/application_manager/src/commands/hmi/on_app_permission_consent_notification.cc
+++ b/src/components/application_manager/src/commands/hmi/on_app_permission_consent_notification.cc
@@ -41,7 +41,7 @@ namespace application_manager {
namespace commands {
OnAppPermissionConsentNotification::OnAppPermissionConsentNotification(const MessageSharedPtr& message)
- : NotificationFromHMI(message) {
+ : NotificationFromHMI(message) {
}
OnAppPermissionConsentNotification::~OnAppPermissionConsentNotification() {
@@ -57,42 +57,45 @@ void OnAppPermissionConsentNotification::Run() {
if (msg_params.keyExists(strings::app_id)) {
uint32_t connection_key = msg_params[strings::app_id].asUInt();
ApplicationSharedPtr app =
- application_manager::ApplicationManagerImpl::instance()
- ->application(connection_key);
+ application_manager::ApplicationManagerImpl::instance()
+ ->application(connection_key);
if (app.valid()) {
permission_consent.policy_app_id = app->mobile_app_id()->asString();
policy::DeviceParams device_params;
application_manager::MessageHelper::GetDeviceInfoForHandle(
- app->device(),
- &device_params);
+ app->device(),
+ &device_params);
permission_consent.device_id = device_params.device_mac_address;
}
}
- smart_objects::SmartArray* user_consent =
+ if (msg_params.keyExists("consentedFunctions")) {
+ smart_objects::SmartArray* user_consent =
msg_params["consentedFunctions"].asArray();
- smart_objects::SmartArray::const_iterator it = user_consent->begin();
- smart_objects::SmartArray::const_iterator it_end = user_consent->end();
- for (; it != it_end; ++it) {
- policy::FunctionalGroupPermission permissions;
- permissions.group_id = (*it)["id"].asInt();
- permissions.group_alias = (*it)["name"].asString();
- if ((*it).keyExists("allowed")) {
- permissions.state = (*it)["allowed"].asBool() ? policy::kAllowed :
- policy::kDisallowed;
- } else {
- permissions.state = policy::kUndefined;
+ smart_objects::SmartArray::const_iterator it = user_consent->begin();
+ smart_objects::SmartArray::const_iterator it_end = user_consent->end();
+ for (; it != it_end; ++it) {
+ policy::FunctionalGroupPermission permissions;
+ permissions.group_id = (*it)["id"].asInt();
+ permissions.group_alias = (*it)["name"].asString();
+ if ((*it).keyExists("allowed")) {
+ permissions.state = (*it)["allowed"].asBool() ? policy::kAllowed :
+ policy::kDisallowed;
+ } else {
+ permissions.state = policy::kUndefined;
+ }
+
+ permission_consent.group_permissions.push_back(permissions);
}
- permission_consent.group_permissions.push_back(permissions);
- }
-
- permission_consent.consent_source = msg_params["source"].asString();
+ permission_consent.consent_source = msg_params["source"].asString();
- policy::PolicyHandler::instance()->OnAppPermissionConsent(permission_consent);
+ policy::PolicyHandler::instance()->OnAppPermissionConsent(
+ permission_consent);
+ }
}
} // namespace commands