From: Denis Dolzhenko Date: Thu, 6 Jul 2017 08:16:05 +0000 (+0300) Subject: TizenRefApp-8525 Composer isn't opened if contact has several numbers X-Git-Tag: submit/tizen/20170707.090946~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2aa0c16ab482048842cf6fbfdbb21a320fbf09b2;p=profile%2Fwearable%2Fapps%2Fnative%2Fmessage.git TizenRefApp-8525 Composer isn't opened if contact has several numbers Change-Id: Ib5176d290fd89fff63e2de19ad0eb79a3a358f95 Signed-off-by: Denis Dolzhenko --- diff --git a/.cproject b/.cproject index 81d0860..c9ae299 100644 --- a/.cproject +++ b/.cproject @@ -22,12 +22,12 @@ - + - + - + - + @@ -354,11 +356,13 @@ + + @@ -431,7 +435,6 @@ - @@ -487,11 +490,13 @@ + + @@ -564,7 +569,6 @@ - diff --git a/src/Common/AppControl/inc/ContactPicker.h b/src/Common/AppControl/inc/ContactPicker.h index 033dd40..f8ad8ce 100644 --- a/src/Common/AppControl/inc/ContactPicker.h +++ b/src/Common/AppControl/inc/ContactPicker.h @@ -20,6 +20,8 @@ #include "AppControlUtils.h" #include "AppControlLauncher.h" +#include + namespace Msg { class IContactPickerListener; @@ -28,6 +30,7 @@ namespace Msg { */ class ContactPicker : public AppControlHandle { + public: ContactPicker(); @@ -54,7 +57,7 @@ namespace Msg { public: enum AddressType { PhoneType, - EmailType + EmailType // NotSupported }; struct ResultData { AddressType type; diff --git a/src/Common/AppControl/src/ContactPicker.cpp b/src/Common/AppControl/src/ContactPicker.cpp index 329364b..5807a5e 100644 --- a/src/Common/AppControl/src/ContactPicker.cpp +++ b/src/Common/AppControl/src/ContactPicker.cpp @@ -43,6 +43,7 @@ bool ContactPicker::launch(size_t howManyToPick) { bool res = false; if (m_Handle) { + if (howManyToPick > 1) { app_control_add_extra_data(m_Handle, APP_CONTROL_DATA_SELECTION_MODE, multiple); app_control_add_extra_data(m_Handle, APP_CONTROL_DATA_TOTAL_COUNT, std::to_string(howManyToPick).c_str()); @@ -50,13 +51,7 @@ bool ContactPicker::launch(size_t howManyToPick) app_control_add_extra_data(m_Handle, APP_CONTROL_DATA_SELECTION_MODE, single); } - // Email: - #if (0) - static const char *addressesTypes[] = {typePhone.c_str(), typeEmail.c_str()}; - size_t len = sizeof(addressesTypes) / sizeof(addressesTypes[0]); - app_control_add_extra_data_array(m_Handle, APP_CONTROL_DATA_TYPE, addressesTypes, len); - #endif - + app_control_add_extra_data(m_Handle, APP_CONTROL_DATA_TYPE, typePhone.c_str()); res = AppControlLauncher::getInst().launch(*this); } @@ -67,24 +62,12 @@ void ContactPicker::onReply(app_control_h request, app_control_h reply, app_cont { if (result == APP_CONTROL_RESULT_SUCCEEDED) { std::list addressIds; - std::list types; std::list result; AppControlUtils::getExtraDataIntArray(reply, APP_CONTROL_DATA_SELECTED, addressIds); - AppControlUtils::getExtraDataArray(reply, APP_CONTROL_DATA_TYPE, types); - int minLen = std::min(addressIds.size(), types.size()); - auto itId = addressIds.begin(); - auto itType = types.begin(); - for (int i = 0; i < minLen; ++i, ++itId, ++itType) { - if (*itType == typePhone) { - result.push_back({IContactPickerListener::PhoneType, *itId}); - } else if (*itType == typeEmail) { - result.push_back({IContactPickerListener::EmailType, *itId}); - } else { - MSG_LOG_WARN("Unknown type: ", *itType); - } - } + for (int id : addressIds) + result.push_back({IContactPickerListener::PhoneType, id}); if (m_pListener) m_pListener->onContactsPicked(result); diff --git a/src/Common/Controller/src/NaviFrameController.cpp b/src/Common/Controller/src/NaviFrameController.cpp index f9448a5..51415e7 100644 --- a/src/Common/Controller/src/NaviFrameController.cpp +++ b/src/Common/Controller/src/NaviFrameController.cpp @@ -58,7 +58,7 @@ void NaviFrameController::pop(FrameController &frame) void NaviFrameController::popGroup(FrameController &frame) { - int count = getItemsCount(); + auto count = getItemsCount(); auto list = frame.getGroupList(); if (count == list.size()) { diff --git a/src/Common/View/inc/NaviFrameView.h b/src/Common/View/inc/NaviFrameView.h index 063de36..2b5760d 100644 --- a/src/Common/View/inc/NaviFrameView.h +++ b/src/Common/View/inc/NaviFrameView.h @@ -42,7 +42,7 @@ namespace Msg /** * @brief Get count of pushed frames. */ - int getItemsCount() const; + unsigned getItemsCount() const; /** * @brief Get list of pushed frames. */ diff --git a/src/Common/View/src/NaviFrameView.cpp b/src/Common/View/src/NaviFrameView.cpp index 68a33a9..8541a25 100644 --- a/src/Common/View/src/NaviFrameView.cpp +++ b/src/Common/View/src/NaviFrameView.cpp @@ -72,9 +72,9 @@ NaviFrameItem *NaviFrameView::getTopFrame() const return ViewItem::staticCast(elm_naviframe_top_item_get(getEo())); } -int NaviFrameView::getItemsCount() const +unsigned NaviFrameView::getItemsCount() const { - int res = 0; + unsigned res = 0; Eina_List *list = elm_naviframe_items_get(getEo()); if (list) { res = eina_list_count(list); diff --git a/src/Composer/Controller/src/RecipFrame.cpp b/src/Composer/Controller/src/RecipFrame.cpp index 96fa861..a1e8248 100644 --- a/src/Composer/Controller/src/RecipFrame.cpp +++ b/src/Composer/Controller/src/RecipFrame.cpp @@ -205,7 +205,7 @@ void RecipFrame::onEntryChanged(Evas_Object *obj, void *event) void RecipFrame::onContactsPicked(const std::list &numberIdList) { - MSG_LOG(""); + MSG_LOG("", numberIdList.size()); if (!numberIdList.empty() && numberIdList.front().type == IContactPickerListener::PhoneType) setRecip(Recipient::getByContactPresonNmberId(numberIdList.front().id)); }