From 7dedb32d7df13c6ada44ef73c7dc429786c8d231 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Mon, 11 Nov 2024 16:35:47 +0800 Subject: [PATCH] =?utf8?q?=E7=B3=BB=E7=BB=9F=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?utf8?q?=E5=85=B6=E4=BB=96=E5=85=B3=E4=BA=8E=E6=97=B6=E9=97=B4=E6=98=BE?= =?utf8?q?=E7=A4=BA=E5=90=8C=E6=AD=A5=E5=8F=97=E6=A0=BC=E5=BC=8F=E6=8E=A7?= =?utf8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../wearable/fd230app/CMakeLists.txt | 3 ++ .../nativeui/clock/src/MainClockView.cpp | 38 ++++++++----------- .../main/src/dial/DialModelHourTens.cpp | 8 ++++ .../main/src/dial/DialModelHourUnits.cpp | 8 ++++ .../nativeui/main/src/dial/DialModelTime.cpp | 10 +---- .../main/src/dial/DialModelTimeStr.cpp | 10 ++++- .../nativeui/saveele/src/SaveBatView.cpp | 10 +++++ .../include/SetDialStyleModel.h | 4 +- .../nativeui/settings/src/SettingItemView.cpp | 6 ++- .../nativeui/settings/src/SettingModel.cpp | 1 + .../training_card/src/TrainingDataView.cpp | 8 ++++ .../service/ble_service/blemoder/bletest.cpp | 10 +++-- 12 files changed, 78 insertions(+), 38 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/CMakeLists.txt b/code/sdk/application/wearable/fd230app/CMakeLists.txt index 1c3a99492..3eb58e7d5 100644 --- a/code/sdk/application/wearable/fd230app/CMakeLists.txt +++ b/code/sdk/application/wearable/fd230app/CMakeLists.txt @@ -324,6 +324,9 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStyleModel.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStylePresenter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_dial_style/src/SetDialStyleView.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_time_format/src/SetTimeFormatModel.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_time_format/src/SetTimeFormatPresenter.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/set_time_format/src/SetTimeFormatView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/key/src/KeyInputListener.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/screennotify/src/ui_screennotify.cpp diff --git a/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp b/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp index a3cbbf34e..e1432b9e6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/clock/src/MainClockView.cpp @@ -36,7 +36,7 @@ extern uint8_t battery_get_voltage(float *voltage); #define TIMEVIEW_UP 0 #define TIMEVIEW_DOWN 1 #define SECONDTEST 0 -#define TIMEFORMAT 0 +#define TIMEFORMAT 1 std::string Enweekdays[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; std::string Cnweekdays[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; @@ -542,28 +542,20 @@ namespace OHOS uint8_t hour = local_time.tm_hour % HOURS_IN_DAY; uint8_t minute = local_time.tm_min % MINUTES_IN_HOUR; char timebuf[64] = {0}; - - // Format time string based on defined macros + //时间显示样式 + #if TIMEFORMAT + if (uapi_dev_runtime_get_time_hour_show_model() == HOUR_FORMAT_12) { + if (hour > HOUR_FORMAT_12) { + hour -= HOUR_FORMAT_12; + } + } + #endif + //是否显示秒 #if SECONDTEST - uint8_t second = local_time.tm_sec; - // uint16_t millisecond = local_time.tm_sec % 1000; - sprintf(timebuf, "%02d:%02d:%02d", hour, minute, second); - #else - sprintf(timebuf, "%02d:%02d", hour, minute); - #endif - - #if TIMEFORMAT - // Handle 12-hour format display - const char *phour = (uapi_dev_runtime_get_time_hour_show_model() == HOUR_FORMAT_12) ? - (hour < HOUR_FORMAT_12 ? "AM" : "PM") : nullptr; - - if (phour) { - if (hour > HOUR_FORMAT_12) - hour -= HOUR_FORMAT_12; - sprintf_s(timebuf, sizeof(timebuf), "%s %02d:%02d", phour, hour, minute); - } else { - sprintf_s(timebuf, sizeof(timebuf), "%02d:%02d", hour, minute); - } + uint8_t second = local_time.tm_sec; + sprintf(timebuf, "%02d:%02d:%02d", hour, minute, second); + #else + sprintf_s(timebuf, sizeof(timebuf), "%02d:%02d", hour, minute); #endif // Update display labels @@ -590,7 +582,7 @@ namespace OHOS return; power_ = power; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryprogress power_:%d", power_); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "batteryprogress power_:%d", power_); if (batteryprogress != nullptr && batterylabel != nullptr) { batteryprogress->SetValue(power_); diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp index 25df34fe4..0a1a2b623 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourTens.cpp @@ -22,6 +22,14 @@ namespace OHOS struct timeval tv; gettimeofday(&tv, NULL); // 获取当前时间 localtime_r(&tv.tv_sec, &tblock_); + + //需要判断显示的格式 + if (uapi_dev_runtime_get_time_hour_show_model() == 12) + { + if (tblock_.tm_hour > 12) + tblock_.tm_hour = tblock_.tm_hour - 12 ; + } + hour_tens = tblock_.tm_hour / 10; // 小时十位 out = static_cast(hour_tens); diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp index 2cbf1baff..e63d63f54 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelHourUnits.cpp @@ -16,6 +16,14 @@ namespace OHOS struct timeval tv; gettimeofday(&tv, NULL); // 获取当前时间 localtime_r(&tv.tv_sec, &tblock_); + + //需要判断显示的格式 + if (uapi_dev_runtime_get_time_hour_show_model() == 12) + { + if (tblock_.tm_hour > 12) + tblock_.tm_hour = tblock_.tm_hour - 12 ; + } + hour_units = tblock_.tm_hour % 10; // 小时十位 out = static_cast(hour_units); diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp index d327e51f6..bd1d33b4d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTime.cpp @@ -89,14 +89,8 @@ void DialModelTime::UpdateTime() tblock_.tm_hour = tmp.tm_hour; tblock_.tm_min = tmp.tm_min; tblock_.tm_sec = tmp.tm_sec; - - if (tmp.tm_hour >=12) - { - pm_ = 1; - }else { - pm_ = 0; - } - if (uapi_dev_runtime_get_time_hour_show_model() == 12 ) + + if (uapi_dev_runtime_get_time_hour_show_model() == 12) { if (tmp.tm_hour > 12) tblock_.tm_hour = tmp.tm_hour - 12 ; diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTimeStr.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTimeStr.cpp index e7a9c278a..848f721ee 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTimeStr.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelTimeStr.cpp @@ -25,8 +25,16 @@ bool DialModelTimeStr::GetDialTextData(DialDataType &type, std::string *&out, // Use ostringstream to format the time with leading zeros std::ostringstream oss; + + //需要判断显示的格式 + if (uapi_dev_runtime_get_time_hour_show_model() == 12) + { + if (tblock_.tm_hour > 12) + tblock_.tm_hour = tblock_.tm_hour - 12 ; + } + oss << std::setw(2) << std::setfill('0') << tblock_.tm_hour << ":" - << std::setw(2) << std::setfill('0') << tblock_.tm_min; + << std::setw(2) << std::setfill('0') << tblock_.tm_min; std::string timeStr = oss.str(); // Get the formatted time string diff --git a/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatView.cpp b/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatView.cpp index 447a24c86..df25a4322 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatView.cpp @@ -15,6 +15,9 @@ #include "custom_utils.h" #include "UiConfig.h" #include "wearable_log.h" + +#include "custom_runtime.h" + #define ANIMATION_TEST 0 extern "C" { @@ -441,6 +444,13 @@ namespace OHOS (month < 10 ? "0" : "") + std::to_string(month) + "-" + (day < 10 ? "0" : "") + std::to_string(day) + " " + weekStr; + //需要判断显示的格式 + if (uapi_dev_runtime_get_time_hour_show_model() == 12) + { + if (pTM.tm_hour > 12) + hour = pTM.tm_hour - 12 ; + } + std::string stringtime = (hour < 10 ? "0" : "") + std::to_string(hour) + ":" + (minute < 10 ? "0" : "") + std::to_string(minute); diff --git a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleModel.h b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleModel.h index c27e3007a..28dee6350 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/set_dial_style/include/SetDialStyleModel.h @@ -28,7 +28,9 @@ private: struct { const DialStyle style; const char value[MAX_LEN]; - } values_[static_cast(DialStyle::STYLE_NUM)] = { + } + + values_[static_cast(DialStyle::STYLE_NUM)] = { {DialStyle::COVERFLOW, "DialStyle::COVERFLOW"}, {DialStyle::ROLLER, "DialStyle::ROLLER"}, }; diff --git a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp index 17580ce28..f8036af31 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingItemView.cpp @@ -60,7 +60,11 @@ namespace OHOS Icon.SetSrc(itemInfo.icon); settingLabelExt.SetVisible(true); settingLabelExt.SetPosition(SETTINGLABELEXT_X, SETTINGLABELEXT_Y, SETTINGLABELEXT_W, SETTINGLABELEXT_H); - settingLabelExt.SetTextId(itemInfo.textId); + if (itemInfo.viewId == VIEW_SET_TIME_FORMAT) { + settingLabelExt.SetText("时间显示样式");//TODO:多国语言 + } else { + settingLabelExt.SetTextId(itemInfo.textId); + } settingLabelExt.SetAlign(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_CENTER); settingLabelButtonExt.SetVisible(true); SetHeight(120); diff --git a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp index 58362b4cd..3e4f9547e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/settings/src/SettingModel.cpp @@ -45,6 +45,7 @@ namespace OHOS settings[index++] = {VIEW_ADD_CARD, PNG_SETTINGS_CARDSET_IMAGE, STR_CARD_MANAGEMENT, true}; settings[index++] = {VIEW_SET_DIAL_STYLE, PNG_SETTINGS_CHANGEDIAL_IMAGE, STR_DIAL_BROWSING_SPECIAL_EFFECTS, true}; settings[index++] = {VIEW_SAVEELE, PNG_SETTINGS_SAVEELE_IMAGE, STR_POWER_SAVE_MODE, true}; + settings[index++] = {VIEW_SET_TIME_FORMAT, PNG_SETTINGS_CHANGEDIAL_IMAGE, STR_TIME, true};//测试24小时格式与12小时 settings[index++] = {VIEW_SYSTEM, PNG_SETTINGS_SYSTEM, STR_SYSTEM, true}; settings[index++] = {VIEW_INVALID, nullptr, STR_MAX_ID, false}; usedLen = index; diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp index 8734a04f2..416024c1b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingDataView.cpp @@ -19,6 +19,7 @@ #include "ui_resource_string.h" #include "uicomponents/UIComponents.h" #include +#include "custom_runtime.h" namespace OHOS { @@ -171,6 +172,13 @@ void TrainingDataView::UpdataTime() { // 解析时间 int hour = pTM.tm_hour; + //需要判断显示的格式 + if (uapi_dev_runtime_get_time_hour_show_model() == 12) + { + if (pTM.tm_hour > 12) + hour = pTM.tm_hour - 12 ; + } + int minute = pTM.tm_min; // 将时间和日期转换为字符串 diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index eed30fc31..afa8a5ce0 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -1969,10 +1969,12 @@ void set_user_data(msg_user_info_t *data) p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SPORTS_GOAL_DISTANCE,data->distance); do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SET_USER_INFO, NULL); - if(data->timeformat==0) - p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_24HOUR,24); - else - p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_24HOUR,12); + + // app端不修改手表端时间显示 + // if(data->timeformat==0) + // p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_24HOUR,24); + // else + // p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_24HOUR,12); -- 2.17.1