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 static const unsigned int COLOR_ITEM_DELETE_TEXT = Color32<255, 255, 255>::Value;
62 static const unsigned int COLOR_ITEM_DELETE_BACKGROUND = Color32<208, 82, 82>::Value;
63 static const unsigned int COLOR_ITEM_DELETE_PRESSED_BACKGROUND = Color32<194, 71, 71>::Value;
65 CustomDataProvider::CustomDataProvider(void)
67 __isEditStyle = false;
69 __pAddressBook = AddressbookManager::GetInstance()->GetAddressbookN();;
70 __pItemContext = new ListContextItem();
71 __pItemContext->Construct();
72 String voiceCallStr = AppUtility::GetResourceString(IDS_VOICE_CALL_CONTEXT_ITEM);
73 __pItemContext->AddElement(IDA_LIST_ELEMENT_CALL, voiceCallStr);
74 String messageStr = AppUtility::GetResourceString(IDS_MSG_CONTEXT_ITEM);
75 __pItemContext->AddElement(IDA_LIST_ELEMENT_MESSAGE, messageStr);
76 String videoCallStr = AppUtility::GetResourceString(IDS_VIDEO_CALL_CONTEXT_ITEM);
77 __pItemContext->AddElement(IDA_LIST_ELEMENT_VIDEO_CALL, videoCallStr, false);
78 String delStr = AppUtility::GetResourceString(IDS_DELETE_BTN_STRING);
79 __pItemContext->AddElement(IDA_LIST_ELEMENT_DELETE, delStr);
80 __pItemContext->SetElementBackgroundColor(IDA_LIST_ELEMENT_DELETE, LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL, Color(COLOR_ITEM_DELETE_BACKGROUND));
81 __pItemContext->SetElementBackgroundColor(IDA_LIST_ELEMENT_DELETE, LIST_CONTEXT_ITEM_ELEMENT_STATUS_PRESSED, Color(COLOR_ITEM_DELETE_PRESSED_BACKGROUND));
82 __pItemContext->SetElementBackgroundColor(IDA_LIST_ELEMENT_DELETE, LIST_CONTEXT_ITEM_ELEMENT_STATUS_HIGHLIGHTED, Color(COLOR_ITEM_DELETE_PRESSED_BACKGROUND));
83 __pItemContext->SetElementTextColor(IDA_LIST_ELEMENT_DELETE, LIST_CONTEXT_ITEM_ELEMENT_STATUS_NORMAL, Color(COLOR_ITEM_DELETE_TEXT));
86 __pItemContextForMMLogs = new ListContextItem();
87 __pItemContextForMMLogs->Construct();
88 voiceCallStr = AppUtility::GetResourceString(IDS_VOICE_CALL_CONTEXT_ITEM);
89 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_CALL, voiceCallStr, false);
90 messageStr = AppUtility::GetResourceString(IDS_MSG_CONTEXT_ITEM);
91 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_MESSAGE, messageStr);
92 videoCallStr = AppUtility::GetResourceString(IDS_VIDEO_CALL_CONTEXT_ITEM);
93 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_VIDEO_CALL, videoCallStr, false);
94 delStr = AppUtility::GetResourceString(IDS_DELETE_BTN_STRING);
95 __pItemContextForMMLogs->AddElement(IDA_LIST_ELEMENT_DELETE, delStr);
98 __pItemContextForHidenLogs = new ListContextItem();
99 __pItemContextForHidenLogs->Construct();
100 voiceCallStr = AppUtility::GetResourceString(IDS_VOICE_CALL_CONTEXT_ITEM);
101 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_CALL, voiceCallStr, false);
102 messageStr = AppUtility::GetResourceString(IDS_MSG_CONTEXT_ITEM);
103 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_MESSAGE, messageStr, false);
104 videoCallStr = AppUtility::GetResourceString(IDS_VIDEO_CALL_CONTEXT_ITEM);
105 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_VIDEO_CALL, videoCallStr, false);
106 delStr = AppUtility::GetResourceString(IDS_DELETE_BTN_STRING);
107 __pItemContextForHidenLogs->AddElement(IDA_LIST_ELEMENT_DELETE, delStr);
110 __itemHeight = 112.f;
115 CustomDataProvider::~CustomDataProvider(void)
117 //ArrayList* pCalllogList = null;
\r
118 //GroupItemClass* pGroupInfo = null;
\r
120 if(__pAddressBook != null)
122 delete __pAddressBook;
124 if (__pItemContext != null)
126 delete __pItemContext;
127 __pItemContext = null;
129 if (__pItemContextForMMLogs != null)
131 delete __pItemContextForMMLogs;
132 __pItemContextForMMLogs = null;
134 if (__pItemContextForHidenLogs != null)
136 delete __pItemContextForHidenLogs;
137 __pItemContextForHidenLogs = null;
142 CustomDataProvider::GetItemAtGroupIndex(int groupIndex, int itemIndex, CallLogDetails** pCalllogDetails)
144 if(__pGroupData != null)
146 GroupItemClass* pGroupInfo = null;
147 ArrayList* list = null;
148 pGroupInfo = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
149 if(pGroupInfo != null)
151 list = pGroupInfo->GetLogData();
152 *pCalllogDetails = static_cast<CallLogDetails*>(list->GetAt(itemIndex));
158 CustomDataProvider::GetGroupCount(void)
160 AppUtility::GetGlobalFontAndItemHeight(&__fontSize, &__itemHeight);
161 __pGroupData = CalLogPresentationModel::GetInstance()->GetCallLogGroups();
\r
162 if(__pGroupData != null)
164 return __pGroupData->GetCount();
170 CustomDataProvider::GetItemCount(int groupIndex)
172 GroupItemClass* group = null;
173 if(__pGroupData != null)
175 group = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
178 return (group->GetLogData())->GetCount();
185 CustomDataProvider::CreateGroupItem(int groupIndex, int itemWidth)
187 AppResource* pAppResource = App::GetInstance()->GetAppResource();
188 GroupItem* pItem = new GroupItem();
189 pItem->Construct(Dimension(itemWidth, 48));
191 String appPath = (Application::GetInstance())->GetAppRootPath();
192 Bitmap* pBitmap = null;
193 pBitmap = pAppResource->GetBitmapN(IDB_CALLOG_LIST_BG,BITMAP_PIXEL_FORMAT_ARGB8888);
195 GroupItemClass* group = null;
196 if(__pGroupData != null)
198 group = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
201 pItem->SetElement(group->GetTitleText(), pBitmap);
212 CustomDataProvider::CreateItem(int groupIndex, int itemIndex, int itemWidth)
214 AppLogDebug("Enter");
215 GroupItemClass* pGroup = null;
216 ArrayList* pCalllogList = null;
217 CallLogDetails* pCalllogData = null;
218 String phoneNumber(AppUtility::GetResourceString(IDS_CALLLOG_NO_NUMBER));
219 String contactName(AppUtility::GetResourceString(IDS_CALLLOG_NO_NAME));
220 DateTime calllogDate;
221 String dateText(L"");
222 String key(L"24HourFormatSelected");
224 bool dateFormat24 = true;
225 Bitmap* pBitmap = null;
226 AppResource* pAppResource = App::GetInstance()->GetAppResource();
228 if(__pGroupData != null)
230 pGroup = static_cast<GroupItemClass*>(__pGroupData->GetAt(groupIndex));
233 pCalllogList = pGroup->GetLogData();
234 if(pCalllogList != null)
236 pCalllogData = static_cast<CallLogDetails*>(pCalllogList->GetAt(itemIndex));
241 if(pCalllogData == null)
247 if(pCalllogData->GetPhoneNumber() != null)
249 phoneNumber = pCalllogData->GetPhoneNumber();
252 //CallLogManager* pManager = CallLogManager::GetInstance();
253 CalLogPresentationModel::GetInstance()->GetCalllogContactName(phoneNumber,contactName);
254 pCalllogData->ConvertTimetoDateTime();
255 calllogDate = pCalllogData->GetDateTime();
256 int hour = calllogDate.GetHour();
257 SettingInfo::GetValue(key, dateFormat24);
259 if (dateFormat24 == false)
261 if (hour > MAX_TWELVEHOUR_FORMAT)
263 hour -= MAX_TWELVEHOUR_FORMAT;
264 amPm.Append(AppUtility::GetResourceString(IDS_PM_TIME));
266 else if (hour < MAX_TWELVEHOUR_FORMAT)
268 amPm.Append(AppUtility::GetResourceString(IDS_AM_TIME));
270 else if (hour == MAX_TWELVEHOUR_FORMAT)
272 amPm.Append(AppUtility::GetResourceString(IDS_PM_TIME));
274 dateText.Format(MAX_TWELVEHOUR_FORMAT_LENGTH,L"%02d:%02d%ls", hour, calllogDate.GetMinute(), amPm.GetPointer());
278 dateText.Format(MAX_TWENTYFOUR_FORMAT_LENGTH,L"%02d:%02d", calllogDate.GetHour(), calllogDate.GetMinute());
282 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
283 EnrichedText* pText = new (std::nothrow) EnrichedText();
\r
284 TextElement* textElement = new (std::nothrow) TextElement();
286 String appPath = (Application::GetInstance())->GetAppRootPath();
288 CustomItem* pItem = new (std::nothrow) CustomItem();
290 if (__isEditStyle == true)
292 style = LIST_ANNEX_STYLE_MARK;
295 pItem->Construct(Dimension(itemWidth, __itemHeight), style);
297 float mainTextWidth = 0.0;
298 float countTextWidth = 0.0;
299 String countString(L"");
300 if(pCalllogData->GetConsecutiveNoCounter() > 1)
302 float textWidth = GetTextWidth(contactName);
303 countString.Append(IDS_LEFT_BRACE);
304 countString.Append(pCalllogData->GetConsecutiveNoCounter());
305 countString.Append(IDS_RIGHT_BRACE);
306 countTextWidth = GetTextWidth(countString);
308 if (__isEditStyle == false)
310 width = ((itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN) - countTextWidth);
314 width = ((itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN) - countTextWidth - 76);
316 if(textWidth > width)
318 mainTextWidth = width;
322 mainTextWidth = textWidth;
327 if (__isEditStyle == false)
329 mainTextWidth = itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN;
333 mainTextWidth = itemWidth - W_TEXT_LINE1_ITEM_RIGHT_MARGIN - W_TEXT_LINE2_ITEM_RIGHT_MARGIN_DELETE;
336 AppLog("mainTextWidth = %d", mainTextWidth);
337 float mainTextHeight = __fontSize + 16;
338 if (__isEditStyle == false)
340 if(pCalllogData->GetConsecutiveNoCounter() > 1)
342 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);
343 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);
347 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);
349 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);
353 if(pCalllogData->GetConsecutiveNoCounter() > 1)
355 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);
356 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);
360 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);
362 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);
365 pText->Construct(Dimension(W_LOG_ITEM_TEXT, H_LOG_ITEM_TEXT));
\r
366 pText->SetHorizontalAlignment(TEXT_ALIGNMENT_RIGHT);
\r
367 pText->SetVerticalAlignment(TEXT_ALIGNMENT_BOTTOM);
\r
368 font.Construct(FONT_STYLE_PLAIN, LOG_ITEM_FONT_SIZE);
369 textElement->Construct(dateText);
370 textElement->SetFont(font);
371 textElement->SetTextColor(Color::GetColor(COLOR_ID_GREY));
372 pText->Add(*textElement);
\r
373 if (__isEditStyle == false)
375 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
379 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
385 Bitmap* pLogTypeBitmap = null;
386 GetCallogIconBitmap(pCalllogData->GetCalllogType(),pLogTypeBitmap,pBitmap);
388 if(pLogTypeBitmap != null)
390 if (__isEditStyle == false)
392 //pItem->AddElement(Rectangle(X_LOGCALL_BITMAP_ITEM, Y_LOGCALL_BITMAP_ITEM, W_LOGCALL_BITMAP_ITEM, H_LOGCALL_BITMAP_ITEM), ID_LOGCALL_BITMAP, *pLogTypeBitmap);
393 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);
397 //pItem->AddElement(Rectangle(X_LOGCALL_BITMAP_ITEM - 90, Y_LOGCALL_BITMAP_ITEM, W_LOGCALL_BITMAP_ITEM, H_LOGCALL_BITMAP_ITEM), ID_LOGCALL_BITMAP, *pLogTypeBitmap);
398 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);
400 delete pLogTypeBitmap;
401 pLogTypeBitmap = null;
406 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);
410 if (__isEditStyle == false)
412 //if it is a hidden call log
413 if(pCalllogData->GetPhoneNumber() == null)
415 pItem->SetContextItem(__pItemContextForHidenLogs);
417 else if(phoneNumber.Contains(L"@"))
419 pItem->SetContextItem(__pItemContextForMMLogs);
423 pItem->SetContextItem(__pItemContext);
435 CustomDataProvider::GetTextWidth(String contactName)
437 TextElement* pTextElement = new (std::nothrow) TextElement();
438 pTextElement->Construct(contactName);
439 Font* ContactNameTextfont = new (std::nothrow) Font();
440 ContactNameTextfont->Construct(FONT_STYLE_PLAIN, __fontSize);
441 FloatDimension textDimension;
442 ContactNameTextfont->GetTextExtent(contactName, contactName.GetLength(), textDimension);
444 delete ContactNameTextfont;
445 return textDimension.width;
449 CustomDataProvider::GetCallogIconBitmap(CallLogType logType,Bitmap*& iconType, Bitmap*& iconArrow)
451 AppResource* pAppResource = App::GetInstance()->GetAppResource();
454 case CALL_LOG_TYPE_VOICE_INCOMING:
456 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
457 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
460 case CALL_LOG_TYPE_VOICE_OUTGOING:
462 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
463 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
466 case CALL_LOG_TYPE_VOICE_REJECTED:
468 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
469 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
473 case CALL_LOG_TYPE_VOICE_MISSED:
475 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
476 iconArrow = pAppResource->GetBitmapN(IDB_LOG_MISSEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
479 case CALL_LOG_TYPE_VOICE_BLOCKED:
481 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
482 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
486 case CALL_LOG_TYPE_VIDEO_INCOMING:
488 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
489 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
492 case CALL_LOG_TYPE_VIDEO_OUTGOING:
494 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
495 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
498 case CALL_LOG_TYPE_VIDEO_MISSED:
499 case CALL_LOG_TYPE_VIDEO_REJECTED:
501 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
502 iconArrow = pAppResource->GetBitmapN(IDB_LOG_MISSEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
505 case CALL_LOG_TYPE_VIDEO_BLOCKED:
507 iconType = pAppResource->GetBitmapN(IDB_LOG_VIDEO_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
508 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
512 case CALL_LOG_TYPE_SMS_INCOMING:
514 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
515 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
518 case CALL_LOG_TYPE_SMS_OUTGOING:
520 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
521 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
525 case CALL_LOG_TYPE_SMS_BLOCKED:
527 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
528 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
532 case CALL_LOG_TYPE_MMS_INCOMING:
534 iconType = pAppResource->GetBitmapN(IDB_LOG_MMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
535 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
538 case CALL_LOG_TYPE_MMS_OUTGOING:
540 iconType = pAppResource->GetBitmapN(IDB_LOG_MMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
541 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
544 case CALL_LOG_TYPE_MMS_BLOCKED:
546 iconType = pAppResource->GetBitmapN(IDB_LOG_MMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
547 iconArrow = pAppResource->GetBitmapN(IDB_LOG_BLOCKEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
550 case CALL_LOG_TYPE_EMAIL_INCOMING:
552 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
553 iconArrow = pAppResource->GetBitmapN(IDB_LOG_RECEIVEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
556 case CALL_LOG_TYPE_EMAIL_OUTGOING:
558 iconType = pAppResource->GetBitmapN(IDB_LOG_SMS_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
559 iconArrow = pAppResource->GetBitmapN(IDB_LOG_DIALEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
564 iconType = pAppResource->GetBitmapN(IDB_LOG_CALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
565 iconArrow = pAppResource->GetBitmapN(IDB_LOG_MISSEDCALL_ICON ,BITMAP_PIXEL_FORMAT_ARGB8888);
572 CustomDataProvider::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
583 CustomDataProvider::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
594 CustomDataProvider::SetListItemStyle(bool mode)
596 __isEditStyle = mode;