#include "phone/include/phoneaddressmodel.h"
#include "wearable_log.h"
#include "ui_resource_string.h"
+#include "UiConfig.h"
+#include "AppViewIDs.h"
+#include "NativeAbility.h"
namespace OHOS
{
NoCallsLabel = nullptr;
}
- for(int i=0;i<20;i++)
+ for(int i=0;i<CALL_LOG_MAX_NUM;i++)
{
- if(button_calllog[i])
- {
- delete button_calllog[i];
- button_calllog[i] = nullptr;
- }
- }
-
- for(int i=0;i<20;i++)
- {
- if(button_calllog_time[i])
- {
- delete button_calllog_time[i];
- button_calllog_time[i] = nullptr;
- }
- }
- for(int i=0;i<20;i++)
- {
- if(button_calllog_status[i])
+ if(button_calllog_SwipeView[i])
{
- delete button_calllog_status[i];
- button_calllog_status[i] = nullptr;
+ button_calllog_SwipeView[i]->RemoveAll();
+ if(SwipeViewItem[i][0])
+ {
+ SwipeViewItem[i][0]->RemoveAll();
+ if(button_calllog[i])
+ {
+ delete button_calllog[i];
+ button_calllog[i] = nullptr;
+ }
+ if(button_calllog_time[i])
+ {
+ delete button_calllog_time[i];
+ button_calllog_time[i] = nullptr;
+ }
+
+ if(button_calllog_status[i])
+ {
+ delete button_calllog_status[i];
+ button_calllog_status[i] = nullptr;
+ }
+ if(call_log_type[i])
+ {
+ delete call_log_type[i];
+ call_log_type[i] = nullptr;
+ }
+
+ delete SwipeViewItem[i][0];
+ SwipeViewItem[i][0]=nullptr;
+ }
+ if(SwipeViewItem[i][1])
+ {
+ SwipeViewItem[i][1]->RemoveAll();
+
+ if(DeleteButton[i])
+ {
+ delete DeleteButton[i];
+ DeleteButton[i] = nullptr;
+ }
+
+ delete SwipeViewItem[i][1];
+ SwipeViewItem[i][1]=nullptr;
+ }
+
+ delete button_calllog_SwipeView[i];
+ button_calllog_SwipeView[i]=nullptr;
}
+
}
- for(int i=0;i<20;i++)
+
+
+ for(int i=0;i<CALL_LOG_MAX_NUM;i++)
{
if(info[i])
{
UIFree(info[i]);
info[i]=nullptr;
}
-
}
-
+ if(button_delete_all_calllog)
+ {
+ delete button_delete_all_calllog;
+ button_delete_all_calllog = nullptr;
+ }
+
if(hintCallsLabel)
{
delete hintCallsLabel;
}
static int32 num = 0;
+
+ void MainPhoneView:: DeInit_button_calllog_SwipeView(void)
+ {
+ for(int i=0;i<CALL_LOG_MAX_NUM;i++)
+ {
+ if(button_calllog_SwipeView[i])
+ {
+ button_calllog_SwipeView[i]->SetVisible(false);
+ }
+
+ }
+ }
+
+
+ int8_t MainPhoneView::get_delete_id(UIView *view)
+ {
+ for(int i=0;i<num;i++)
+ {
+ if(view==DeleteButton[i])
+ {
+ return num-i-1;
+ }
+ }
+ return -1;
+
+ }
+
+
+ void MainPhoneView::deletecallloginfo(uint8_t id)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d",id);
+ if(id==255)
+ {
+ ClearCallLogFile();
+ NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_PHONE);
+ return;
+ }
+ id--;
+ if(id>num)
+ {
+ return;
+ }
+
+ if(info[id]!=nullptr)
+ {
+ //updatacalllogbutton(false);
+ for(int i=id;i<num;i++)
+ {
+ if(info[id+1] && (id+1) < num)
+ {
+ memcpy_s(info[i],sizeof(CallLogInfo),info[i+1],1);
+ }
+ else
+ {
+ UIFree(info[i]);
+ info[i]=nullptr;
+ }
+
+ }
+ num--;
+ SaveCallLog(info,num);
+ //重新刷新
+ NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_PHONE);
+ // updatacalllogbutton(true);
+ // MainPhoneViewScrollView->Invalidate();
+ }
+ else
+ {
+ return;
+ }
+
+ }
+
+ void MainPhoneView::updatacalllogbutton(bool flag)
+ {
+ if(flag)
+ {
+ TelephonyInitInterface::LabelParams labelParam;
+ if (num != 0) {
+ int y=0;
+ for (int i = num; i != 0; i--) {
+ Init_button_calllog_SwipeView(info[i-1],y);
+ y++;
+ }
+ hintCallsLabel->SetPosition(83,365+num*124);
+
+ }
+ else
+ {
+ hintCallsLabel->SetVisible(false);
+ NoCallsLabel->SetVisible(true);
+
+ }
+ }
+ else
+ {
+ DeInit_button_calllog_SwipeView();
+ }
+
+ }
+
+ static char *str_id[]={"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"};
+
+ void MainPhoneView:: NewcalllogButtonExtupdata(CallLogInfo *data, uint8_t index,uint8_t i)
+ {
+ if(index==0)
+ {
+ //SwipeViewItem[i][0]
+ char *txt;
+ char buf[20]={0};
+ sprintf_s(buf,20,"%s",(const char*)(data)->tel);
+ char name[64]={0};
+ if(get_phone_addrss_name(name,buf,NULL))
+ {
+ txt=name;
+ }else
+ {
+ txt=buf;
+ }
+ const char* ViewId=(const char*)(data)->tel;
+ button_calllog[i]->SetViewId(ViewId);
+ button_calllog[i]->SetText(txt);
+
+ time_t currtime;
+ struct tm *timeinfo;
+ currtime=(data)->creationTime;
+ timeinfo = localtime(&currtime);
+ char time_buf[20]={0};
+
+ sprintf_s(time_buf,20 ,"%d-%d-%d %d:%02d", timeinfo->tm_year + 1900,timeinfo->tm_mon + 1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min);
+
+
+ button_calllog_time[i]->SetText(time_buf);
+
+ if (button_calllog_status[i] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
+ }
+ if((data)->status==CALL_MISSED)
+ {
+ button_calllog_status[i]->SetTextId(STR_MISSED_CALLS);
+ button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
+ }
+ else if((data)->status==CALL_INCOMING)
+ {
+ button_calllog_status[i]->SetTextId(STR_RECEIVED_CALLS);
+ button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
+ }
+ else
+ {
+ button_calllog_status[i]->SetTextId(STR_DIALED_CALLS);
+ button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
+ }
+ }
+ else
+ {
+ DeleteButton[i]->SetViewId(str_id[i+1]);
+ }
+
+ }
+
+ UIViewGroup * MainPhoneView::NewcalllogButtonExt(CallLogInfo *data, uint8_t index,uint8_t i)
+ {
+ UIViewGroup * TempGroup_ = new UIViewGroup();
+ if(nullptr == TempGroup_)
+ return nullptr;
+ UIView::OnClickListener *ButtonOnclickListen = static_cast<UIView::OnClickListener *>(MainPhonePresenter::GetInstance());
+ if (ButtonOnclickListen == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ButtonOnclickListen new fail!");
+ return nullptr;
+ }
+
+ if(0 == index)
+ {
+ TempGroup_->SetPosition(0, 0, 390, 104);
+ TempGroup_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+ TempGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+ TempGroup_->SetStyle(STYLE_BORDER_RADIUS, 100);
+
+
+
+ MainPhoneView_ButtonConfig_ext_t buttonconfig;
+ buttonconfig.x = 0;
+ buttonconfig.y = 0;
+ buttonconfig.w = 390;
+ buttonconfig.h = 104;
+ buttonconfig.ViewId="xxxx";
+
+ char buf[20]={0};
+ sprintf_s(buf,20,"%s",(const char*)(data)->tel);
+ char name[64]={0};
+ if(get_phone_addrss_name(name,buf,NULL))
+ {
+ buttonconfig.str=name;
+ }else
+ {
+ buttonconfig.str=buf;
+ }
+ buttonconfig.ViewId=(const char*)(data)->tel;
+ button_calllog[i]=SetTheButton_ext(buttonconfig,ButtonOnclickListen);
+ if(button_calllog[i]==nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::button_calllog new fail!");
+ }
+ TempGroup_->Add(button_calllog[i]);
+
+
+ TelephonyInitInterface::LabelParams labelParam = {
+ .x = 50,
+ .y = 60,
+ .width = 160,
+ .height = 35,
+ .fontSize = 23,
+ .lineHeigh = 0,
+ .text = "2023-1-23 14:22",
+ .lineBreakMode = UILabel::LINE_BREAK_ADAPT,
+ };
+
+ time_t currtime;
+ struct tm *timeinfo;
+ currtime=(data)->creationTime;
+ timeinfo = localtime(&currtime);
+ char time_buf[20]={0};
+
+ labelParam.x=50,
+ labelParam.text=time_buf;
+ labelParam.fontSize = 23;
+ sprintf_s(time_buf,20 ,"%d-%d-%d %d:%02d", timeinfo->tm_year + 1900,timeinfo->tm_mon + 1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min);
+
+
+ button_calllog_time[i] = TelephonyInitInterface::LabelViewInit(labelParam,Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
+ if (button_calllog_time[i] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
+ }
+ TempGroup_->Add(button_calllog_time[i]);
+
+ labelParam.fontSize=18;
+ labelParam.x=223+30;
+ labelParam.lineBreakMode=UILabel::LINE_BREAK_MARQUEE;
+ labelParam.width=72;
+ labelParam.height=21;
+
+ ColorType color;
+ button_calllog_status[i] = TelephonyInitInterface::LabelViewInit(labelParam,color);
+ if (button_calllog_status[i] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
+ }
+ if((data)->status==CALL_MISSED)
+ {
+ button_calllog_status[i]->SetTextId(STR_MISSED_CALLS);
+ button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
+ }
+ else if((data)->status==CALL_INCOMING)
+ {
+ button_calllog_status[i]->SetTextId(STR_RECEIVED_CALLS);
+ button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
+ }
+ else
+ {
+ button_calllog_status[i]->SetTextId(STR_DIALED_CALLS);
+ button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
+ }
+ TempGroup_->Add(button_calllog_status[i]);
+
+ if (call_log_type[i] == nullptr) {
+ call_log_type[i] = new UIImageView();
+ }
+ call_log_type[i] ->SetPosition(253+90, 60); // widget's left position and top position
+ call_log_type[i] ->Resize(20, 20); // widget's width and height
+ call_log_type[i] ->SetViewId("image1");// Set style
+ call_log_type[i] ->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+ call_log_type[i] ->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ call_log_type[i]->SetSrc(data->calllogtype?PNG_CALL_LOG_PHONE_IMAGE:PNG_CALL_LOG_WATCH_IMAGE);
+ TempGroup_->Add(call_log_type[i]);
+ }
+ else
+ {
+ TempGroup_->SetPosition(0, 0, 100, 100);
+ TempGroup_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ TempGroup_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+ TempGroup_->SetStyle(STYLE_BORDER_RADIUS, 100);
+
+ TelephonyInitInterface::ButtonParams buttonParam = {
+ .x = 0,
+ .y = 0,
+ .width = 100,
+ .height = 100,
+ .viewId = str_id[i+1],
+ .backgroundColor = 0xff4fc34c,
+ .pressedBackgroundColor = 0xff4fc34c,
+ };
+ DeleteButton[i] = TelephonyInitInterface::ButtonViewInit(buttonParam);
+ if (DeleteButton[i] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::DialingMethodButton new fail!");
+ return nullptr;
+ }
+ DeleteButton[i]->SetImagePosition(0, 0);
+ DeleteButton[i]->SetImageSrc(PNG_DELETE_PHONELINE_IMAGE, PNG_DELETE_PHONELINE_IMAGE);
+ DeleteButton[i]->SetOnClickListener(ButtonOnclickListen);
+ TempGroup_->Add(DeleteButton[i]);
+ }
+
+ return TempGroup_;
+ }
+
+ void MainPhoneView::Init_button_calllog_SwipeView( CallLogInfo *data,uint8_t i)
+ {
+ if(button_calllog_SwipeView[i]!=nullptr)
+ {
+ NewcalllogButtonExtupdata(data,0,i);
+ NewcalllogButtonExtupdata(data,1,i);
+ return;
+ }
+ button_calllog_SwipeView[i] = new UISwipeView(UISwipeView::HORIZONTAL);
+
+ button_calllog_SwipeView[i]->SetPosition(38, 365+i*(124), 390, 104);
+ button_calllog_SwipeView[i]->SetTouchable(true);
+ button_calllog_SwipeView[i]->SetViewId("no_back");
+ button_calllog_SwipeView[i]->SetOnSwipeListener(presenter_);
+ button_calllog_SwipeView[i]->SetAnimatorTime(50); // 200:animator drag time(ms)
+ // UIView::OnDragListener *dragListener = static_cast<UIView::OnDragListener *>(MainPhonePresenter::GetInstance());
+ // button_calllog_SwipeView[i]->SetOnDragListener(dragListener);
+
+ button_calllog_SwipeView[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ button_calllog_SwipeView[i]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+ button_calllog_SwipeView[i]->SetStyle(STYLE_BORDER_RADIUS, 100);
+
+
+ SwipeViewItem[i][0] = NewcalllogButtonExt(data, 0,i);
+
+ button_calllog_SwipeView[i]->Add(SwipeViewItem[i][0]);
+
+ SwipeViewItem[i][1] = NewcalllogButtonExt(data,1, i);
+
+ button_calllog_SwipeView[i]->Add(SwipeViewItem[i][1]);
+
+ button_calllog_SwipeView[i]->SetCurrentPage(0);
+ button_calllog_SwipeView[i]->SetIntercept(false);
+ button_calllog_SwipeView[i]->SetLoopState(false);
+
+ button_calllog_SwipeView[i]->SetVisible(true);
+ MainPhoneViewScrollView->Add(button_calllog_SwipeView[i]);
+ }
+
+
void MainPhoneView::MainPhoneViewInit(void)
{
if (MainPhoneViewScrollView == nullptr)
return;
}
RecentCallLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
- /* ------------------------- TelephoneLineImageView ------------------------- */
- // TelephonyInitInterface::ImageParams imageParam = {
- // .x = 83,
- // .y = 344,
- // .width = 300,
- // .height = 3,
- // .viewId = "TelephoneLineImageView",
- // .imgsrc = NULL,
- // };
- // TelephoneLineImageView = TelephonyInitInterface::ImageViewInit(imageParam);
- // if (TelephoneLineImageView == nullptr)
- // {
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::TelephoneLineImageView new fail!");
- // return;
- // }
- // TelephoneLineImageView->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
- // Add ImageView to App
+
if (TelephoneLineImageView == nullptr) {
TelephoneLineImageView = new UIImageView();
}
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogModel::GetInstance()->ListIsEmpty");
return;
}
- if(num>20)
- num=20;
- MainPhoneView_ButtonConfig_ext_t buttonconfig;
- buttonconfig.x = 38;
- buttonconfig.y = 360;
- buttonconfig.w = 390;
- buttonconfig.h = 104;
- buttonconfig.ViewId="xxxx";
-
- labelParam = {
- .x = 94,
- .y = 420,
- .width = 160,
- .height = 35,
- .fontSize = 23,
- .lineHeigh = 0,
- .text = "2023-1-23 14:22",
- .lineBreakMode = UILabel::LINE_BREAK_ADAPT,
- };
-
+ if(num>CALL_LOG_MAX_NUM)
+ num=CALL_LOG_MAX_NUM;
+
if (num != 0) {
-
+ int y=0;
for (int i = num; i != 0; i--) {
-
- //WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",(info + i - 1)->tel);
- char buf[20]={0};
-
- sprintf_s(buf,20,"%s",(const char*)(info[i-1])->tel);
- char name[30]={0};
- if(get_phone_addrss_name(name,buf,NULL))
- {
- buttonconfig.str=name;
- }else
- {
- buttonconfig.str=buf;
- }
- buttonconfig.ViewId=(const char*)(info[i-1])->tel;
- button_calllog[i]=SetTheButton_ext(buttonconfig,ButtonOnclickListen);
- if(button_calllog[i]==nullptr)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::button_calllog new fail!");
- }
- buttonconfig.y += 20+104;
- MainPhoneViewScrollView->Add(button_calllog[i]);
- //WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",(info + i - 1)->tel);
-
- time_t currtime;
- struct tm *timeinfo;
- currtime=(info[i-1])->creationTime;
- timeinfo = localtime(&currtime);
- char time_buf[20]={0};
-
- labelParam.x=94,
- labelParam.text=time_buf;
- labelParam.fontSize = 23;
- sprintf_s(time_buf,20 ,"%d-%d-%d %d:%02d", timeinfo->tm_year + 1900,timeinfo->tm_mon + 1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min);
-
-
- button_calllog_time[i] = TelephonyInitInterface::LabelViewInit(labelParam,Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
- if (button_calllog_time[i] == nullptr)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
- }
- MainPhoneViewScrollView->Add(button_calllog_time[i]);
-
- labelParam.fontSize=18;
- labelParam.x=286;
-
-
- ColorType color;
-
-
+ Init_button_calllog_SwipeView(info[i-1],y);
+ y++;
+ }
+
+ MainPhoneView_ButtonConfig_ext_t buttonParam = {
+ .x = 38,
+ .y = 365+num*124,
+ .w = 390,
+ .h = 104,
+ .str="清除全部记录",
+ .ViewId = DELETE_ALL_VIEWID,
+ };
+ button_delete_all_calllog = SetTheButton_ext(buttonParam,ButtonOnclickListen);
+ if (button_delete_all_calllog == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::DialingMethodButton new fail!");
+ return;
+ }
+ button_delete_all_calllog->SetAlign(TEXT_ALIGNMENT_CENTER);
+ button_delete_all_calllog->SetLabelPosition(0,0);
+ // button_delete_all_calllog
+ MainPhoneViewScrollView->Add(button_delete_all_calllog);
- button_calllog_status[i] = TelephonyInitInterface::LabelViewInit(labelParam,color);
- if (button_calllog_status[i] == nullptr)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
- }
- if((info [i-1])->status==CALL_MISSED)
- {
- //labelParam.text="未接来电";
- button_calllog_status[i]->SetTextId(STR_MISSED_CALLS);
- button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff));
- }
- else if((info[i-1])->status==CALL_INCOMING)
- {
- //labelParam.text="拨入电话";
- button_calllog_status[i]->SetTextId(STR_RECEIVED_CALLS);
- button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
- }
- else //if((info + i - 1)->status==CALL_OUTGOING)
- {
- //labelParam.text="拨出电话";
- button_calllog_status[i]->SetTextId(STR_DIALED_CALLS);
- button_calllog_status[i]->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
- }
- MainPhoneViewScrollView->Add(button_calllog_status[i]);
-
- labelParam.y += 20+104;
- }
labelParam.x = 83;
- labelParam.y -= 50;
+ labelParam.y = 365+(num+1)*124;
labelParam.width = 300;
labelParam.height = 100;
labelParam.fontSize = 22;
labelParam.text = "注:只保留最近20条通话记录";
labelParam.lineBreakMode = UILabel::LINE_BREAK_MARQUEE,
-
hintCallsLabel = TelephonyInitInterface::LabelViewInit(labelParam,Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
if (hintCallsLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainPhoneView::MainPhoneViewTitleLabel new fail!");
}
+ hintCallsLabel->SetVisible(true);
hintCallsLabel->SetTextId(STR_NOTE_RECENT_CALLS_LIMITATION);
MainPhoneViewScrollView->Add(hintCallsLabel);
}
- else
+
{
labelParam = {
.x = 83,
NoCallsLabel->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
NoCallsLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
NoCallsLabel->SetTextId(STR_NO_CALLS);
+ if(num!=0)
+ NoCallsLabel->SetVisible(false);
+ else
+ NoCallsLabel->SetVisible(true);
}
MainPhoneViewScrollView->Add(FrequentlyContactedButton);
MainPhoneViewScrollView->Add(RecentCallLabel);
MainPhoneViewScrollView->Add(TelephoneLineImageView);
-
- if(NoCallsLabel)
MainPhoneViewScrollView->Add(NoCallsLabel);
RootView::GetInstance()->Add(MainPhoneViewScrollView);