From 3b7fa0fc99a73df1a58fb17f9a40ba8d346744bc Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Fri, 23 Aug 2024 18:36:45 +0800 Subject: [PATCH] =?utf8?q?=E7=BD=91=E7=BB=9C=E4=B8=8E=E9=80=9A=E8=AF=9D?= =?utf8?q?=E6=B7=BB=E5=8A=A0=E5=AE=8F=E5=88=A4=E6=96=AD=E7=94=B5=E4=BF=A1?= =?utf8?q?=E6=9C=89VoLTE=E5=BC=80=E5=85=B3=EF=BC=8C=E7=A7=BB=E5=8A=A8?= =?utf8?q?=E6=97=A0VoLTE=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../include/NetworkAndCallView.h | 8 +- .../src/NetworkAndCallPresenter.cpp | 14 ++- .../networkandcall/src/NetworkAndCallView.cpp | 96 +++++++++---------- 3 files changed, 60 insertions(+), 58 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/networkandcall/include/NetworkAndCallView.h b/code/sdk/application/wearable/fd230app/nativeui/networkandcall/include/NetworkAndCallView.h index 39af501cc..0018df7ce 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/networkandcall/include/NetworkAndCallView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/networkandcall/include/NetworkAndCallView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-23 09:57:53 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-28 17:27:04 + * @LastEditTime: 2024-08-23 18:06:15 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/networkandcall/include/NetworkAndCallView.h */ @@ -26,7 +26,11 @@ namespace OHOS MAX_NETWORKANDCALLVIEWID, } NETWORKANDCALLVIEWID; +#if defined(SUPPORT_TELECOM_DMP) + static constexpr const uint8_t ITEM_NUM = 2; +#else static constexpr const uint8_t ITEM_NUM = 1; +#endif class NetworkAndCallPresenter; class NetworkAndCallView : public View @@ -63,7 +67,7 @@ namespace OHOS UILabelExt *NetworkAndCallLabel[ITEM_NUM]{nullptr}; UIToggleButton *VoLTE_toggleButton{nullptr}; // VoLTE通话开关 UIToggleButton *MobileData_toggleButton{nullptr}; // 移动数据开关 - //UIImageView *NextImage{nullptr}; + // UIImageView *NextImage{nullptr}; }; } #endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallPresenter.cpp index 331ef6252..6e88acba5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallPresenter.cpp @@ -1,8 +1,8 @@ /* * @Author: luozheng 1732036298@qq.com * @Date: 2024-04-23 09:59:32 - * @LastEditors: SnickerSun snickersun@163.com - * @LastEditTime: 2024-07-27 11:19:24 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-08-23 18:13:35 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallPresenter.cpp */ #include "AppViewIDs.h" @@ -84,7 +84,7 @@ namespace OHOS if (toggleButton->GetState() == true) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s is enable!", it->second.c_str()); - if (it->second == "VoLTE") + if (it->second == "VoLTE" && p_NetworkAndCallView->GetMobileDataToggleButton()->GetState() == true) { ConfigModel::GetInstance()->SetVoLTE_Call(true); @@ -93,12 +93,13 @@ namespace OHOS { uapi_set4GCapability(true); ConfigModel::GetInstance()->SetCat1_4Gability(uapi_cat1_get_power_stat()); + p_NetworkAndCallView->GetVoLTEToggleButton()->SetTouchable(true); } } else { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s is disable!", it->second.c_str()); - if (it->second == "VoLTE") + if (it->second == "VoLTE" && p_NetworkAndCallView->GetMobileDataToggleButton()->GetState() == true) { ConfigModel::GetInstance()->SetVoLTE_Call(false); } @@ -110,6 +111,11 @@ namespace OHOS uapi_set4GCapability(false); #endif ConfigModel::GetInstance()->SetCat1_4Gability(uapi_cat1_get_power_stat()); + if(p_NetworkAndCallView->GetVoLTEToggleButton()->GetState()) + { + p_NetworkAndCallView->GetVoLTEToggleButton()->SetState(false); + p_NetworkAndCallView->GetVoLTEToggleButton()->SetTouchable(false); + } } } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallView.cpp b/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallView.cpp index 06beebc5d..b60cfdd02 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/networkandcall/src/NetworkAndCallView.cpp @@ -4,6 +4,7 @@ #include "UiConfig.h" #include "ConfigModel.h" #include "cat1_ctl.h" +#include "ui_resource_string.h" namespace OHOS { @@ -19,7 +20,7 @@ namespace OHOS NetworkAndCallView::~NetworkAndCallView() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "NetworkAndCallView::~NetworkAndCallView"); - ClearAll(); + g_pNetworkAndCallView = nullptr; } @@ -39,7 +40,7 @@ namespace OHOS delete Title; Title = nullptr; } - + for (int i = 0; i < ITEM_NUM; i++) { delete NetworkAndCallImage[i]; @@ -49,8 +50,11 @@ namespace OHOS NetworkAndCallLabel[i] = nullptr; } - // delete VoLTE_toggleButton; - // VoLTE_toggleButton = nullptr; + if (VoLTE_toggleButton != nullptr) + { + delete VoLTE_toggleButton; + VoLTE_toggleButton = nullptr; + } if (MobileData_toggleButton != nullptr) { @@ -77,15 +81,8 @@ namespace OHOS return; } NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); - UIView::OnDragListener *draglistener = static_cast(NetworkAndCallPresenter::GetInstance()); - if (draglistener == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::draglistener can not be nullptr!"); - return; - } - NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetOnDragListener(draglistener); - // NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetScrollBlankSize(50); - // NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetReboundSize(35); + NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetOnDragListener(presenter_); + NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetReboundSize(35); NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetHorizontalScrollState(false); NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetTouchable(true); NetworkAndCallScrollView[NETWORKANDCALLVIEW]->SetDraggable(true); @@ -99,11 +96,10 @@ namespace OHOS Title->SetPosition(83, 50, 300, 40); Title->SetStyle(STYLE_TEXT_FONT, 30); Title->SetStyle(STYLE_LINE_HEIGHT, 35); - // Title->SetText("网络与通话"); - Title->SetTextId(STR_NETWORKANDCALL); - Title->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); + Title->SetTextId(STR_NETWORKANDCALL); // 网络与通话 + Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - // Title->SetRollSpeed(40); + Title->SetRollSpeed(70); Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); /* -------------------------------------------------------------------------- */ int positionY_Img = 120; @@ -131,48 +127,44 @@ namespace OHOS NetworkAndCallLabel[i]->SetPosition(90, 153 + (i * 120), 180, 40); // Adjust Y position based on iteration NetworkAndCallLabel[i]->SetStyle(STYLE_TEXT_FONT, 30); NetworkAndCallLabel[i]->SetStyle(STYLE_LINE_HEIGHT, 35); - // NetworkAndCallLabel[i]->SetText(text[i]); NetworkAndCallLabel[i]->SetTextId(textId[i]); - NetworkAndCallLabel[i]->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); - // NetworkAndCallLabel[i]->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - // NetworkAndCallLabel[i]->SetRollSpeed(40); + NetworkAndCallLabel[i]->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + NetworkAndCallLabel[i]->SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER); + NetworkAndCallLabel[i]->SetRollSpeed(70); NetworkAndCallLabel[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); } /* -------------------------------------------------------------------------- */ - MobileData_toggleButton = new UIToggleButton(); if (MobileData_toggleButton == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::MobileData_toggleButton is nullptr!"); - return; + MobileData_toggleButton = new UIToggleButton(); + if (MobileData_toggleButton == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::MobileData_toggleButton is nullptr!"); + return; + } } MobileData_toggleButton->SetPosition(298, 145, 100, 50); MobileData_toggleButton->SetState(uapi_cat1_get_power_stat()); MobileData_toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00); - const char *selectedImg = "/user/res/TOGGLEBUTTON_ON.bin"; - const char *unSelectedImg = "/user/res/TOGGLEBUTTON_OFF.bin"; - MobileData_toggleButton->SetImages(selectedImg, unSelectedImg); - UIView::OnClickListener *toggleButtonClick = static_cast(NetworkAndCallPresenter::GetInstance()); - if (toggleButtonClick == nullptr) + MobileData_toggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE, PNG_TOGGLEBUTTON_OFF_IMAGE); + MobileData_toggleButton->SetOnClickListener(presenter_); +/* -------------------------------------------------------------------------- */ +#if defined(SUPPORT_TELECOM_DMP) + if (VoLTE_toggleButton == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "NetworkAndCallPresenter::GetInstance fail!!"); - return; + VoLTE_toggleButton = new UIToggleButton(); + if (VoLTE_toggleButton == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::VoLTE_toggleButton is nullptr!"); + return; + } } - MobileData_toggleButton->SetOnClickListener(toggleButtonClick); - /* -------------------------------------------------------------------------- */ - // VoLTE_toggleButton = new UIToggleButton(); - // if (VoLTE_toggleButton == nullptr) - // { - // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "LanguageSwitchView::VoLTE_toggleButton is nullptr!"); - // return; - // } - // VoLTE_toggleButton->SetPosition(298, 265, 100, 50); - // VoLTE_toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00); - // VoLTE_toggleButton->SetState(ConfigModel::GetInstance()->GetVoLTE_Call()); - // VoLTE_toggleButton->SetImages(selectedImg, unSelectedImg); - // /* ----------------------------- onclickListener ---------------------------- */ - // VoLTE_toggleButton->SetOnClickListener(toggleButtonClick); - // NetworkAndCallImage[2]->SetTouchable(true); - // NetworkAndCallImage[2]->SetOnClickListener(toggleButtonClick); + VoLTE_toggleButton->SetPosition(298, 265, 100, 50); + VoLTE_toggleButton->SetStyle(STYLE_BACKGROUND_OPA, 0x00); + VoLTE_toggleButton->SetState(MobileData_toggleButton->GetState() == true && ConfigModel::GetInstance()->GetVoLTE_Call()); + VoLTE_toggleButton->SetImages(PNG_TOGGLEBUTTON_ON_IMAGE, PNG_TOGGLEBUTTON_OFF_IMAGE); + VoLTE_toggleButton->SetOnClickListener(presenter_); +#endif /* -------------------------------------------------------------------------- */ // NextImage = new UIImageView(); // if (NextImage == nullptr) @@ -189,9 +181,7 @@ namespace OHOS { View::OnStart(); NetworkAndCallViewInit(); - // 增加按键监听 - RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::NetworkAndCallPresenter::GetInstance(); - RootView::GetInstance()->SetOnKeyActListener(keyactListener); + RootView::GetInstance()->SetOnKeyActListener(presenter_); } void NetworkAndCallView::OnSetUpView() @@ -203,7 +193,9 @@ namespace OHOS NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(NetworkAndCallImage[i]); NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(NetworkAndCallLabel[i]); } - // NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(VoLTE_toggleButton); +#if defined(SUPPORT_TELECOM_DMP) + NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(VoLTE_toggleButton); +#endif NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(MobileData_toggleButton); // NetworkAndCallScrollView[NETWORKANDCALLVIEW]->Add(NextImage); RootView::GetInstance()->Add(NetworkAndCallScrollView[NETWORKANDCALLVIEW]); @@ -212,7 +204,6 @@ namespace OHOS void NetworkAndCallView::OnTearDownView() { - View::OnTearDownView(); return; } @@ -223,6 +214,7 @@ namespace OHOS View::OnStop(); RootView::GetInstance()->RemoveAll(); RootView::GetInstance()->ClearOnKeyActListener(); + ClearAll(); return; } -- 2.17.1