#include "MainCallingPresenter.h"
#include "wearable_log.h"
#include "UiConfig.h"
-
+#include "PhoneService.h"
namespace OHOS {
static constexpr uint16 MATH_ZERO = 0;
delete group;
group = nullptr;
+ if(dial_group)
+ {
+ dial_group->RemoveAll();
+ for( int i=0;i<12;i++)
+ {
+ delete labelButton[i];
+ labelButton[i]=nullptr;
+ }
+ delete image_line;
+ image_line= nullptr;
+
+
+ delete label_number;
+ label_number= nullptr;
+
+ delete dial_group;
+ dial_group = nullptr;
+ }
+
+
g_pMainView = nullptr;
}
imageMicrophone->SetOnClickListener(clickLeftListener);
imageHandUp->SetOnClickListener(clickLeftListener);
imageHorns->SetOnClickListener(clickLeftListener);
+ imagedial->SetOnClickListener(clickLeftListener);
+
+ for( int i=0;i<12;i++)
+ {
+ labelButton[i]->SetOnClickListener(clickLeftListener);
+ }
return true;
}
if (imageMicrophone == nullptr) {
return false;
}
- imageMicrophone->SetPosition(IMAGE_AGREEING_POSITION_X, IMAGE_ALL_POSITION_Y); // 30 : offset
- imageMicrophone->SetSrc(PNG_MICROPHONE_OPEN_IMAGE_PATH);
+ imageMicrophone->SetPosition(46, 207); // 30 : offset
+ imageMicrophone->SetSrc(PNG_230_MICROPHONE_OPEN_IMAGE_PATH);
imageMicrophone->SetTouchable(true);
imageMicrophone->SetViewId("microphoneChange");
+
group->Add(imageMicrophone);
imageHandUp = new UIImageView();
if (imageHandUp == nullptr) {
return false;
}
- imageHandUp->SetPosition(IMAGE_DISSGREE_POSITION_X, IMAGE_ALL_POSITION_Y); // 30 : offset
- imageHandUp->SetSrc(PNG_DISSGREE_IMAGE_PATH);
+ imageHandUp->SetPosition(188, 340); // 30 : offset
+ imageHandUp->SetSrc(PNG_230_VECTOR_IMAGE_PATH);
imageHandUp->SetTouchable(true);
imageHandUp->SetViewId("callingHandUp");
group->Add(imageHandUp);
if (imageHorns == nullptr) {
return false;
}
- imageHorns->SetPosition(IMAGE_HONRS_POSITION_X, IMAGE_HONRS_POSITION_Y); // 30 : offset
- imageHorns->SetSrc(PNG_SOUNDBUTTON2);
+ imageHorns->SetPosition(369, 207); // 30 : offset
+ imageHorns->SetSrc(PNG_230_VOICE_OPEN_IMAGE_PATH);
imageHorns->SetTouchable(true);
imageHorns->SetViewId("volumeSwitch");
-
- group->Add(imageHorns);
+ group->Add(imageHorns);
+
+ imagedial = new UIImageView();
+ if (imagedial == nullptr) {
+ return false;
+ }
+ imagedial->SetPosition(80, 296); // 30 : offset
+ imagedial->SetSrc(PNG_230_DIAL_IMAGE_PATH);
+ imagedial->SetTouchable(true);
+ imagedial->SetViewId("dial");
+ group->Add(imagedial);
+
+
+ imageheadset = new UIImageView();
+ if (imagedial == nullptr) {
+ return false;
+ }
+ imageheadset->SetPosition(296, 296); // 30 : offset
+ imageheadset->SetSrc(PNG_230_HEADSET_1_IIMAGE_PATH);
+ imageheadset->SetTouchable(true);
+ imageheadset->SetViewId("headset");
+ group->Add(imageheadset);
+
+ imageperson = new UIImageView();
+ if (imagedial == nullptr) {
+ return false;
+ }
+ imageperson->SetPosition(158, 158); // 30 : offset
+ imageperson->SetSrc(PNG_230_PERSON_IMAGE_PATH);
+ imageperson->SetTouchable(true);
+ imageperson->SetViewId("headset");
+ group->Add(imageperson);
+
return true;
}
if (callerDisplay == nullptr) {
return false;
}
- callerDisplay->SetPosition(LABEL_PERCENT_POSITION_X, LABEL_PERCENT_POSITION_Y,
- VIEW_DISTANCE_TO_LEFT_SIDE, TITLE_LABEL_DEFAULT_HEIGHT);
+ callerDisplay->SetPosition(88, 81,
+ 289, 40);
callerDisplay->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);
callerDisplay->SetText(CallerLogModel::GetInstance()->GetPhoneNumber().c_str());
callerDisplay->SetAlign(TEXT_ALIGNMENT_CENTER);
callerDisplay->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_DISPLAY_FONE_SIZE);
callerDisplay->SetTextColor(Color::White());
+ callerDisplay->SetLineBreakMode(UILabel::LINE_BREAK_WRAP);
group->Add(callerDisplay);
callDuration = new UILabel();
if (callDuration == nullptr) {
return false;
}
- callDuration->SetPosition(LABEL_CALLERD_POSITION_X, LABEL_CALLERD_POSITION_Y,
- VIEW_DISTANCE_TO_LEFT_SIDE, TITLE_LABEL_DEFAULT_HEIGHT);
+ callDuration->SetPosition(194, 38,
+ 79, 35);
callDuration->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);
callDuration->SetAlign(TEXT_ALIGNMENT_CENTER);
callDuration->SetText(CallerLogModel::GetInstance()->DisplayCallDuration().c_str());
- callDuration->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_TIME_FONT_SIZE);
- callDuration->SetTextColor(Color::White());
+ callDuration->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ callDuration->SetTextColor(Color::GetColorFromRGBA(0xaa, 0xaa, 0xaa, 0xff));
group->Add(callDuration);
- currentTimes = new UILabel();
- if (currentTimes == nullptr) {
+
+ // currentTimes = new UILabel();
+ // if (currentTimes == nullptr) {
+ // return false;
+ // }
+ // currentTimes->SetPosition(LABEL_CURREMTTIME_POSITION_X, LABEL_CURREMTTIME_POSITION_Y,
+ // VIEW_DISTANCE_TO_LEFT_SIDE, TITLE_LABEL_DEFAULT_HEIGHT);
+ // currentTimes->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);
+ // currentTimes->SetAlign(TEXT_ALIGNMENT_CENTER);
+ // currentTimes->SetText(CallerLogModel::GetInstance()->InitDateHourTime().c_str());
+ // currentTimes->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_TIME_FONT_SIZE);
+ // currentTimes->SetTextColor(Color::White());
+
+ // group->Add(currentTimes);
+ return true;
+}
+
+static char *dial_id_str[]={"1","2","3","4","5","6","7","8","9","*","0","#"};
+void CallingView::showdial(bool flag)
+{
+ if(flag)
+ {
+ label_number->SetText("");
+ dial_group->SetVisible(true);
+ }
+ else
+ {
+ dial_group->SetVisible(false);
+ }
+ return;
+}
+
+void CallingView::text_updata_buf(const char *buf)
+{
+ uapi_hfp_send_DTMF_CODE(buf[0]);
+ char new_buf[16]={0};
+ const char*text_buf=label_number->GetText();
+ sprintf_s(new_buf,16,"%s%s",text_buf,buf);
+ label_number->SetText(new_buf);
+ RootView::GetInstance()->Invalidate();
+
+ return;
+}
+
+
+bool CallingView::Initshowdial()
+{
+ dial_group = new UIViewGroup();
+ if (dial_group == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::UIViewGroup::new group error");
+ return false;
+ }
+ dial_group->SetPosition(MATH_ZERO, MATH_ZERO);
+ dial_group->Resize(466, 466); // 454 : value
+ dial_group->SetViewId("dialing");
+ dial_group->SetTouchable(true);
+ dial_group->SetDraggable(true);
+
+ dragListener = (UIView::OnDragListener*)OHOS::MainCallingPresenter::GetInstance();
+ if (dragListener == nullptr) {
+
return false;
}
- currentTimes->SetPosition(LABEL_CURREMTTIME_POSITION_X, LABEL_CURREMTTIME_POSITION_Y,
- VIEW_DISTANCE_TO_LEFT_SIDE, TITLE_LABEL_DEFAULT_HEIGHT);
- currentTimes->SetStyle(STYLE_BACKGROUND_COLOR, OPA_TRANSPARENT);
- currentTimes->SetAlign(TEXT_ALIGNMENT_CENTER);
- currentTimes->SetText(CallerLogModel::GetInstance()->InitDateHourTime().c_str());
- currentTimes->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_TIME_FONT_SIZE);
- currentTimes->SetTextColor(Color::White());
+ dial_group->SetOnDragListener(dragListener);
+
+ uint8_t showdial_i=0;
+ for(int i=0;i<4;i++)
+ {
+ for(int j=0;j<3;j++)
+ {
+ if (labelButton[showdial_i] == nullptr) {
+ labelButton[showdial_i] = new UILabelButton();
+ }
+ if(labelButton[showdial_i]==nullptr)
+ {
+ return false;
+ }
+ labelButton[showdial_i]->SetPosition(69+(j*111), 107+(i*78)); // widget's left position and top position
+
+ labelButton[showdial_i]->Resize(107, 70); // widget's width and height
+ labelButton[showdial_i]->SetViewId(dial_id_str[showdial_i]);// Set style
+ labelButton[showdial_i]->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+
+ labelButton[showdial_i]->SetText(dial_id_str[showdial_i]);
+ labelButton[showdial_i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);
+ labelButton[showdial_i]->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
+
+ dial_group->Add(labelButton[showdial_i]);
+ labelButton[showdial_i]->SetVisible(true);
+ showdial_i++;
+ }
+ }
- group->Add(currentTimes);
+ if (image_line == nullptr) {
+ image_line = new UIImageView();
+ }
+ if(image_line == nullptr)
+ {
+ return false;
+ }
+ image_line->SetPosition(193, 25); // widget's left position and top position
+ image_line->Resize(80, 8); // widget's width and height
+ image_line->SetViewId("image1");// Set style
+ image_line->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
+ image_line->SetStyle(STYLE_BACKGROUND_OPA, 0xff);
+ image_line->SetStyle(STYLE_BORDER_RADIUS, 100);
+
+ dial_group->Add(image_line);
+ image_line->SetVisible(true);
+
+ // Add Label to App
+ if (label_number == nullptr) {
+ label_number = new UILabel();
+ }
+ if(label_number == nullptr)
+ {
+ return false;
+ }
+ label_number->SetPosition(100, 43); // widget's left position and top position
+ label_number->Resize(265, 60); // widget's width and height
+ label_number->SetViewId("label3");// Set style
+ label_number->SetStyle(STYLE_TEXT_FONT, 40);
+
+ // Set additional property
+ label_number->SetText("");
+ label_number->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
+ label_number->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+ label_number->SetRollSpeed(0);
+ label_number->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);
+ dial_group->Add(label_number);
+
+ group->Add(dial_group);
+ dial_group->SetVisible(false);
return true;
+
}
UIViewGroup *CallingView::CreateUIViewGroup()
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::InitImageViewDisplay error");
return nullptr;
}
-
- if (!InitAddOnclickevent()) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::InitAddOnclickevent error");
+ if (!InitUILabelDisplay()) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::InitUILabelDisplay error");
return nullptr;
}
- if (!InitUILabelDisplay()) {
+ if(!Initshowdial())
+ {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::InitUILabelDisplay error");
return nullptr;
}
+ if (!InitAddOnclickevent()) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallingView::InitAddOnclickevent error");
+ return nullptr;
+ }
+
+
+
return group;
}
if (strcmp(view.GetViewId(), "microphoneChange") == 0) {
if (changeImage == 0) {
changeImage = 1;
- view_->GetCallingView()->GetImageMicrophone()->SetSrc(PNG_MICROPHONE_CLOSE_IMAGE_PATH);
+ view_->GetCallingView()->GetImageMicrophone()->SetSrc(PNG_230_MICROPHONE_CLOSE_IMAGE_PATH);
SetMicMute(true);
} else {
changeImage = 0;
- view_->GetCallingView()->GetImageMicrophone()->SetSrc(PNG_MICROPHONE_OPEN_IMAGE_PATH);
+ view_->GetCallingView()->GetImageMicrophone()->SetSrc(PNG_230_MICROPHONE_OPEN_IMAGE_PATH);
SetMicMute(false);
}
return true;
}
return true;
}
+ else if ((strcmp(view.GetViewId(), "dial") == 0))
+ {
+ CallingView::GetInstance()->showdial(true);
+ }
+
+ if (strcmp(view.GetViewId(), "0") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "1") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "2") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "3") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "4") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "5") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "6") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "7") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "8") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+ else if (strcmp(view.GetViewId(), "9") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }else if (strcmp(view.GetViewId(), "*") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId()); /* code */
+ }
+ else if (strcmp(view.GetViewId(), "#") == 0)
+ {
+ CallingView::GetInstance()->text_updata_buf(view.GetViewId());
+ }
+
+
+ return true;
+}
+
+bool MainCallingPresenter::OnDragEnd(OHOS::UIView& view, const OHOS::DragEvent& event)
+{
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainCallingPresenter OnDragEnd");
+ if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
+ {
+ if((strcmp(view.GetViewId(), "dialing") == 0))
+ CallingView::GetInstance()->showdial(false);
+ }
return true;
}