2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file PhnTabLogsItemProvider.cpp
19 * @brief Call log item provider
22 #include <FGraphics.h>
24 #include <FUiControl.h>
30 #include "PhnAppUtility.h"
31 #include "PhnCommonUtils.h"
33 #include "PhnTabLogsItemProvider.h"
34 #include "PhnCallLogPresentationModel.h"
36 #include "PhnCallLogViewByPopup.h"
38 using namespace Tizen::Base;
39 using namespace Tizen::Base::Collection;
40 using namespace Tizen::App;
41 using namespace Tizen::Graphics;
42 using namespace Tizen::Locales;
43 using namespace Tizen::Media;
44 using namespace Tizen::Social;
45 using namespace Tizen::System;
47 const int MAX_TWELVEHOUR_FORMAT = 12;
48 const int MAX_TWELVEHOUR_FORMAT_LENGTH = 8;
49 const int MAX_TWENTYFOUR_FORMAT_LENGTH = 6;
50 const int H_LOG_ITEM = 128;
51 const int H_LOG_ITEM_TEXT = 50;
52 const int W_LOG_ITEM_TEXT = 50;
53 const int LOG_ITEM_FONT_SIZE = 32;
55 const wchar_t* IDS_MSG_CONTEXT_ITEM = L"IDS_MSG_BTN_NAME";
56 const wchar_t* IDS_VIDEO_CALL_CONTEXT_ITEM = L"IDS_VIDEO_CALL_BTN_NAME";
57 const wchar_t* IDS_VOICE_CALL_CONTEXT_ITEM = L"IDS_VOICE_CALL_BTN_NAME";
58 const wchar_t* IDS_LEFT_BRACE = L" (";
59 const wchar_t* IDS_RIGHT_BRACE = L")";
61 CustomDataProvider::CustomDataProvider(void)
63 __isEditStyle = false;
65 __pAddressBook = AddressbookManager::GetInstance()->GetAddressbookN();;
66 __pItemContext = new ListContextItem();
67 __pItemContext->Construct();
68 String voiceCallStr = AppUtility::GetResourceString(IDS_VOICE_CALL_CONTEXT_ITEM);
69 __pItemContext->AddElement(IDA_LIST_ELEMENT_CALL, voiceCallStr);
70 String messageStr = AppUtility::GetResourceString(IDS_MSG_CONTEXT_ITEM);
71 __pItemContext->AddElement(IDA_LIST_ELEMENT_MESSAGE, messageStr);
72 String videoCallStr = AppUtility::GetResourceString(IDS_VIDEO_CALL_CONTEXT_ITEM);
73 __pItemContext->AddElement(IDA_LIST_ELEMENT_VIDEO_CALL, videoCallStr, false);
74 String delStr = AppUtility::GetResourceString(IDS_DELETE_BTN_STRING);
75 __pItemContext->AddElement(IDA_LIST_ELEMENT_DELETE, delStr);
77 __pItemContextForMMLogs = new ListContextItem();
78 __pItemContextForMMLogs->Construct();
79 voiceCallStr = AppUtility::GetResourceString(IDS_VOICE_CALL_CONTEXT_ITEM);
80 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_CALL, voiceCallStr, false);
81 messageStr = AppUtility::GetResourceString(IDS_MSG_CONTEXT_ITEM);
82 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_MESSAGE, messageStr);
83 videoCallStr = AppUtility::GetResourceString(IDS_VIDEO_CALL_CONTEXT_ITEM);
84 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_VIDEO_CALL, videoCallStr, false);
85 delStr = AppUtility::GetResourceString(IDS_DELETE_BTN_STRING);
86 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_DELETE, delStr);
89 __pItemContextForHidenLogs = new ListContextItem();
90 __pItemContextForHidenLogs->Construct();
91 voiceCallStr = AppUtility::GetResourceString(IDS_VOICE_CALL_CONTEXT_ITEM);
92 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_CALL, voiceCallStr, false);
93 messageStr = AppUtility::GetResourceString(IDS_MSG_CONTEXT_ITEM);
94 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_MESSAGE, messageStr, false);
95 videoCallStr = AppUtility::GetResourceString(IDS_VIDEO_CALL_CONTEXT_ITEM);
96 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_VIDEO_CALL, videoCallStr, false);
97 delStr = AppUtility::GetResourceString(IDS_DELETE_BTN_STRING);
98 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_DELETE, delStr);
101 __itemHeight = 112.f;
106 CustomDataProvider::~CustomDataProvider(void)
108 //ArrayList* pCalllogList = null;
\r
109 //GroupItemClass* pGroupInfo = null;
\r
111 if(__pAddressBook != null)
113 delete __pAddressBook;
115 if (__pItemContext != null)
117 delete __pItemContext;
118 __pItemContext = null;
120 if (__pItemContextForMMLogs != null)
122 delete __pItemContextForMMLogs;
123 __pItemContextForMMLogs = null;
125 if (__pItemContextForHidenLogs != null)
127 delete __pItemContextForHidenLogs;
128 __pItemContextForHidenLogs = null;
133 CustomDataProvider::GetItemAtGroupIndex(int groupIndex, int itemIndex, CallLogDetails** pCalllogDetails)
135 if(__pGroupData != null)
137 GroupItemClass* pGroupInfo = null;
138 ArrayList* list = null;
139 pGroupInfo = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
140 if(pGroupInfo != null)
142 list = pGroupInfo->GetLogData();
143 *pCalllogDetails = static_cast<CallLogDetails*>(list->GetAt(itemIndex));
149 CustomDataProvider::GetGroupCount(void)
151 AppUtility::GetGlobalFontAndItemHeight(&__fontSize, &__itemHeight);
152 __pGroupData = CalLogPresentationModel::GetInstance()->GetCallLogGroups();
\r
153 if(__pGroupData != null)
155 return __pGroupData->GetCount();
161 CustomDataProvider::GetItemCount(int groupIndex)
163 GroupItemClass* group = null;
164 if(__pGroupData != null)
166 group = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
169 return (group->GetLogData())->GetCount();
176 CustomDataProvider::CreateGroupItem(int groupIndex, int itemWidth)
178 AppResource* pAppResource = App::GetInstance()->GetAppResource();
179 GroupItem* pItem = new GroupItem();
180 pItem->Construct(Dimension(itemWidth, 48));
182 String appPath = (Application::GetInstance())->GetAppRootPath();
183 Bitmap* pBitmap = null;
184 pBitmap = pAppResource->GetBitmapN(IDB_CALLOG_LIST_BG,BITMAP_PIXEL_FORMAT_ARGB8888);
186 GroupItemClass* group = null;
187 if(__pGroupData != null)
189 group = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
192 pItem->SetElement(group->GetTitleText(), pBitmap);
203 CustomDataProvider::CreateItem(int groupIndex, int itemIndex, int itemWidth)
205 AppLogDebug("Enter");
206 GroupItemClass* pGroup = null;
207 ArrayList* pCalllogList = null;
208 CallLogDetails* pCalllogData = null;
209 String phoneNumber(AppUtility::GetResourceString(IDS_CALLLOG_NO_NUMBER));
210 String contactName(AppUtility::GetResourceString(IDS_CALLLOG_NO_NAME));
211 DateTime calllogDate;
212 String dateText(L"");
213 String key(L"24HourFormatSelected");
215 bool dateFormat24 = true;
216 Bitmap* pBitmap = null;
217 AppResource* pAppResource = App::GetInstance()->GetAppResource();
219 if(__pGroupData != null)
221 pGroup = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
224 pCalllogList = pGroup->GetLogData();
225 if(pCalllogList != null)
227 pCalllogData = static_cast<CallLogDetails*>(pCalllogList->GetAt(itemIndex));
232 if(pCalllogData == null)
238 if(pCalllogData->GetPhoneNumber() != null)
240 phoneNumber = pCalllogData->GetPhoneNumber();
243 //CallLogManager* pManager = CallLogManager::GetInstance();
244 CalLogPresentationModel::GetInstance()->GetCalllogContactName(phoneNumber,contactName);
245 pCalllogData->ConvertTimetoDateTime();
246 calllogDate = pCalllogData->GetDateTime();
247 int hour = calllogDate.GetHour();
248 SettingInfo::GetValue(key, dateFormat24);
250 if (dateFormat24 == false)
252 if (hour > MAX_TWELVEHOUR_FORMAT)
254 hour -= MAX_TWELVEHOUR_FORMAT;
255 amPm.Append(AppUtility::GetResourceString(IDS_PM_TIME));
257 else if (hour < MAX_TWELVEHOUR_FORMAT)
259 amPm.Append(AppUtility::GetResourceString(IDS_AM_TIME));
261 else if (hour == MAX_TWELVEHOUR_FORMAT)
263 amPm.Append(AppUtility::GetResourceString(IDS_PM_TIME));
265 dateText.Format(MAX_TWELVEHOUR_FORMAT_LENGTH,L"%02d:%02d%ls", hour, calllogDate.GetMinute(), amPm.GetPointer());
269 dateText.Format(MAX_TWENTYFOUR_FORMAT_LENGTH,L"%02d:02%d", calllogDate.GetHour(), calllogDate.GetMinute());
273 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
274 EnrichedText* pText = new (std::nothrow) EnrichedText();
\r
275 TextElement* textElement = new (std::nothrow) TextElement();
277 String appPath = (Application::GetInstance())->GetAppRootPath();
279 CustomItem* pItem = new (std::nothrow) CustomItem();
281 if (__isEditStyle == true)
283 style = LIST_ANNEX_STYLE_MARK;
286 pItem->Construct(Dimension(itemWidth, __itemHeight), style);
288 float mainTextWidth = 0.0;
289 float countTextWidth = 0.0;
290 String countString(L"");
291 if(pCalllogData->GetConsecutiveNoCounter() > 1)
293 float textWidth = GetTextWidth(contactName);
294 countString.Append(IDS_LEFT_BRACE);
295 countString.Append(pCalllogData->GetConsecutiveNoCounter());
296 countString.Append(IDS_RIGHT_BRACE);
297 countTextWidth = GetTextWidth(countString);
299 if (__isEditStyle == false)
301 width = ((itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN) - countTextWidth);
305 width = ((itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN) - countTextWidth - 76);
307 if(textWidth > width)
309 mainTextWidth = width;
313 mainTextWidth = textWidth;
318 if (__isEditStyle == false)
320 mainTextWidth = itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN;
324 mainTextWidth = itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN - W_TEXT_LINE2_ITEM_RIGHT_MARGIN_DELETE;
327 AppLog("mainTextWidth = %d", mainTextWidth);
328 float mainTextHeight = __fontSize + 16;
329 if (__isEditStyle == false)
331 if(pCalllogData->GetConsecutiveNoCounter() > 1)
333 pItem->AddElement(FloatRectangle(X_TEXT_LINE1_ITEM, Y_TEXT_LINE1_ITEM, mainTextWidth, mainTextHeight), ID_NAME_STRING, contactName, __fontSize, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
334 pItem->AddElement(FloatRectangle(X_TEXT_LINE1_ITEM + mainTextWidth, Y_TEXT_LINE1_ITEM, countTextWidth, mainTextHeight), ID_NAME_STRING_COUNTER, countString,__fontSize, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), false);
338 pItem->AddElement(FloatRectangle(X_TEXT_LINE1_ITEM, Y_TEXT_LINE1_ITEM, mainTextWidth, mainTextHeight), ID_NAME_STRING, contactName,__fontSize, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
340 pItem->AddElement(FloatRectangle(X_TEXT_LINE2_ITEM, (Y_TEXT_LINE1_ITEM + mainTextHeight), (itemWidth - W_TEXT_LINE2_ITEM_RIGHT_MARGIN), H_TEXT_LINE2_ITEM), ID_NUMBER_STRING, phoneNumber, 32, Color::GetColor(COLOR_ID_GREY), Color::GetColor(COLOR_ID_GREY), Color::GetColor(COLOR_ID_GREY), true);
344 if(pCalllogData->GetConsecutiveNoCounter() > 1)
346 pItem->AddElement(FloatRectangle(X_TEXT_LINE1_ITEM, Y_TEXT_LINE1_ITEM, mainTextWidth, mainTextHeight), ID_NAME_STRING, contactName, __fontSize, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
347 pItem->AddElement(FloatRectangle(X_TEXT_LINE1_ITEM + mainTextWidth, Y_TEXT_LINE1_ITEM, countTextWidth, mainTextHeight), ID_NAME_STRING_COUNTER, countString, __fontSize, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), false);
351 pItem->AddElement(FloatRectangle(X_TEXT_LINE1_ITEM, Y_TEXT_LINE1_ITEM, mainTextWidth, mainTextHeight), ID_NAME_STRING, contactName, __fontSize, Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), Color::GetColor(COLOR_ID_BLACK), true);
353 pItem->AddElement(FloatRectangle(X_TEXT_LINE2_ITEM, (Y_TEXT_LINE1_ITEM + mainTextHeight), (itemWidth - W_TEXT_LINE2_ITEM_RIGHT_MARGIN) - W_TEXT_LINE2_ITEM_RIGHT_MARGIN_DELETE, H_TEXT_LINE2_ITEM), ID_NUMBER_STRING, phoneNumber, 32, Color::GetColor(COLOR_ID_GREY), Color::GetColor(COLOR_ID_GREY), Color::GetColor(COLOR_ID_GREY), true);
356 pText->Construct(Dimension(W_LOG_ITEM_TEXT, H_LOG_ITEM_TEXT));
\r
357 pText->SetHorizontalAlignment(TEXT_ALIGNMENT_RIGHT);
\r
358 pText->SetVerticalAlignment(TEXT_ALIGNMENT_BOTTOM);
\r
359 font.Construct(FONT_STYLE_PLAIN, LOG_ITEM_FONT_SIZE);
360 textElement->Construct(dateText);
361 textElement->SetFont(font);
362 textElement->SetTextColor(Color::GetColor(COLOR_ID_GREY));
363 pText->Add(*textElement);
\r
364 if (__isEditStyle == false)
366 pItem->AddElement(Rectangle((itemWidth - X_TEXT_TIME_ITEM_RIGHT_MARGIN), (Y_TEXT_LINE1_ITEM + __fontSize), W_TEXT_TIME_ITEM, H_TEXT_TIME_ITEM), ID_TIME_STRING, *pText);
\r
370 pItem->AddElement(Rectangle((itemWidth - X_TEXT_TIME_ITEM_RIGHT_MARGIN) - 90, (Y_TEXT_LINE1_ITEM + __fontSize), W_TEXT_TIME_ITEM, H_TEXT_TIME_ITEM), ID_TIME_STRING, *pText);
\r
373 pBitmap = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
376 Bitmap* pLogTypeBitmap = null;
377 GetCallogIconBitmap(pCalllogData->GetCalllogType(),pLogTypeBitmap,pBitmap);
379 if(pLogTypeBitmap != null)
381 if (__isEditStyle == false)
383 //pItem->AddElement(Rectangle(X_LOGCALL_BITMAP_ITEM, Y_LOGCALL_BITMAP_ITEM, W_LOGCALL_BITMAP_ITEM, H_LOGCALL_BITMAP_ITEM), ID_LOGCALL_BITMAP, *pLogTypeBitmap);
384 pItem->AddElement(Rectangle((itemWidth - X_LOGCALL_BITMAP_RIGHT_MARGIN), Y_LOGCALL_BITMAP_ITEM, W_LOGCALL_BITMAP_ITEM, H_LOGCALL_BITMAP_ITEM), ID_LOGCALL_BITMAP, *pLogTypeBitmap);
388 //pItem->AddElement(Rectangle(X_LOGCALL_BITMAP_ITEM - 90, Y_LOGCALL_BITMAP_ITEM, W_LOGCALL_BITMAP_ITEM, H_LOGCALL_BITMAP_ITEM), ID_LOGCALL_BITMAP, *pLogTypeBitmap);
389 pItem->AddElement(Rectangle((itemWidth - X_LOGCALL_BITMAP_RIGHT_MARGIN) - 90, Y_LOGCALL_BITMAP_ITEM, W_LOGCALL_BITMAP_ITEM, H_LOGCALL_BITMAP_ITEM), ID_LOGCALL_BITMAP, *pLogTypeBitmap);
391 delete pLogTypeBitmap;
392 pLogTypeBitmap = null;
397 pItem->AddElement(Rectangle(X_CALLTYPE_BITMAP_ITEM, (Y_TEXT_LINE1_ITEM + __fontSize + 20), W_CALLTYPE_BITMAP_ITEM, H_CALLTYPE_BITMAP_ITEM), ID_CALLTYPE_BITMAP, *pBitmap);
401 if (__isEditStyle == false)
403 //if it is a hidden call log
404 if(pCalllogData->GetPhoneNumber() == null)
406 pItem->SetContextItem(__pItemContextForHidenLogs);
408 else if(phoneNumber.Contains(L"@"))
410 pItem->SetContextItem(__pItemContextForMMLogs);
414 pItem->SetContextItem(__pItemContext);
425 CustomDataProvider::GetTextWidth(String contactName)
427 TextElement* pTextElement = new (std::nothrow) TextElement();
428 pTextElement->Construct(contactName);
429 Font* ContactNameTextfont = new (std::nothrow) Font();
430 ContactNameTextfont->Construct(FONT_STYLE_PLAIN, __fontSize);
431 FloatDimension textDimension;
432 ContactNameTextfont->GetTextExtent(contactName, contactName.GetLength(), textDimension);
433 return textDimension.width;
437 CustomDataProvider::GetCallogIconBitmap(CallLogType logType,Bitmap*& iconType, Bitmap*& iconArrow)
439 AppResource* pAppResource = App::GetInstance()->GetAppResource();
442 case CALL_LOG_TYPE_VOICE_INCOMING:
444 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
445 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
449 case CALL_LOG_TYPE_VOICE_OUTGOING:
451 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
452 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
455 case CALL_LOG_TYPE_VOICE_REJECTED:
457 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
458 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
462 case CALL_LOG_TYPE_VOICE_MISSED:
464 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
465 iconArrow = pAppResource->GetBitmapN(IDB_LOG_MISSEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
468 case CALL_LOG_TYPE_VOICE_BLOCKED:
470 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
471 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
475 case CALL_LOG_TYPE_VIDEO_INCOMING:
477 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
478 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
481 case CALL_LOG_TYPE_VIDEO_OUTGOING:
483 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
484 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
487 case CALL_LOG_TYPE_VIDEO_MISSED:
488 case CALL_LOG_TYPE_VIDEO_REJECTED:
490 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
491 iconArrow = pAppResource->GetBitmapN(IDB_LOG_MISSEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
494 case CALL_LOG_TYPE_VIDEO_BLOCKED:
496 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
497 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
501 case CALL_LOG_TYPE_SMS_INCOMING:
503 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
504 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
507 case CALL_LOG_TYPE_SMS_OUTGOING:
509 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
510 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
514 case CALL_LOG_TYPE_SMS_BLOCKED:
516 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
517 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
521 case CALL_LOG_TYPE_MMS_INCOMING:
523 iconType = pAppResource->GetBitmapN(IDB_LOG_MMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
524 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
527 case CALL_LOG_TYPE_MMS_OUTGOING:
529 iconType = pAppResource->GetBitmapN(IDB_LOG_MMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
530 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
533 case CALL_LOG_TYPE_MMS_BLOCKED:
535 iconType = pAppResource->GetBitmapN(IDB_LOG_MMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
536 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
539 case CALL_LOG_TYPE_EMAIL_INCOMING:
541 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
542 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
545 case CALL_LOG_TYPE_EMAIL_OUTGOING:
547 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
548 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
553 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
554 iconArrow = pAppResource->GetBitmapN(IDB_LOG_MISSEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
561 CustomDataProvider::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
572 CustomDataProvider::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
583 CustomDataProvider::SetListItemStyle(bool mode)
585 __isEditStyle = mode;