From 04ebacfcd8205e94139de1b015238f524b6439ea Mon Sep 17 00:00:00 2001 From: Piotr Kosko Date: Thu, 29 Jan 2015 15:31:09 +0100 Subject: [PATCH] [Messaging] Some fixes for update tests Change-Id: I4573754be527bbd9eceb91f2bd2015a2ed98d43f Signed-off-by: Piotr Kosko --- src/messaging/MsgCommon/Any.cpp | 2 +- src/messaging/email_manager.cc | 9 ++++++++- src/messaging/messaging_util.cc | 4 ++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/messaging/MsgCommon/Any.cpp b/src/messaging/MsgCommon/Any.cpp index f5fd0b56..31dfe1e5 100644 --- a/src/messaging/MsgCommon/Any.cpp +++ b/src/messaging/MsgCommon/Any.cpp @@ -64,7 +64,7 @@ bool Any::toBool() const if (m_value.is()) { return m_value.get(); } else { - return false; + return ("true" == this->toString()); } } diff --git a/src/messaging/email_manager.cc b/src/messaging/email_manager.cc index e5be79a7..1474cda2 100644 --- a/src/messaging/email_manager.cc +++ b/src/messaging/email_manager.cc @@ -1024,7 +1024,6 @@ void EmailManager::updateMessages(MessagesCallbackUserData* callback) email_free_mail_data(&mail, 1); } - } catch (const PlatformException& err) { LoggerE("%s (%s)", (err.name()).c_str(), (err.message()).c_str()); callback->setError(err.name(), err.message()); @@ -1046,6 +1045,14 @@ void EmailManager::updateMessages(MessagesCallbackUserData* callback) auto json = callback->getJson(); picojson::object& obj = json->get(); obj[JSON_ACTION] = picojson::value(JSON_CALLBACK_SUCCCESS); + + picojson::array array; + auto messages = callback->getMessages(); + for (int i = 0 ; i < messages.size(); ++i) { + array.push_back(MessagingUtil::messageToJson(messages[i])); + } + obj[JSON_DATA] = picojson::value(array); + PostQueue::getInstance().resolve( obj.at(JSON_CALLBACK_ID).get(), json->serialize() diff --git a/src/messaging/messaging_util.cc b/src/messaging/messaging_util.cc index 20d92caf..5d19c11b 100644 --- a/src/messaging/messaging_util.cc +++ b/src/messaging/messaging_util.cc @@ -552,6 +552,10 @@ std::shared_ptr MessagingUtil::jsonToMessage(const picojson::value& jso MESSAGE_ATTRIBUTE_IS_HIGH_PRIORITY); message->setIsHighPriority(priority); + auto isRead = MessagingUtil::getValueFromJSONObject(data, + MESSAGE_ATTRIBUTE_IS_READ); + message->setIsRead(isRead); + std::shared_ptr body = MessagingUtil::jsonToMessageBody( data[MESSAGE_ATTRIBUTE_MESSAGE_BODY]); message->setBody(body); -- 2.34.1