From 19673e034ada7306bdfe012b0bfb9738fbb2686c Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Thu, 18 Jan 2024 18:11:32 +0800 Subject: [PATCH] =?utf8?q?=E5=85=B3=E9=97=AD=E4=B8=8D=E5=BF=85=E8=A6=81?= =?utf8?q?=E7=9A=84=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/applist/src/ApplistModel.cpp | 47 ++- .../nativeui/blood/src/BloodView.cpp | 10 +- .../nativeui/dial/include/Digital_clockView.h | 16 +- .../nativeui/dial/src/DialPresenter.cpp | 12 +- .../nativeui/dial/src/Digital_clockView.cpp | 81 ++-- .../nativeui/main/include/MainViewSample.h | 2 +- .../nativeui/main/src/MainPresenterSample.cpp | 348 ++++++++++-------- .../nativeui/main/src/MainViewSample.cpp | 73 ++-- .../screensetting/include/ScreenModels.h | 3 +- .../nativeui/traing/src/TraingView.cpp | 2 +- 10 files changed, 346 insertions(+), 248 deletions(-) diff --git a/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistModel.cpp b/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistModel.cpp index 1445c361e..877edb6a4 100755 --- a/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistModel.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistModel.cpp @@ -17,17 +17,21 @@ #include "ApplistModel.h" #include "ApplistPresenter.h" -namespace OHOS { +namespace OHOS +{ const AppItem g_nativeAppList[] = { {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, "闹钟", nullptr}, {VIEW_BLOODOXY_SAMPLE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, "血氧饱和度", nullptr}, - //{VIEW_CALLER_SAMPLE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "通话记录", nullptr}, {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, "指南针", nullptr}, - {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, "语音助手", nullptr}, - {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr}, {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, "室内步行", nullptr}, - //{VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, "示例", nullptr}, {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, "设置", nullptr}, +#if 0 + {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, "体温", nullptr}, + {VIEW_CALLER_SAMPLE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, "通话记录", nullptr}, + {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, "语音助手", nullptr}, + {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, "示例", nullptr}, +#endif + }; ApplistModel &ApplistModel::GetInstance(void) @@ -56,12 +60,15 @@ namespace OHOS { uint8 i, ret, nativeAppNum; int32 len = 0; #ifdef JS_ENABLE - if (bundleInfos != nullptr) { - for (i = 0; i < bundleLen; i++) { + if (bundleInfos != nullptr) + { + for (i = 0; i < bundleLen; i++) + { ClearBundleInfo(bundleInfos + i); } - if (bundleInfos != nullptr) { + if (bundleInfos != nullptr) + { AdapterFree(bundleInfos); bundleInfos = nullptr; } @@ -71,31 +78,35 @@ namespace OHOS { appLen = 0; nativeAppNum = sizeof(g_nativeAppList) / sizeof(AppItem); - if (nativeAppNum >= APP_MAX_NUM) { + if (nativeAppNum >= APP_MAX_NUM) + { nativeAppNum = APP_MAX_NUM; } ret = memcpy_s(applist, sizeof(AppItem) * APP_MAX_NUM, g_nativeAppList, sizeof(AppItem) * nativeAppNum); - if (ret != EOK) { + if (ret != EOK) + { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%s] ret = %d, nativeAppNum = %d", __FUNCTION__, ret, nativeAppNum); nativeAppNum = 0; } appLen = nativeAppNum; #ifdef JS_ENABLE ret = BundleMsClient::GetInstance().GetBundleInfos(0, &bundleInfos, &len); - if ((ret == 0) && (len > 0) && (bundleInfos != nullptr)) { + if ((ret == 0) && (len > 0) && (bundleInfos != nullptr)) + { bundleLen = len; - if (len > APP_MAX_NUM - nativeAppNum) { + if (len > APP_MAX_NUM - nativeAppNum) + { len = APP_MAX_NUM - nativeAppNum; } - while (len--) { + while (len--) + { applist[appLen] = { VIEW_EXTERN_APP, bundleInfos[len].smallIconPath, bundleInfos[len].smallIconPath, bundleInfos[len].label, - bundleInfos[len].bundleName - }; + bundleInfos[len].bundleName}; WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ResolvingJSAppItems bundleName is %s \r", bundleInfos[len].bundleName); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ResolvingJSAppItems label is %s \r", bundleInfos[len].label); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ResolvingJSAppItems smallIconPath is %s \r", bundleInfos[len].smallIconPath); @@ -138,11 +149,13 @@ namespace OHOS { void ApplistModel::ApplistUpdate(void) { - if (presenter != nullptr) { + if (presenter != nullptr) + { ResolvingJSAppItems(); presenter->GetAppListView()->ClearAppItemToList(); const AppItem *itemInfo = GetApplistItems(); - for (uint8 i = 0; i < GetAppListNum(); i++) { + for (uint8 i = 0; i < GetAppListNum(); i++) + { presenter->GetAppListView()->AddAppItemToList(itemInfo[i]); } presenter->GetAppListView()->GetAppUIList()->RefreshList(); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodView.cpp index 55a47120e..b78c05035 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/blood/src/BloodView.cpp @@ -184,18 +184,18 @@ namespace OHOS */ bool BloodView::InitView() { - printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); + // printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); if (!Initbackground()) { - printf("Initbackground error!\n"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Initbackground error!\n"); }; if (!InitLable()) { - printf("InitLable error!\n"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "InitLable error!\n"); }; if (!AddButton()) { - printf("AddButton error!\n"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddButton error!\n"); }; SetCoverable(true); return true; @@ -240,7 +240,7 @@ namespace OHOS } void BloodView::PreLoad(void) { - //printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); + // printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); if (InitView()) { viewiInitStatus = true; diff --git a/code/sdk/application/wearable/nativeapp/nativeui/dial/include/Digital_clockView.h b/code/sdk/application/wearable/nativeapp/nativeui/dial/include/Digital_clockView.h index a94714094..f7c54b02f 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/dial/include/Digital_clockView.h +++ b/code/sdk/application/wearable/nativeapp/nativeui/dial/include/Digital_clockView.h @@ -121,12 +121,14 @@ namespace OHOS float voltage = 0.0F; uint8_t value = 0; value = battery_get_voltage(&voltage); - // 设置种子 - // srand(static_cast(time(0))); - // 生成随机数 - // int value = rand() % 101; // 取余操作可以将随机数限制在0到100之间 - printf("value:%d\n", value); - // 根据电池电量值选择相应的进度条前景图片 +#if 0 + //设置种子 + srand(static_cast(time(0))); + //生成随机数 + int value = rand() % 101; // 取余操作可以将随机数限制在0到100之间 + //printf("value:%d\n", value); + //根据电池电量值选择相应的进度条前景图片 +#endif char *progress1ForeImageSrc = nullptr; char *progress1BackImageSrc = nullptr; if (value <= 10) @@ -240,6 +242,8 @@ namespace OHOS bool AddButton(); void PreLoad(void) override; void UnLoad(void) override; + void ClockAnimatorStart(void); + void ClockAnimatorStop(void); private: UIView::OnDragListener *draglistener{nullptr}; diff --git a/code/sdk/application/wearable/nativeapp/nativeui/dial/src/DialPresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/dial/src/DialPresenter.cpp index 0cb192063..5e30d7431 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/dial/src/DialPresenter.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/dial/src/DialPresenter.cpp @@ -56,7 +56,7 @@ namespace OHOS if (event.GetDragDirection() == DragEvent::DIRECTION_BOTTOM_TO_TOP) { - printf("draglistene is ok!\n"); + //printf("draglistene is ok!\n"); NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE); } UNUSED(view); @@ -68,35 +68,35 @@ namespace OHOS // 根据控件id查找是哪个控件触发了点击回调 if (strcmp(view.GetViewId(), "kumibutton") == 0) { - printf("join click\n"); + //printf("join click\n"); const std::string jsonPath = "/user/res/clocks/KUMI.json"; g_pDigital_clockView->setJsonFilePath(jsonPath); NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE); } if (strcmp(view.GetViewId(), "flowerbudbutton") == 0) { - printf("join click\n"); + //printf("join click\n"); const std::string jsonPath = "/user/res/clocks/flowerbud.json"; g_pDigital_clockView->setJsonFilePath(jsonPath); NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE); } if (strcmp(view.GetViewId(), "maomaobutton") == 0) { - printf("join click\n"); + //printf("join click\n"); const std::string jsonPath = "/user/res/clocks/maomao.json"; g_pDigital_clockView->setJsonFilePath(jsonPath); NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE); } if (strcmp(view.GetViewId(), "momobutton") == 0) { - printf("join click\n"); + //printf("join click\n"); const std::string jsonPath = "/user/res/clocks/momo.json"; g_pDigital_clockView->setJsonFilePath(jsonPath); NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE); } if (strcmp(view.GetViewId(), "maliaobutton") == 0) { - printf("join click\n"); + //printf("join click\n"); const std::string jsonPath = "/user/res/clocks/maliao.json"; g_pDigital_clockView->setJsonFilePath(jsonPath); NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN_SAMPLE); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp index a46a64f85..c88b16fe4 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp @@ -1,19 +1,9 @@ /*** * @Author: Caisking 3449750381@qq.com - * @Date: 2024-01-16 19:07:38 + * @Date: 2024-01-17 19:23:24 * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-01-17 18:25:27 - * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp - * @Description: - * @ - * @Copyright (c) 2024 by Caisking , All Rights Reserved. - */ -/*** - * @Author: Caisking 3449750381@qq.com - * @Date: 2024-01-02 11:23:34 - * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-01-11 10:48:05 - * @FilePath: /1.FD230/FD230/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp + * @LastEditTime: 2024-01-18 16:01:02 + * @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativeui/dial/src/Digital_clockView.cpp * @Description: * @ * @Copyright (c) 2024 by Caisking , All Rights Reserved. @@ -45,6 +35,7 @@ #include "MainViewSample.h" #define PRINT_DEBUG_INFO printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); + extern "C" { int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time); @@ -60,11 +51,11 @@ namespace OHOS */ void Digital_clockView::setJsonFilePath(const std::string &filePath) { - PRINT_DEBUG_INFO + //PRINT_DEBUG_INFO std::string defaultFile = "/user/res/clocks/default.json"; std::ifstream sourceFile(filePath, std::ios::binary); // 打开源文件 std::ofstream targetFile(defaultFile, std::ios::binary | std::ios::trunc); // 打开目标文件,使用trunc标志来覆盖目标文件 - printf("%s|%s\n", defaultFile.c_str(), filePath.c_str()); // 使用c_str()将std::string转换为C风格字符串 + //("%s|%s\n", defaultFile.c_str(), filePath.c_str()); // 使用c_str()将std::string转换为C风格字符串 if (sourceFile && targetFile) { char buffer[1024]; // 缓冲区 @@ -74,7 +65,7 @@ namespace OHOS } if (sourceFile.eof()) { - printf("File overwrite success\n"); // 使用printf打印成功消息 + //printf("File overwrite success\n"); // 使用printf打印成功消息 return; // 返回true表示文件拷贝成功 } else @@ -328,7 +319,7 @@ namespace OHOS ostMin << local_time.tm_min; std::string weekStr = ostrHour.str() + ":" + ostMin.str(); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "time = %s!", weekStr.c_str()); - printf("weekStr:%s\n", weekStr.c_str()); + //("weekStr:%s\n", weekStr.c_str()); /* -------------------------------------------------------------------------- */ stringtime = "20:10"; @@ -349,7 +340,7 @@ namespace OHOS addImageView(hour1_left, hour1_top, (digitspath + "point.bin").c_str(), "colon", digitsize * 2 + 10, 20); addImageView(hour1_left, hour1_top, (digitspath + stringtime.substr(3, 1) + ".bin").c_str(), "minute1", digitsize * 3, 0); addImageView(hour1_left, hour1_top, (digitspath + stringtime.substr(4, 1) + ".bin").c_str(), "minute2", digitsize * 4, 0); - printf("--%s--\n", digitspath.c_str()); + //printf("--%s--\n", digitspath.c_str()); if (mytimeimageCallback_ == nullptr) { mytimeimageCallback_ = new mytimeimageCallback(hour1, hour2, minute1, minute2, digitspath, stringtime); @@ -665,7 +656,6 @@ namespace OHOS */ bool Digital_clockView ::AddButton() { - PRINT_DEBUG_INFO // Add Button to App if (changebutton == nullptr) { @@ -676,17 +666,14 @@ namespace OHOS changebutton->SetViewId(CHANGEBUTTON); // Set style changebutton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000); changebutton->SetStyle(STYLE_BACKGROUND_OPA, 0x00); - PRINT_DEBUG_INFO // Set additional property changebutton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED); changebutton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - PRINT_DEBUG_INFO // Add the CallBack about events UIView::OnLongPressListener *buttonLongPress = static_cast(MainPresenterSample::GetInstance()); changebutton->SetOnLongPressListener(buttonLongPress); // Add to rootView Add(changebutton); - PRINT_DEBUG_INFO return true; } /** @@ -695,7 +682,7 @@ namespace OHOS */ bool Digital_clockView ::InitView() { - PRINT_DEBUG_INFO + //PRINT_DEBUG_INFO if (loadJsonData(JosnfilePath)) { std::string Dialtype = cJSON_GetObjectItem(cjson_json, "Dialtype")->valuestring; @@ -822,4 +809,52 @@ namespace OHOS // ImageCacheManager::GetInstance().UnloadSingleRes(RES_PATH"breath.bin"); } + void Digital_clockView::ClockAnimatorStart(void) + { + if (backgroundAnimator != nullptr) + { + backgroundAnimator->Start(); + backgroundAnimator->Start(); + } + if (progress1animator_ != nullptr) + { + progress1animator_->Start(); + progress1animator_->Start(); + } + if (sweepClock1animator_ != nullptr) + { + sweepClock1animator_->Start(); + sweepClock1animator_->Start(); + } + if (timeLableanimator_ != nullptr) + { + timeLableanimator_->Start(); + timeLableanimator_->Start(); + } + } + + void Digital_clockView::ClockAnimatorStop(void) + { + if (backgroundAnimator != nullptr) + { + backgroundAnimator->Stop(); + backgroundAnimator->Stop(); + } + if (progress1animator_ != nullptr) + { + progress1animator_->Stop(); + progress1animator_->Stop(); + } + if (sweepClock1animator_ != nullptr) + { + sweepClock1animator_->Stop(); + sweepClock1animator_->Stop(); + } + if (timeLableanimator_ != nullptr) + { + timeLableanimator_->Stop(); + timeLableanimator_->Stop(); + } + } + } diff --git a/code/sdk/application/wearable/nativeapp/nativeui/main/include/MainViewSample.h b/code/sdk/application/wearable/nativeapp/nativeui/main/include/MainViewSample.h index 21689df0e..2a73ee6e9 100755 --- a/code/sdk/application/wearable/nativeapp/nativeui/main/include/MainViewSample.h +++ b/code/sdk/application/wearable/nativeapp/nativeui/main/include/MainViewSample.h @@ -76,7 +76,7 @@ namespace OHOS PullUpDownView *dropDownView{nullptr}; UICardPage *messageView{nullptr}; UILabel *messageLable{nullptr}; - Digital_clockView *mainClockView{nullptr}; + MainClockView *mainClockView{nullptr}; ActivityWeekView *activityWeekView{nullptr}; PlayersView *playersView{nullptr}; CompassControlView *compassControlView{nullptr}; diff --git a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp index 96f4a9ac2..00a766acd 100755 --- a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp @@ -21,207 +21,235 @@ #include #include -namespace OHOS { +namespace OHOS +{ -map g_jumpView = { { MAIN_CLICK_WEATHER, VIEW_MAIN_SAMPLE }, // 天气界面 - { MAIN_CLICK_ACTIVITY, VIEW_MAIN_ACTIVITY }, // 活动记录界面 - { MAIN_CLICK_MESSAGE, VIEW_MAIN_SAMPLE }, // 消息app - { MAIN_CLICK_HEARTRATE, VIEW_MAIN_SAMPLE }, // 心率界面 - }; + map g_jumpView = { + {MAIN_CLICK_WEATHER, VIEW_MAIN_SAMPLE}, // 天气界面 + {MAIN_CLICK_ACTIVITY, VIEW_MAIN_ACTIVITY}, // 活动记录界面 + {MAIN_CLICK_MESSAGE, VIEW_MAIN_SAMPLE}, // 消息app + {MAIN_CLICK_HEARTRATE, VIEW_MAIN_SAMPLE}, // 心率界面 + }; -// map g_chanColor = { { DROPDOWN_CLICK_FINDMYPHONE, DROPDOWN_DROPDOWN_FIND_PHONE_B }, -// { DROPDOWN_CLICK_APPLIST, DROPDOWN_DROPDOWN_FIND_PHONE_B}, -// { DROPDOWN_CLICK_ALARM, DROPDOWN_DROPDOWN_ALARM_B }, -// { DROPDOWN_CLICK_SETTING, DROPDOWN_DROPDOWN_SETTING_B } }; + // map g_chanColor = { { DROPDOWN_CLICK_FINDMYPHONE, DROPDOWN_DROPDOWN_FIND_PHONE_B }, + // { DROPDOWN_CLICK_APPLIST, DROPDOWN_DROPDOWN_FIND_PHONE_B}, + // { DROPDOWN_CLICK_ALARM, DROPDOWN_DROPDOWN_ALARM_B }, + // { DROPDOWN_CLICK_SETTING, DROPDOWN_DROPDOWN_SETTING_B } }; -static MainPresenterSample *g_pMainPresenterSample = nullptr; + static MainPresenterSample *g_pMainPresenterSample = nullptr; -static constexpr uint16_t DROP_X_MAX = 360; -static constexpr uint16_t PROGRESS_PERCENTAGE = 100; -static constexpr uint16_t PROGRESS_COUNTDOWN = 20; -static constexpr uint16_t HORIZONTAL_SWIPE = 1; + static constexpr uint16_t DROP_X_MAX = 360; + static constexpr uint16_t PROGRESS_PERCENTAGE = 100; + static constexpr uint16_t PROGRESS_COUNTDOWN = 20; + static constexpr uint16_t HORIZONTAL_SWIPE = 1; -MainPresenterSample::MainPresenterSample() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainPresenterSample :%p", this); - g_pMainPresenterSample = this; -} + MainPresenterSample::MainPresenterSample() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainPresenterSample :%p", this); + g_pMainPresenterSample = this; + } -MainPresenterSample::~MainPresenterSample() -{ - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "~MainPresenterSample"); -} + MainPresenterSample::~MainPresenterSample() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "~MainPresenterSample"); + } -MainPresenterSample *MainPresenterSample::GetInstance(void) -{ - return g_pMainPresenterSample; -} + MainPresenterSample *MainPresenterSample::GetInstance(void) + { + return g_pMainPresenterSample; + } -void MainPresenterSample::OnStart() -{ - Presenter::OnStart(); - if (keyActListenr == nullptr) { - keyActListenr = new KeyInputListener(); - if (keyActListenr != nullptr) { - RootView::GetInstance()->SetOnKeyActListener(keyActListenr); + void MainPresenterSample::OnStart() + { + Presenter::OnStart(); + if (keyActListenr == nullptr) + { + keyActListenr = new KeyInputListener(); + if (keyActListenr != nullptr) + { + RootView::GetInstance()->SetOnKeyActListener(keyActListenr); + } } } -} -void MainPresenterSample::OnPause(void) {} + void MainPresenterSample::OnPause(void) {} -void MainPresenterSample::OnResume(void) {} + void MainPresenterSample::OnResume(void) {} -void MainPresenterSample::OnStop(void) -{ - if (entryTimes == 0) { - CompassModel::GetInstance()->CloseCompassSensor(); + void MainPresenterSample::OnStop(void) + { + if (entryTimes == 0) + { + CompassModel::GetInstance()->CloseCompassSensor(); + } + Presenter::OnStop(); + RootView::GetInstance()->ClearOnKeyActListener(); + if (keyActListenr != nullptr) + { + delete keyActListenr; + keyActListenr = nullptr; + } } - Presenter::OnStop(); - RootView::GetInstance()->ClearOnKeyActListener(); - if (keyActListenr != nullptr) { - delete keyActListenr; - keyActListenr = nullptr; + + bool MainPresenterSample::OnClick(UIView &view, const ClickEvent &event) + { + UNUSED(event); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "StatusButtonClickListener: %s", view.GetViewId()); + string curViewId = view.GetViewId(); + + UIImageView *imgView = static_cast(&view); + if (HealthModel::GetInstance() == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "health model nullptr"); + return false; + } +#if 0 + if (curViewId == DROPDOWN_CLICK_DONOTDISTURB) { + if (HealthModel::GetInstance()->GetDntDistStatus() == 0) { + ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_DN_DISTURB_B); + HealthModel::GetInstance()->UpdateDntDistStatus(1); + } else { + ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_DN_DISTURB); + HealthModel::GetInstance()->UpdateDntDistStatus(0); + } + } + if (curViewId == DROPDOWN_CLICK_BRIGHTENSCREEN) { + if (HealthModel::GetInstance()->GetBriScrStatus() == 0) { + ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN_B); + HealthModel::GetInstance()->UpdateBriScrStatus(1); + } else { + ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN); + HealthModel::GetInstance()->UpdateBriScrStatus(0); + } } -} -bool MainPresenterSample::OnClick(UIView &view, const ClickEvent &event) -{ - UNUSED(event); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "StatusButtonClickListener: %s", view.GetViewId()); - string curViewId = view.GetViewId(); - - UIImageView *imgView = static_cast(&view); - if (HealthModel::GetInstance() == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "health model nullptr"); - return false; + if (g_jumpView.count(curViewId) != 0) { + NativeAbility::GetInstance().ChangeSlice(g_jumpView[curViewId]); } - // if (curViewId == DROPDOWN_CLICK_DONOTDISTURB) { - // if (HealthModel::GetInstance()->GetDntDistStatus() == 0) { - // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_DN_DISTURB_B); - // HealthModel::GetInstance()->UpdateDntDistStatus(1); - // } else { - // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_DN_DISTURB); - // HealthModel::GetInstance()->UpdateDntDistStatus(0); - // } - // } - // if (curViewId == DROPDOWN_CLICK_BRIGHTENSCREEN) { - // if (HealthModel::GetInstance()->GetBriScrStatus() == 0) { - // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN_B); - // HealthModel::GetInstance()->UpdateBriScrStatus(1); - // } else { - // ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN); - // HealthModel::GetInstance()->UpdateBriScrStatus(0); - // } - // } - - // if (g_jumpView.count(curViewId) != 0) { - // NativeAbility::GetInstance().ChangeSlice(g_jumpView[curViewId]); - // } - return true; -} - bool MainPresenterSample::OnLongPress(UIView& view, const LongPressEvent& event) +#endif + return true; + } + bool MainPresenterSample::OnLongPress(UIView &view, const LongPressEvent &event) { - printf("coming LongPress\n"); + //printf("coming LongPress\n"); UNUSED(event); string curViewId = view.GetViewId(); - //int page = MainViewSample::GetInstance()->GetHorCurrentPage(); - //callback_->OnSwipe(view); - if(curViewId== CHANGEBUTTON) + // int page = MainViewSample::GetInstance()->GetHorCurrentPage(); + // callback_->OnSwipe(view); + if (curViewId == CHANGEBUTTON) { NativeAbility::GetInstance().ChangeSlice(VIEW_DIAL); return true; } } -void MainPresenterSample::OnSwipe(UISwipeView &view) -{ - UNUSED(view); - int page = MainViewSample::GetInstance()->GetHorCurrentPage(); - callback_->OnSwipe(view); - if (page == COMPASS) { - if (entryTimes != 0) { - CompassModel::GetInstance()->OpenCompassSensor(); - entryTimes = 0; - } - } else if (entryTimes == 0) { - CompassModel::GetInstance()->CloseCompassSensor(); - entryTimes++; - } + void MainPresenterSample::OnSwipe(UISwipeView &view) + { + UNUSED(view); + int page = MainViewSample::GetInstance()->GetHorCurrentPage(); + callback_->OnSwipe(view); + if (page == COMPASS) + { + if (entryTimes != 0) + { + CompassModel::GetInstance()->OpenCompassSensor(); + entryTimes = 0; + } + } + else if (entryTimes == 0) + { + CompassModel::GetInstance()->CloseCompassSensor(); + entryTimes++; + } - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnSwipe OnSwipe"); - return; -} + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnSwipe OnSwipe"); + return; + } -void MainPresenterSample::ProcessDataNotify(void) -{ - HealthMsg healthMsg; - uint16_t len; + void MainPresenterSample::ProcessDataNotify(void) + { + HealthMsg healthMsg; + uint16_t len; - while ((HealthModel::GetInstance()->FetchedHealthData(&healthMsg) == true)) { - switch (healthMsg.type) { + while ((HealthModel::GetInstance()->FetchedHealthData(&healthMsg) == true)) + { + switch (healthMsg.type) + { case BATTERY_LIFE: break; default: break; + } } } -} -void MainPresenterSample::SetCircleProgress() -{ - PlayersView *playersView = PlayersView::GetInstance(); - if (playersView == nullptr) { - return; - } - UICircleProgress *playbackProgress = playersView->GetPlaybackProgress(); - if (playbackProgress == nullptr) { - return; - } - state = playersView->GetPlayerButtonState(); - if (state == UICheckBox::UICheckBoxState::SELECTED) { - if (musicCount++ % PROGRESS_COUNTDOWN == 0) { - PlayersModel::GetInstance()->GetPlayerCtr()->GetCurrentTime(playerCurrentTime); - PlayersModel::GetInstance()->GetDuration(playerMusicDuration); - if (playerMusicDuration != 0) { - playerProgressVlaue = (playerCurrentTime * PROGRESS_PERCENTAGE) / playerMusicDuration; - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playerProgressVlaue %lld", playerProgressVlaue); - } else { - playerProgressVlaue = 100; - } - PlayersModel::GetInstance()->SetCircleProgress(playerProgressVlaue); - GraphicService::GetInstance()->PostGraphicEvent(std::bind(&PlayersPresenter::SetPlaybackProgress, - PlayersPresenter::GetInstance(), playerProgressVlaue)); + void MainPresenterSample::SetCircleProgress() + { + PlayersView *playersView = PlayersView::GetInstance(); + if (playersView == nullptr) + { + return; } - if (musicCount >= PROGRESS_COUNTDOWN) { - musicCount = 0; + UICircleProgress *playbackProgress = playersView->GetPlaybackProgress(); + if (playbackProgress == nullptr) + { + return; + } + state = playersView->GetPlayerButtonState(); + if (state == UICheckBox::UICheckBoxState::SELECTED) + { + if (musicCount++ % PROGRESS_COUNTDOWN == 0) + { + PlayersModel::GetInstance()->GetPlayerCtr()->GetCurrentTime(playerCurrentTime); + PlayersModel::GetInstance()->GetDuration(playerMusicDuration); + if (playerMusicDuration != 0) + { + playerProgressVlaue = (playerCurrentTime * PROGRESS_PERCENTAGE) / playerMusicDuration; + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "playerProgressVlaue %lld", playerProgressVlaue); + } + else + { + playerProgressVlaue = 100; + } + PlayersModel::GetInstance()->SetCircleProgress(playerProgressVlaue); + GraphicService::GetInstance()->PostGraphicEvent(std::bind(&PlayersPresenter::SetPlaybackProgress, + PlayersPresenter::GetInstance(), playerProgressVlaue)); + } + if (musicCount >= PROGRESS_COUNTDOWN) + { + musicCount = 0; + } } } -} -void MainPresenterSample::SetCompassRotate() -{ - if (CompassCalibrationView::GetInstance() == nullptr) { - return; - } - if (CompassView::GetInstance() == nullptr) { - return; - } + void MainPresenterSample::SetCompassRotate() + { + if (CompassCalibrationView::GetInstance() == nullptr) + { + return; + } + if (CompassView::GetInstance() == nullptr) + { + return; + } - uint8_t status = CompassModel::GetInstance()->GetCalibrationStatus(); - if (status == 1) { - CompassCalibrationView::GetInstance()->SetVisible(true); - CompassView::GetInstance()->SetVisible(false); - } else { - CompassCalibrationView::GetInstance()->SetVisible(false); - CompassView::GetInstance()->SetVisible(true); - DetermineToRotate(); + uint8_t status = CompassModel::GetInstance()->GetCalibrationStatus(); + if (status == 1) + { + CompassCalibrationView::GetInstance()->SetVisible(true); + CompassView::GetInstance()->SetVisible(false); + } + else + { + CompassCalibrationView::GetInstance()->SetVisible(false); + CompassView::GetInstance()->SetVisible(true); + DetermineToRotate(); + } } -} -void MainPresenterSample::Notify(void) -{ - SetCircleProgress(); - SetCompassRotate(); -} + void MainPresenterSample::Notify(void) + { + SetCircleProgress(); + SetCompassRotate(); + } } diff --git a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainViewSample.cpp b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainViewSample.cpp index bcd2c564e..e9d20770c 100755 --- a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainViewSample.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainViewSample.cpp @@ -28,10 +28,12 @@ namespace OHOS static const MainViewMapper PageMapper[] = { {NEW_DAIL, &MainViewSample::InitWatchFacePage}, {HEART_RATE, &MainViewSample::InitHeartRatePage}, - {COMPASS, &MainViewSample::InitCompassPage}, {BloodOxygen, &MainViewSample::InitBloodOxygenPage}, {TRAINING, &MainViewSample::InitTrainingPage}, + {COMPASS, &MainViewSample::InitCompassPage}, +#if 0 {APPLIST,&MainViewSample::InitApplistPage} +#endif }; MainViewSample::MainViewSample() @@ -50,19 +52,20 @@ namespace OHOS recordCard[i] = nullptr; pageStatus[i] = false; } - - if (mainSwipeGroup != nullptr) - { - delete mainSwipeGroup; - mainSwipeGroup = nullptr; - } - - if (mainClockView != nullptr) + /* -------------------------------------------------------------------------- */ + UIView *view = static_cast(MainViewSample::mainSwipeGroup)->GetChildrenHead(); + while (view != nullptr) { - delete mainClockView; - mainClockView = nullptr; + printf("delete\n"); + UIView *tempView = view; + view = view->GetNextSibling(); + if (tempView->GetParent()) + { + static_cast(tempView->GetParent())->Remove(tempView); + } + delete tempView; } - + /* -------------------------------------------------------------------------- */ if (activityWeekView != nullptr) { delete activityWeekView; @@ -80,32 +83,34 @@ namespace OHOS delete heartRateView; heartRateView = nullptr; } - if (dropDownView != nullptr) { delete dropDownView; dropDownView = nullptr; } - if (messageView != nullptr) { messageView->RemoveAll(); delete messageView; messageView = nullptr; } - if (messageLable != nullptr) { delete messageLable; messageLable = nullptr; } - if (compassControlView != nullptr) { delete compassControlView; compassControlView = nullptr; } - + /* -------------------------------------------------------------------------- */ + if (mainClockView != nullptr) + { + mainClockView->RemoveAll(); + delete mainClockView; + mainClockView = nullptr; + } if (dialView != nullptr) { delete dialView; @@ -113,19 +118,28 @@ namespace OHOS } if (bloodView != nullptr) { + bloodView->RemoveAll(); delete bloodView; bloodView = nullptr; } - if(traingView != nullptr) + if (traingView != nullptr) { + traingView->RemoveAll(); delete traingView; traingView = nullptr; } - if(applistCardView != nullptr) + if (applistCardView != nullptr) { delete applistCardView; applistCardView = nullptr; } + /* -------------------------------------------------------------------------- */ + if (mainSwipeGroup != nullptr) + { + delete mainSwipeGroup; + mainSwipeGroup = nullptr; + } + g_pMainView = nullptr; } @@ -169,7 +183,7 @@ namespace OHOS mainSwipeGroup->EnableScreenCap(true); mainSwipeGroup->RegisterSwipeCallback(callback); // 卡片切换 - mainSwipeGroup->SetHorCurrentPage(dialView->GetViewIndex()); + mainSwipeGroup->SetHorCurrentPage(mainClockView->GetViewIndex()); SetContainerView(mainSwipeGroup); } @@ -288,7 +302,7 @@ namespace OHOS UICardPage *MainViewSample::InitWatchFacePage(void) { - mainClockView = new Digital_clockView(); + mainClockView = new MainClockView(); if (mainClockView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MainClockView new fail"); @@ -352,11 +366,11 @@ namespace OHOS return traingView; } - //主界面功能列表界面 + // 主界面功能列表界面 UICardPage *MainViewSample::InitApplistPage(void) { applistCardView = new ApplistCardView(); - if(applistCardView == nullptr) + if (applistCardView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "applistCardView new fail"); return nullptr; @@ -373,7 +387,7 @@ namespace OHOS for (i = 0; i < sizeof(PageMapper) / sizeof(PageMapper[0]); i++) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::CreatePage PageMapper[i].id=%d, cardId=%d, StreamId=%d", PageMapper[i].id, cardId, StreamId); - printf("MainViewSample::CreatePage PageMapper[i].id=%d, cardId=%d, StreamId=%d\n", PageMapper[i].id, cardId, StreamId); + //("MainViewSample::CreatePage PageMapper[i].id=%d, cardId=%d, StreamId=%d\n", PageMapper[i].id, cardId, StreamId); if (PageMapper[i].id == cardId) { view = (this->*(PageMapper[i].func))(); @@ -392,6 +406,10 @@ namespace OHOS { heartRateView->HeartbeatImageAnimatorStart(); } + if (dialView != nullptr && pageIndex == ScreenModels::GetInstance()->GetCardPage(NEW_DAIL)) + { + dialView->ClockAnimatorStart(); + } } void MainViewSample::AnimatorStop(void) @@ -400,9 +418,10 @@ namespace OHOS { heartRateView->HeartbeatImageAnimatorStop(); } - // if (mainClockView != nullptr) { - // mainClockView->ClockAnimatorStop(); - // } + if (dialView != nullptr) + { + dialView->ClockAnimatorStop(); + } } bool MainViewSample::IsMainView(void) diff --git a/code/sdk/application/wearable/nativeapp/nativeui/screensetting/include/ScreenModels.h b/code/sdk/application/wearable/nativeapp/nativeui/screensetting/include/ScreenModels.h index bb525229e..563cc10a4 100755 --- a/code/sdk/application/wearable/nativeapp/nativeui/screensetting/include/ScreenModels.h +++ b/code/sdk/application/wearable/nativeapp/nativeui/screensetting/include/ScreenModels.h @@ -2,7 +2,7 @@ * @Author: Caisking 3449750381@qq.com * @Date: 2024-01-17 14:36:35 * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-01-17 19:47:13 + * @LastEditTime: 2024-01-18 15:53:56 * @FilePath: /FD230/code/sdk/application/wearable/nativeapp/nativeui/screensetting/include/ScreenModels.h * @Description: * @ @@ -28,7 +28,6 @@ typedef enum { TRAINING, BloodOxygen, COMPASS, - APPLIST, MAX_CARD, } CardId; diff --git a/code/sdk/application/wearable/nativeapp/nativeui/traing/src/TraingView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/traing/src/TraingView.cpp index 3d43b9f1f..da1413da8 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/traing/src/TraingView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/traing/src/TraingView.cpp @@ -208,7 +208,7 @@ namespace OHOS bool TraingView::InitView() { - printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); + //printf("Function: %s, Line: %d\n", __PRETTY_FUNCTION__, __LINE__); if (!InitLable()) { printf("InitLable error!\n"); -- 2.17.1