From: 罗正 <1732036298@qq.com> Date: Mon, 2 Sep 2024 10:25:59 +0000 (+0000) Subject: Merge #854 into sdk602patch0626 from refs/changes/854/head X-Git-Tag: release_V1.2.70_20241020_135402~540^2~7^2~3 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=3a4b60ff23c770f4864560f97706172c308968b8;p=mirrors%2FFD230.git Merge #854 into sdk602patch0626 from refs/changes/854/head Code review from 罗正 * refs/changes/854/head: (25 commits squashed) - 秒表界面计数条数去掉数字0 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 1.倒计时界面取消长亮屏,并在倒计时结束时添加一个亮屏5s操作 2.优化自定义倒计时时间总时长文字不居中 - 解决闹钟界面右滑容易退出问题 - 补交闹钟少提交文件 - 倒计时界面使用%02d解决计数少于两位数补零 - 闹钟退出逻辑改为OnDragEnd - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 修复下拉界面关闭4g开关,而4G开关界面中没有同步关闭问题 #406 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 天气动画改为Imageinfo保存和释放 - AI语音优化修改: 1.动画改为imageinfo创建和释放改善内存泄漏 2.添加对应回应类型的错误弹窗 - 查找手机和配对动画改成Imageinfo减少内存泄漏 - 开机动画使用Imageinfo创建和释放,解决动画内存泄漏 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 查找手机界面屏蔽未连接界面,与figma上设计统一 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 查找手机界面UI优化,解决内存泄漏 - 录音界面添加录音超出限制提醒弹窗,录音排序待优化 - 绑定动画资源添加 - 配对弹窗优化,添加一个动画,并适配多国语言 - 解绑弹窗UI优化修改,适配多国语言 - 解绑确认弹窗添加,并添加对应多国语言资源 Signed-off-by: 罗正 <1732036298@qq.com> Reviewed-by: snickersun@163.com Merged-by: snickersun@163.com CR-link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/854 --- diff --git a/code/sdk/application/wearable/fd230app/CMakeLists.txt b/code/sdk/application/wearable/fd230app/CMakeLists.txt index c6f79f888..3bac64586 100644 --- a/code/sdk/application/wearable/fd230app/CMakeLists.txt +++ b/code/sdk/application/wearable/fd230app/CMakeLists.txt @@ -503,6 +503,7 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/record/src/RecordingView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/record/src/RecordingModel.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/record/src/RecordingVolumeSettingView.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/record/src/RecordingNumLimitView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/rotate/src/RotateView.cpp diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h index 0a38d6405..43837244c 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/ui_resource_string.h @@ -469,98 +469,100 @@ enum UIResourceTextId : uint16_t { STR_SEDENTARY_REMINDER = 456, STR_SEDENTARY_REMINDER_NOTE = 457, STR_SYSTEM_UPGRADING = 458, - STR_NEWDEVICE_BIND_REMIND_NOTE = 459, - STR_AI_VOICE = 460, - STR_AI_INTELLIGENT_ASSISTANT = 461, - STR_START_CHAT = 462, - STR_BOOT_FAILED = 463, - STR_ENABLE_MOBILE_DATA_FIRST = 464, - STR_ENABLE_BLUETOOTH_FIRST = 465, - STR_LISTENING = 466, - STR_FINISH_SPEAKING = 467, - STR_THINKING = 468, - STR_CANCEL = 469, - STR_CONNECT_TIMEOUT = 470, - STR_PLEASE_RESTART_CHAT = 471, - STR_CONTINUE_CHAT = 472, - STR_AIMODELS_DOUBAO = 473, - STR_AIMODES_WENXINYIYAN = 474, - STR_AIMODES_KIMI = 475, - STR_AIMODES_CHATGPT = 476, - STR_SLIDE_TO_SHUTDOWN = 477, - STR_SLIDE_TO_REBOOT = 478, - STR_AI_FAMILY_MEALS = 479, - STR_CHAT = 480, - STR_PCY4GC_OR_AS = 481, - STR_API_KEYS = 482, - STR_PGTTAF = 483, - STR_DAFBS = 484, - STR_OPENAI_API_KEYS = 485, - STR_KHBB = 486, - STR_GTAS = 487, - STR_DYWTDAK = 488, - STR_CONNECTING = 489, - STR_CONNECTION_FAIL = 490, - STR_PTALORTM = 491, - STR_MOTION_DETECTION_WALK_NOTE = 492, - STR_MOTION_DETECTION_RUN_NOTE = 493, - STR_MOTION_DETECTION_RIDE_NOTE = 494, - STR_MOTION_DETECTION_ROWING_NOTE = 495, - STR_MOTION_DETECTION_ELLIPTICAL_NOTE = 496, - STR_PE4GC = 497, - STR_OBU_MESSAGE = 498, - STR_DELETE = 499, - STR_CHARGE = 500, - STR_CHARGE_NOTE = 501, - STR_STEP_FREQUENCY = 502, - STR_STEP_LENGTH = 503, - STR_AVG_PACE = 504, - STR_TONGYI_QIANWEN = 505, - STR_IFLYTEK_SPARK = 506, - STR_DISTURBNOTE_OFF = 507, - STR_4G_NOTE = 508, - STR_MUSIC_PLAYER_SOURCE_NOTE = 509, - STR_MUSIC_LIST_IS_EMPTY = 510, - STR_BT_HEADSET_RESCAN = 511, - STR_BT_HEADSET_NOFOND = 512, - STR_SCHEDULE = 513, - STR_SCHEDULE_TITLE = 514, - STR_SCHEDULE_NO_DATA = 515, - STR_SCHEDULE_NO_DATA_PROMPT = 516, - STR_NO_PAIRED_DEV = 517, - STR_IGNORE = 518, - STR_START = 519, - STR_ARC_SCALE_LIST_DISPLAY = 520, - STR_COUNT_DOWN = 521, - STR_CUSTOM_TIME = 522, - STR_QUICK_START = 523, - STR_1_MIN = 524, - STR_5_MIN = 525, - STR_10_MIN = 526, - STR_30_MIN = 527, - STR_SET_COUNT_DOWN_NOTE = 528, - STR_COUNTDOWN_ENDS = 529, - STR_MAXIMUM_TIME_REACH_NOTE = 530, - STR_STOPWATCH_STOP_NOTE = 531, - STR_TMCHBR = 532, - STR_SCHEDULE_TOPIC = 533, - STR_SCHEDULE_TIME = 534, - STR_SCHEDULE_NOTES = 535, - STR_SCHEDULE_DELETE_PROMPT = 536, - STR_HANG_UP_OR_ANSWER = 537, - STR_WATCH_CALL = 538, - STR_PHONE_CALL = 539, - STR_STEPS_OF_THE_DAY = 540, - STR_MILEAGE = 541, - STR_FAT_BURNING_TIME = 542, - STR_NUMBER_OF_STANDS = 543, - STR_CONSUME_CALORIES = 544, - STR_GOAL_HINT = 545, - STR_SLEEPMODE = 546, - STR_SLEEP_MODE_PROMPT_ON = 547, - STR_LOW_POWER_NOTIF_1 = 548, - STR_LOW_POWER_NOTIF_2 = 549, - STR_MAX_ID = 550, + STR_NEWDEVICE_BIND_REMIND_NOTE1 = 459, + STR_NEWDEVICE_BIND_REMIND_NOTE2 = 460, + STR_NEWDEVICE_BIND_REMIND_NOTE3 = 461, + STR_AI_VOICE = 462, + STR_AI_INTELLIGENT_ASSISTANT = 463, + STR_START_CHAT = 464, + STR_BOOT_FAILED = 465, + STR_ENABLE_MOBILE_DATA_FIRST = 466, + STR_ENABLE_BLUETOOTH_FIRST = 467, + STR_LISTENING = 468, + STR_FINISH_SPEAKING = 469, + STR_THINKING = 470, + STR_CANCEL = 471, + STR_CONNECT_TIMEOUT = 472, + STR_PLEASE_RESTART_CHAT = 473, + STR_CONTINUE_CHAT = 474, + STR_AIMODELS_DOUBAO = 475, + STR_AIMODES_WENXINYIYAN = 476, + STR_AIMODES_KIMI = 477, + STR_AIMODES_CHATGPT = 478, + STR_SLIDE_TO_SHUTDOWN = 479, + STR_SLIDE_TO_REBOOT = 480, + STR_AI_FAMILY_MEALS = 481, + STR_CHAT = 482, + STR_PCY4GC_OR_AS = 483, + STR_API_KEYS = 484, + STR_PGTTAF = 485, + STR_DAFBS = 486, + STR_OPENAI_API_KEYS = 487, + STR_KHBB = 488, + STR_GTAS = 489, + STR_DYWTDAK = 490, + STR_CONNECTING = 491, + STR_CONNECTION_FAIL = 492, + STR_PTALORTM = 493, + STR_MOTION_DETECTION_WALK_NOTE = 494, + STR_MOTION_DETECTION_RUN_NOTE = 495, + STR_MOTION_DETECTION_RIDE_NOTE = 496, + STR_MOTION_DETECTION_ROWING_NOTE = 497, + STR_MOTION_DETECTION_ELLIPTICAL_NOTE = 498, + STR_PE4GC = 499, + STR_OBU_MESSAGE = 500, + STR_DELETE = 501, + STR_CHARGE = 502, + STR_CHARGE_NOTE = 503, + STR_STEP_FREQUENCY = 504, + STR_STEP_LENGTH = 505, + STR_AVG_PACE = 506, + STR_TONGYI_QIANWEN = 507, + STR_IFLYTEK_SPARK = 508, + STR_DISTURBNOTE_OFF = 509, + STR_4G_NOTE = 510, + STR_MUSIC_PLAYER_SOURCE_NOTE = 511, + STR_MUSIC_LIST_IS_EMPTY = 512, + STR_BT_HEADSET_RESCAN = 513, + STR_BT_HEADSET_NOFOND = 514, + STR_SCHEDULE = 515, + STR_SCHEDULE_TITLE = 516, + STR_SCHEDULE_NO_DATA = 517, + STR_SCHEDULE_NO_DATA_PROMPT = 518, + STR_NO_PAIRED_DEV = 519, + STR_IGNORE = 520, + STR_START = 521, + STR_ARC_SCALE_LIST_DISPLAY = 522, + STR_COUNT_DOWN = 523, + STR_CUSTOM_TIME = 524, + STR_QUICK_START = 525, + STR_1_MIN = 526, + STR_5_MIN = 527, + STR_10_MIN = 528, + STR_30_MIN = 529, + STR_SET_COUNT_DOWN_NOTE = 530, + STR_COUNTDOWN_ENDS = 531, + STR_MAXIMUM_TIME_REACH_NOTE = 532, + STR_STOPWATCH_STOP_NOTE = 533, + STR_TMCHBR = 534, + STR_SCHEDULE_TOPIC = 535, + STR_SCHEDULE_TIME = 536, + STR_SCHEDULE_NOTES = 537, + STR_SCHEDULE_DELETE_PROMPT = 538, + STR_HANG_UP_OR_ANSWER = 539, + STR_WATCH_CALL = 540, + STR_PHONE_CALL = 541, + STR_STEPS_OF_THE_DAY = 542, + STR_MILEAGE = 543, + STR_FAT_BURNING_TIME = 544, + STR_NUMBER_OF_STANDS = 545, + STR_CONSUME_CALORIES = 546, + STR_GOAL_HINT = 547, + STR_SLEEPMODE = 548, + STR_SLEEP_MODE_PROMPT_ON = 549, + STR_LOW_POWER_NOTIF_1 = 550, + STR_LOW_POWER_NOTIF_2 = 551, + STR_MAX_ID = 552, }; // UIResourceTextId enum FontLanguageId : uint8_t { diff --git a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp index ab206ee17..d9c1f3767 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp @@ -32,10 +32,10 @@ #include "custom_runtime.h" #include "uiservice/include/ui_service.h" #include "power_display_service.h" -#include "record/include/RecordingModel.h" #include #include "AppViewIDs.h" #include "player/include/PlayersView.h" +#include "record/include/RecordingPlayerView.h" #ifdef __cplusplus extern "C" { @@ -530,9 +530,13 @@ extern "C" SendMsgToUIService(UI_UPDATE_PLAYERPROCESS, 0, nullptr, 0); } } - else if(OHOS::RecordingModel::GetInstance()->GetRecordingPlayerViewCreate()) + else if(OHOS::RecordingPlayerView::GetInstance()) { - SendMsgToUIService(UI_UPDATE_RECORDPROCESS, 0, nullptr, 0); + OHOS::UICheckBox::UICheckBoxState state = OHOS::RecordingPlayerView::GetInstance()->GetPlayerButtonState(); + if(state == OHOS::UICheckBox::UICheckBoxState::SELECTED) + { + SendMsgToUIService(UI_UPDATE_RECORDPROCESS, 0, nullptr, 0); + } } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhoneView.cpp b/code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhoneView.cpp index cde95682b..758763a55 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhoneView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhoneView.cpp @@ -8,7 +8,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-27 10:47:46 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-31 16:40:57 + * @LastEditTime: 2024-08-31 18:27:22 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/findphone/src/FindPhoneView.cpp */ #include "findphone/include/FindPhoneView.h" @@ -35,7 +35,6 @@ namespace OHOS FindPhoneView::~FindPhoneView() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FindPhoneView::~FindPhoneView"); - ClearAll(); g_pFindPhoneView = nullptr; } @@ -48,22 +47,30 @@ namespace OHOS { if (viewInitStatus == true) { + // UIViewGroup *tmpGroup = dynamic_cast(container_); + // UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup); + // FreeImageInfoArray(FindPhonePathsArray, FIND_PONE_IMAGE_SRC, FINDPHONE_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + + if (container_ != nullptr) + { + container_->RemoveAll(); + delete container_; + container_ = nullptr; + } if (FindPhoneGroupView != nullptr) { FindPhoneGroupView->RemoveAll(); - if (FindPhoneTitleLabel == nullptr) + if (FindPhoneTitleLabel != nullptr) { delete FindPhoneTitleLabel; FindPhoneTitleLabel = nullptr; } - if (FindPhoneImageView != nullptr) { delete FindPhoneImageView; FindPhoneImageView = nullptr; } - if (FindPhoneImageAnimator != nullptr) { FindPhoneImageAnimator->Stop(); @@ -72,21 +79,19 @@ namespace OHOS // FreeImagePathsArray(FindPhonePathsArray, FINDPHONE_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); FreeImageInfoArray(FindPhonePathsArray, FIND_PONE_IMAGE_SRC, FINDPHONE_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); } - if (FindPhoneLabel != nullptr) { delete FindPhoneLabel; FindPhoneLabel = nullptr; } - if (FindPhoneLabelButton != nullptr) { delete FindPhoneLabelButton; FindPhoneLabelButton = nullptr; } - delete FindPhoneGroupView; FindPhoneGroupView = nullptr; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "FindPhoneView::ClearAll over!!"); } } } @@ -106,6 +111,9 @@ namespace OHOS } FindPhoneGroupView->SetPosition(0, 0, 466, 466); FindPhoneGroupView->SetStyle(STYLE_BACKGROUND_OPA, 0); + FindPhoneGroupView->SetTouchable(true); + FindPhoneGroupView->SetDraggable(true); + FindPhoneGroupView->SetOnDragListener(presenter_); /* --------------------------- FindPhoneTitleLabel -------------------------- */ FindPhoneTitleLabel = new UILabelExt(); if (FindPhoneTitleLabel == nullptr) @@ -161,13 +169,13 @@ namespace OHOS FindPhoneLabelButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff)); FindPhoneLabelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); FindPhoneLabelButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - UIView::OnClickListener *clickListener = static_cast(FindPhonePresenter::GetInstance()); - FindPhoneLabelButton->SetOnClickListener(clickListener); + FindPhoneLabelButton->SetOnClickListener(presenter_); /* ----------------------------------- Add ---------------------------------- */ FindPhoneGroupView->Add(FindPhoneTitleLabel); FindPhoneGroupView->Add(FindPhoneImageView); FindPhoneGroupView->Add(FindPhoneLabel); FindPhoneGroupView->Add(FindPhoneLabelButton); + container_->Add(FindPhoneGroupView); } viewInitStatus = true; } @@ -187,6 +195,9 @@ namespace OHOS } FindPhoneGroupView->SetPosition(0, 0, 466, 466); FindPhoneGroupView->SetStyle(STYLE_BACKGROUND_OPA, 0); + FindPhoneGroupView->SetTouchable(true); + FindPhoneGroupView->SetDraggable(true); + FindPhoneGroupView->SetOnDragListener(presenter_); /* --------------------------- FindPhoneTitleLabel -------------------------- */ FindPhoneTitleLabel = new UILabelExt(); if (FindPhoneTitleLabel == nullptr) @@ -228,7 +239,6 @@ namespace OHOS FindPhoneImageAnimator->SetStyle(STYLE_BACKGROUND_OPA, 0xff); FindPhoneImageAnimator->SetImageAnimatorSrc(FindPhoneImageInfo, FINDPHONE_IMAGE_ANIMATOR_VIEW_NUM_FRAMES, FINDPHONE_IMAGE_ANIMATOR_VIEW_TIMEOFUPDATE); FindPhoneImageAnimator->SetRepeat(true); - FindPhoneImageAnimator->Start(); } /* ----------------------------- FindPhoneLabel ----------------------------- */ FindPhoneLabel = new UILabelExt(); @@ -261,13 +271,13 @@ namespace OHOS FindPhoneLabelButton->SetTextColor(Color::GetColorFromRGBA(0xff, 0x5a, 0x36, 0xff)); FindPhoneLabelButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); FindPhoneLabelButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - UIView::OnClickListener *clickListener = static_cast(FindPhonePresenter::GetInstance()); - FindPhoneLabelButton->SetOnClickListener(clickListener); + FindPhoneLabelButton->SetOnClickListener(presenter_); /* ----------------------------------- Add ---------------------------------- */ FindPhoneGroupView->Add(FindPhoneTitleLabel); FindPhoneGroupView->Add(FindPhoneImageAnimator); FindPhoneGroupView->Add(FindPhoneLabel); FindPhoneGroupView->Add(FindPhoneLabelButton); + container_->Add(FindPhoneGroupView); } viewInitStatus = true; } @@ -275,32 +285,41 @@ namespace OHOS void FindPhoneView::OnStart() { View::OnStart(); + // if (FindPhoneModel::GetInstance().GetBlueToothConnectedState() == true) // 判断蓝牙是否是连接状态 + // { + // FindPhoneViewInit_BlueToothConnected(); + // senfindphoneSend(FINDPHONE_START); + // } + // else + // { + // FindPhoneViewInit_BlueToothDisConnected(); + // } + SetContainerView(new UIViewGroup()); + if (GetContainer() == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "container_ new fail!!"); + return; + } + container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); + container_->SetTouchable(true); + container_->SetDraggable(true); - if (FindPhoneModel::GetInstance().GetBlueToothConnectedState() == true) // 判断蓝牙是否是连接状态 + if (!viewInitStatus) { FindPhoneViewInit_BlueToothConnected(); senfindphoneSend(FINDPHONE_START); + viewInitStatus = true; } - else - { - FindPhoneViewInit_BlueToothDisConnected(); - } - - FindPhoneGroupView->SetTouchable(true); - FindPhoneGroupView->SetDraggable(true); - UIView::OnDragListener *dragListener = static_cast(FindPhonePresenter::GetInstance()); - FindPhoneGroupView->SetOnDragListener(dragListener); - - // 增加按键监听 - RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::FindPhonePresenter::GetInstance(); - RootView::GetInstance()->SetOnKeyActListener(keyactListener); + RootView::GetInstance()->SetOnKeyActListener(presenter_); } void FindPhoneView::OnSetUpView() { View::OnSetUpView(); - RootView::GetInstance()->Add(FindPhoneGroupView); - container_ = FindPhoneGroupView; + if (FindPhoneImageAnimator) + { + FindPhoneImageAnimator->Start(); + } Draw(); } @@ -313,8 +332,8 @@ namespace OHOS void FindPhoneView::OnStop() { View::OnStop(); - RootView::GetInstance()->RemoveAll(); RootView::GetInstance()->ClearOnKeyActListener(); + ClearAll(); return; } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h index 08b37e734..38e3a5064 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 09:14:38 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-26 09:44:39 + * @LastEditTime: 2024-08-31 20:51:23 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordDeleteView.h * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -55,6 +55,7 @@ namespace OHOS UILabelExt *DeleteNameLabel{nullptr}; UIButton *RECORD_DELETE_ON_BUTTON{nullptr}; // 是否删除录音:是 UIButton *RECORD_DELETE_OFF_BUTTON{nullptr}; // 是否删除录音:否 + std::string mergefileName; }; } // namespace OHOS #endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingListAdapter.h b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingListAdapter.h index adf226a46..59bac81d0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingListAdapter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingListAdapter.h @@ -1,3 +1,11 @@ +/* + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-08-05 15:20:03 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-08-31 20:19:31 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingListAdapter.h + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ #ifndef RECORDING_LIST_ADAPTER_H #define RECORDING_LIST_ADAPTER_H @@ -10,7 +18,7 @@ namespace OHOS typedef struct { int index; - const char *recordId; // 录音编号 + std::string recordId; // 录音名 const char *recordTotalTime; // 录音总时长 const char *recordTime; // 录音时间 } RecordingListItem; diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingModel.h b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingModel.h index 3a2e5aaeb..7494f1826 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingModel.h @@ -38,7 +38,7 @@ namespace OHOS RECORDER_RESPONSE_MAX, }; -#define MAX_RECORDING_NUM 20 +#define MAX_RECORDING_NUM 30 typedef struct { char recordingFileName[32]; // 录音文件名 @@ -69,17 +69,17 @@ namespace OHOS void InitRecordingListItem(); std::vector &GetRecordinglistItems(); std::string GetCurrentPlayRecordingName(void); + std::string GetCurrentPlayRecordingName(std::string name); int GetRecordingListNum(); void SetRecordingListNum(int value); std::string GetCleanFileName(const std::string &filePath); - void SearchFiles(const std::string &directory, std::vector &fileNames, int &mp3FileCount); + void SearchFiles(const std::string &directory, std::vector &Recordings, int &mp3FileCount); void SetClickRecordingIndex(int index_); int GetClickRecordingIndex(void); std::vector &GetFileNames(void); void SetTotalRecordDuration(std::string time); std::string GetTotalRecordDuration(void) const; - void SetRecordingInfo(RecordingInfo &info, int index); - void UpdateRecordingInfo(int index); + void UpdateRecordingInfo(); void SetRecordFileName(std::string name); std::string GetRecordFileName(void); std::string Getyyyymmhhh_date(void); @@ -95,12 +95,13 @@ namespace OHOS bool CreateRecordPlayDirectory(const char *path); const char *GetRecordDirectory() const; static std::string recordTempDuration; // 录音时长 - int RecordDataWriteToFile(); - int RecordDataReadToFile(); + int RecordDataWriteToFile(std::string name); + int RecordDataReadToFile(std::string name); + void printfRecordData(); void GetDuration(int64_t &duration); void UpdateRecordProcess(); - bool GetRecordingPlayerViewCreate(); - void SetRecordingPlayerViewCreate(bool state); + int getMaxRecordingNumber(void); + void setMaxRecordingNumber(int number); private: RecordingModel(); @@ -124,7 +125,7 @@ namespace OHOS bool isStopAndReset{false}; // 判断是否是停止还是重置状态 bool audioInitStatus{false}; /* -------------------------------------------------------------------------- */ - std::vector fileNames; // 文件名数组 + std::vector fileNames; // 录音文件名数组 int RecordingMp3FileCount = 0; // 录音MP3数量 const std::string directory = "/user/userdata/recording/"; // 录音目录 const std::string recordInfoFile = "/user/userdata/recording/recordinfo.bin"; @@ -136,7 +137,10 @@ namespace OHOS char *yyyymmhhh_date; // 保存年月日时间 std::string TotalRecordDuration; // 保存录音的总时长 std::string RecordingTimeAndDuration; // 录音日期和录音时长 - RecordingInfo recordingInfo[MAX_RECORDING_NUM] = {0}; + RecordingInfo info[MAX_RECORDING_NUM] = {0}; + RecordingInfo recordingInfo{0}; + std::string mergefileName; + int MaxRecordingNumber{0}; //要录取的最大录音编号 /* -------------------------------------------------------------------------- */ bool RecordingPlayerViewIsCreate{false}; }; diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingNumLimitView.h b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingNumLimitView.h new file mode 100644 index 000000000..16597fc5f --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingNumLimitView.h @@ -0,0 +1,50 @@ +/* + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-08-30 15:38:55 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-08-30 16:08:59 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingNumLimitView.h + */ +#ifndef _RECORDING_NUM_LIMIT_VIEW_ +#define _RECORDING_NUM_LIMIT_VIEW_ +#include "BaseView.h" +#include "components/ui_scroll_view.h" +#include "components/ui_label_ext.h" +#include "components/ui_image_view.h" +#include "components/ui_button.h" + +namespace OHOS +{ + static constexpr const char *RECORDINGNUMLIMITVIEW = "RecordingNumLimitView"; + static constexpr const char *RECORDINGNUMLIMITBUTTONVIEW = "RecordingNumLimitButtonView"; + class RecordingNumLimitView + { + public: + struct LabelConfig + { + int16_t left; + int16_t top; + int16_t width; + int16_t height; + int16_t fontSize; // 字体大小 + int16_t lineHeigh; // 行高 + int16_t textId; // 文本id + uint8_t lineBreakMode; // 断行模式。 + }; + RecordingNumLimitView(); + ~RecordingNumLimitView(); + UIScrollView *RecordingNumLimitViewInit(void); + + private: + UILabelExt *CreateRecordingNumLimitLabel(LabelConfig &labelconfig); // 设置标签 + void ClearAll(void); + UIScrollView *scrollView{nullptr}; + UILabelExt *title{nullptr}; + UIImageView *image{nullptr}; + UILabelExt *note{nullptr}; + UILabelExt *goitlabel{nullptr}; + UIButton *goitbutton{nullptr}; + }; + +} +#endif diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h index 27dc2fce2..ec20a1c09 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 09:14:38 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-28 14:45:22 + * @LastEditTime: 2024-08-30 16:16:24 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/include/RecordingView.h */ #ifndef RECORD_VIEW_H @@ -24,6 +24,7 @@ #include "record/include/RecordingPlayerView.h" #include "record/include/RecordDeleteView.h" #include "record/include/RecordingVolumeSettingView.h" +#include "record/include/RecordingNumLimitView.h" namespace OHOS { @@ -35,6 +36,7 @@ namespace OHOS RECORDINGPLAYERVIEW, // 录音播放视图(subView) RECORDINGDELETEVIEW, // 录音删除视图(subView) RECORDINGVOLUMESETTINGVIEW, // 声音设置视图(subView) + RECORDINGEXCELIMIT, // 录音数量超出限制(subView) MAX_RECORDINGVIEWID, } RECORDINGVIEWID; @@ -62,9 +64,10 @@ namespace OHOS bool ChangeRecordingPlayerView(int16_t thisView); // 切换到“录音播放”视图 bool ChangeRecordDeleteView(int16_t thisView); // 切换到“录音删除”视图 bool ChangeRecordVolumeSettingView(int16_t thisView); // 切换到“声音设置”视图 + bool ChangeRecordNumLimitView(int16_t thisView); // 切换到“录音超出限制”视图 bool ClickFunc(int16_t interface); void ChangeView(int16_t hideView, int16_t showView); - int GetCurrentViewType(UIScrollView * view); + int GetCurrentViewType(UIScrollView *view); UIScrollView *GetRecordingViewScrollView(int index); public: @@ -79,6 +82,7 @@ namespace OHOS RecordingPlayerView *p_RecordingPlayerView{nullptr}; RecordDeleteView *p_RecordDeleteView{nullptr}; RecordingVolumeSettingView *p_RecordingVolumeSettingView{nullptr}; + RecordingNumLimitView *p_RecordingNumLimitView{nullptr}; private: bool RecordingScrollViewInit(void); diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordDeleteView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordDeleteView.cpp index 8f6ae5494..7e184ee4e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordDeleteView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordDeleteView.cpp @@ -1,7 +1,9 @@ #include "record/include/RecordDeleteView.h" #include "record/include/RecordingPresenter.h" +#include "record/include/RecordingModel.h" #include "wearable_log.h" #include "ui_resource_string.h" +#include "ConfigModel.h" namespace OHOS { static RecordDeleteView *g_pRecordDeleteView{nullptr}; @@ -225,7 +227,8 @@ namespace OHOS WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordDeleteViewInit::SetRecordDeleteName"); if (DeleteNameLabel) { - DeleteNameLabel->SetText(name); + mergefileName = RecordingModel::GetInstance()->GetCurrentPlayRecordingName(name); + DeleteNameLabel->SetText(mergefileName.c_str()); DeleteNameLabel->Invalidate(); } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp index 3cde41b99..ef4c677d9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-02-27 09:16:50 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-27 14:38:37 + * @LastEditTime: 2024-09-02 09:57:10 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordListView.cpp */ @@ -285,7 +285,7 @@ namespace OHOS recordList->SetDragACCLevel(5); recordList->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/ recordList->SetReboundSize(30); - recordList->SetScrollBlankSize(30); + // recordList->SetScrollBlankSize(30); recordList->SetIntercept(true); // 设置是否拦截输入事件。如果被截获,视图在本地处理后不会将输入事件传递给父视图。 recordList->SetAdapter(p_RecordingListAdapter); RecordListScrollView->Add(recordList); diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListAdapter.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListAdapter.cpp index 29f7df8ef..e8cebf9d0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListAdapter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListAdapter.cpp @@ -1,3 +1,10 @@ +/* + * @Author: luozheng 1732036298@qq.com + * @Date: 2024-08-05 15:20:03 + * @LastEditors: luozheng 1732036298@qq.com + * @LastEditTime: 2024-08-31 09:26:00 + * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListAdapter.cpp + */ #include "record/include/RecordingListAdapter.h" #include "record/include/RecordingListitemView.h" namespace OHOS @@ -68,13 +75,14 @@ namespace OHOS if (inView == nullptr) { item = new RecordingListitemView(); - } + } else { item = static_cast(inView); } item->SetItemInfo(itemData); item->SetOnClickListener(itemClickListener); + item->SetViewIndex(index); return item; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp index 052e92461..cc773ded1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-02 20:10:18 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-24 17:40:14 + * @LastEditTime: 2024-08-31 20:19:43 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingListitemView.cpp */ #include "record/include/RecordingListitemView.h" @@ -38,7 +38,7 @@ namespace OHOS { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingListitemView::SetItemInfo"); m_ItemInfo = itemInfo; - m_recordId.SetText(itemInfo.recordId); + m_recordId.SetText(itemInfo.recordId.c_str()); m_recordTotalTime.SetText(itemInfo.recordTotalTime); m_recordTime.SetText(itemInfo.recordTime); } @@ -70,7 +70,8 @@ namespace OHOS int RecordingListitemView::GetRecordingListIndex() { - return m_ItemInfo.index; + // return m_ItemInfo.index; + return GetViewIndex(); } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp index 9897afa39..54beb2ecd 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingModel.cpp @@ -12,6 +12,7 @@ #include #include #include +#include "ConfigModel.h" namespace OHOS { std::string RecordingModel::recordTempDuration = 0; @@ -504,7 +505,7 @@ namespace OHOS * @param -mp3FileCount 录音文件数量 * @return void */ - void RecordingModel::SearchFiles(const std::string &directory, std::vector &fileNames, int &mp3FileCount) + void RecordingModel::SearchFiles(const std::string &directory, std::vector &Recordings, int &mp3FileCount) { DIR *dir; struct dirent *ent; @@ -521,14 +522,17 @@ namespace OHOS std::string cleanFileName = GetCleanFileName(filePath); if (!cleanFileName.empty()) { + RecordDataReadToFile(cleanFileName.c_str()); + strcpy(info[mp3FileCount].recordingFileName, recordingInfo.recordingFileName); + strcpy(info[mp3FileCount].recordingDuration, recordingInfo.recordingDuration); + strcpy(info[mp3FileCount].recordingTime, recordingInfo.recordingTime); mp3FileCount++; - fileNames.push_back(cleanFileName); } } else if (ent->d_type == DT_DIR) // 目录 { std::string subDirectory = directory + fileName + "/"; - SearchFiles(subDirectory, fileNames, mp3FileCount); // 递归搜索子目录 + SearchFiles(subDirectory, Recordings, mp3FileCount); // 递归搜索子目录 } } } @@ -542,35 +546,38 @@ namespace OHOS void RecordingModel::InitRecordingListItem(void) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingModel::InitRecordingListItem"); - RecordingMp3FileCount = 0; + if (!Recordings.empty()) + { + Recordings.clear(); + } if (!fileNames.empty()) { fileNames.clear(); } - if (!Recordings.empty()) + for (int i = 0; i < RecordingMp3FileCount; ++i) { - Recordings.clear(); + memset(info[i].recordingFileName, 0, sizeof(info[i].recordingFileName)); + memset(info[i].recordingDuration, 0, sizeof(info[i].recordingDuration)); + memset(info[i].recordingTime, 0, sizeof(info[i].recordingTime)); } - SearchFiles(directory, fileNames, RecordingMp3FileCount); - RecordDataReadToFile(); + RecordingMp3FileCount = 0; + SearchFiles(directory, Recordings, RecordingMp3FileCount); if (RecordingMp3FileCount != 0) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Total .mp3 Files Count:%d", RecordingMp3FileCount); - for (const auto &filename : fileNames) + MaxRecordingNumber = atoi(info[0].recordingFileName); + for (int i = 1; i < RecordingMp3FileCount; i++) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "File Name::%s", filename.c_str()); + if (atoi(info[i].recordingFileName) > MaxRecordingNumber) + { + MaxRecordingNumber = atoi(info[i].recordingFileName); + } } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MaxRecordingNumber:%d", MaxRecordingNumber); // 对 Recordings 数组进行操作 for (int i = 0; i < RecordingMp3FileCount; i++) { - for (int j = 0; j < RecordingMp3FileCount; j++) - { - if (fileNames[i] == recordingInfo[j].recordingFileName) - { - Recordings.push_back({i, recordingInfo[j].recordingFileName, recordingInfo[j].recordingDuration, recordingInfo[j].recordingTime}); - break; - } - } + Recordings.push_back({i, GetCurrentPlayRecordingName(info[i].recordingFileName), info[i].recordingDuration, info[i].recordingTime}); } } WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingModel::InitRecordingListItem over!!"); @@ -591,7 +598,41 @@ namespace OHOS */ std::string RecordingModel::GetCurrentPlayRecordingName(void) { - return fileNames[GetClickRecordingIndex()]; + return info[GetClickRecordingIndex()].recordingFileName; + } + + std::string RecordingModel::GetCurrentPlayRecordingName(std::string name) + { + int language = ConfigModel::GetInstance()->GetLanguage(); + if (language == 0) // 如果当前系统为中文 + { + mergefileName = "录音 "; + mergefileName += name; + } + else + { + mergefileName = "Audio "; + mergefileName += name; + } + return mergefileName; + } + + /* + * @brief 获取年月日时间和录音时长 + */ + std::string &RecordingModel::Getyyyymmhhh_dateAndTotalRecordDuration(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[RecordingModel] Getyyyymmhhh_dateAndTotalRecordDuration"); + std::string yyyymmhhh_date = Recordings[GetClickRecordingIndex()].recordTime; + std::string TotalRecordDuration = Recordings[GetClickRecordingIndex()].recordTotalTime; + // 去掉日期字符串末尾的换行符 + if (!yyyymmhhh_date.empty() && yyyymmhhh_date.back() == '\n') + { + yyyymmhhh_date.erase(yyyymmhhh_date.length() - 1); + } + RecordingTimeAndDuration = (yyyymmhhh_date + "-" + TotalRecordDuration); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordTime = %s recordTotalTime = %s", yyyymmhhh_date.c_str(), TotalRecordDuration.c_str()); + return RecordingTimeAndDuration; } /* @@ -607,6 +648,11 @@ namespace OHOS void RecordingModel::SetRecordingListNum(int value) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingModel::GetRecordingListNum %d", value); + if (value > MAX_RECORDING_NUM) + { + RecordingMp3FileCount = MAX_RECORDING_NUM; + return; + } RecordingMp3FileCount = value; } @@ -671,41 +717,18 @@ namespace OHOS return yyyymmhhh_date; } - // 设置每首录音的信息:包含录音文件名,录音时长,录音时间 - void RecordingModel::SetRecordingInfo(RecordingInfo &info, int index) + void RecordingModel::UpdateRecordingInfo() { - recordingInfo[index] = info; - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordingFileName = %s", recordingInfo[index].recordingFileName); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordingDuration = %s", recordingInfo[index].recordingDuration); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordingTime = %s", recordingInfo[index].recordingTime); - } - - void RecordingModel::UpdateRecordingInfo(int index) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdateRecordingInfo %s", recordingInfo[index].recordingFileName); if (index < 0 || index > RecordingMp3FileCount) { return; } - char *file_name = recordingInfo[index].recordingFileName; - std::string delete_filename = (directory + file_name).append(".mp3"); + std::string delete_filename_mp3 = (directory + GetCurrentPlayRecordingName()).append(".mp3"); + std::string delete_filename_txt = (directory + GetCurrentPlayRecordingName()).append(".txt"); /* -------------------------------- 删除录音文件 -------------------------------- */ - uapi_delete_files(delete_filename.c_str()); + uapi_delete_files(delete_filename_mp3.c_str()); + uapi_delete_files(delete_filename_txt.c_str()); /* -------------------------------------------------------------------------- */ - int i = 0; - for (i = index; i < (RecordingMp3FileCount - 1); i++) - { - strcpy(recordingInfo[i].recordingFileName, recordingInfo[i + 1].recordingFileName); - strcpy(recordingInfo[i].recordingDuration, recordingInfo[i + 1].recordingDuration); - strcpy(recordingInfo[i].recordingTime, recordingInfo[i + 1].recordingTime); - - fileNames[i] = fileNames[i + 1]; - } - RecordingMp3FileCount--; - RecordingInfo info = {0}; - SetRecordingInfo(info, i); - fileNames[i].clear(); - RecordDataWriteToFile(); } // 设置当前的录音文件名,每次录音会更改 @@ -720,24 +743,6 @@ namespace OHOS return recordFileName; } - /* - * @brief 获取年月日时间和录音时长 - */ - std::string &RecordingModel::Getyyyymmhhh_dateAndTotalRecordDuration(void) - { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[RecordingModel] Getyyyymmhhh_dateAndTotalRecordDuration"); - std::string yyyymmhhh_date = Getyyyymmhhh_date(); - std::string TotalRecordDuration = recordingInfo[RecordingMp3FileCount - index - 1].recordingDuration; - // 去掉日期字符串末尾的换行符 - if (!yyyymmhhh_date.empty() && yyyymmhhh_date.back() == '\n') - { - yyyymmhhh_date.erase(yyyymmhhh_date.length() - 1); - } - RecordingTimeAndDuration = (yyyymmhhh_date + "-" + TotalRecordDuration); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordingTimeAndDuration %s", RecordingTimeAndDuration.c_str()); - return RecordingTimeAndDuration; - } - void RecordingModel::GetDuration(int64_t &duration) { duration = DurationTime; @@ -751,13 +756,14 @@ namespace OHOS } } - bool RecordingModel::GetRecordingPlayerViewCreate() + int RecordingModel::getMaxRecordingNumber(void) { - return RecordingPlayerViewIsCreate; + return MaxRecordingNumber; } - void RecordingModel::SetRecordingPlayerViewCreate(bool state) + + void RecordingModel::setMaxRecordingNumber(int number) { - RecordingPlayerViewIsCreate = state; + MaxRecordingNumber = number; } /*创建录音播放路径*/ @@ -786,49 +792,65 @@ namespace OHOS return directory.c_str(); } - int RecordingModel::RecordDataWriteToFile() + // 保存录音信息文件 + int RecordingModel::RecordDataWriteToFile(std::string name) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataWriteToFile,%d", __LINE__, RecordingMp3FileCount); - if (0 == RecordingMp3FileCount) + if (name.empty()) { return OHOS_FAILURE; } - - FILE *fp = fopen(recordInfoFile.c_str(), "wb+"); + name = directory + name.append(".txt"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataWriteToFile %s", __LINE__, name.c_str()); + FILE *fp = fopen(name.c_str(), "wb+"); if (nullptr == fp) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataWriteToFile fail", __LINE__); return OHOS_FAILURE; } - size_t ret = fwrite(recordingInfo, sizeof(RecordingInfo), RecordingMp3FileCount, fp); - if (RecordingMp3FileCount != ret) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataWriteToFile fail", __LINE__); - } + std::string recordingFileName = GetRecordFileName(); // 录音文件名 + std::string yyymmhhh_date = Getyyyymmhhh_date(); // 保存录音年月日时间 + std::string TotalRecordDuration = RecordingModel::recordTempDuration; // 录音的总时长 + recordingInfo = {0}; + strncpy_s(recordingInfo.recordingFileName, 32, recordingFileName.c_str(), recordingFileName.length()); + strncpy_s(recordingInfo.recordingDuration, 16, TotalRecordDuration.c_str(), TotalRecordDuration.length()); + strncpy_s(recordingInfo.recordingTime, 16, yyymmhhh_date.c_str(), yyymmhhh_date.length()); + + size_t ret = fwrite((void *)&recordingInfo, sizeof(RecordingInfo), 1, fp); fclose(fp); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataWriteToFile success", __LINE__); return OHOS_SUCCESS; } - int RecordingModel::RecordDataReadToFile() + // 读取录音信息文件 + int RecordingModel::RecordDataReadToFile(std::string name) { - if (0 == RecordingMp3FileCount) + if (name.empty()) { return OHOS_FAILURE; } - FILE *fp = fopen(recordInfoFile.c_str(), "rb"); + name = directory + name.append(".txt"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataReadToFile %s", __LINE__, name.c_str()); + FILE *fp = fopen(name.c_str(), "rb"); if (fp == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataReadToFile", __LINE__); return OHOS_FAILURE; } - fread(recordingInfo, sizeof(RecordingInfo), RecordingMp3FileCount, fp); + fread((void *)&recordingInfo, sizeof(RecordingInfo), 1, fp); + printfRecordData(); fclose(fp); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:RecordDataReadToFile success", __LINE__); return OHOS_SUCCESS; } + + void RecordingModel::printfRecordData() + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordingFileName %s", recordingInfo.recordingFileName); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordingDuration %s", recordingInfo.recordingDuration); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "recordingTime %s", recordingInfo.recordingTime); + } /* ----------------------------------- 定时器 ---------------------------------- */ // 声明定时器变量 osTimerId_t g_timer = NULL; diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingNumLimitView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingNumLimitView.cpp new file mode 100644 index 000000000..1cf98c5a0 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingNumLimitView.cpp @@ -0,0 +1,192 @@ +#include "record/include/RecordingNumLimitView.h" +#include "wearable_log.h" +#include "record/include/RecordingPresenter.h" +namespace OHOS +{ + + RecordingNumLimitView::RecordingNumLimitView() + { + } + + RecordingNumLimitView::~RecordingNumLimitView() + { + ClearAll(); + } + + void RecordingNumLimitView::ClearAll(void) + { + if (scrollView != nullptr) + { + scrollView->RemoveAll(); + if (title) + { + delete title; + title = nullptr; + } + if (image) + { + delete image; + image = nullptr; + } + if (note) + { + delete note; + note = nullptr; + } + if (goitlabel) + { + delete goitlabel; + goitlabel = nullptr; + } + if (goitbutton) + { + delete goitbutton; + goitbutton = nullptr; + } + delete scrollView; + scrollView = nullptr; + } + } + + UILabelExt *RecordingNumLimitView::CreateRecordingNumLimitLabel(LabelConfig &labelconfig) + { + UILabelExt *label = new UILabelExt(); + if (label == nullptr) + { + return nullptr; + } + label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height); // 位置大小 + label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize); // 字体大小 + label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh); // 字体行高 + label->SetTextId(labelconfig.textId); + label->SetLineBreakMode(labelconfig.lineBreakMode); // 断行模式。 + label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize); + return label; + } + + UIScrollView *RecordingNumLimitView::RecordingNumLimitViewInit(void) + { + if (scrollView == nullptr) + { + scrollView = new UIScrollView(); + if (scrollView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail!"); + return nullptr; + } + scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); + UIView::OnDragListener *draglistener = static_cast(RecordingPresenter::GetInstance()); + if (draglistener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "draglistener can not be nullptr!"); + return nullptr; + } + scrollView->SetViewId(RECORDINGNUMLIMITVIEW); + scrollView->SetOnDragListener(draglistener); + scrollView->SetTouchable(true); + scrollView->SetDraggable(true); + /* -------------------------------------------------------------------------- */ + LabelConfig labelconfig = { + .left = 83, + .top = 50, + .width = 300, + .height = 35, + .fontSize = 30, + .lineHeigh = 35, + .textId = STR_RECORDER, + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, + }; + if (title == nullptr) + { + title = CreateRecordingNumLimitLabel(labelconfig); + if (title == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "title can not be nullptr!"); + return nullptr; + } + scrollView->Add(title); + } + /* -------------------------------------------------------------------------- */ + if (image == nullptr) + { + image = new UIImageView(); + if (image == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "image can not be nullptr!"); + return nullptr; + } + image->SetPosition(193, 120, 80, 80); + image->SetSrc(PNG_ATTENTION_IMAGE); + scrollView->Add(image); + } + /* -------------------------------------------------------------------------- */ + labelconfig = { + .left = 53, + .top = 222, + .width = 360, + .height = 70, + .fontSize = 30, + .lineHeigh = 35, + .textId = STR_VOICE_RECORDING_REMINDER_NOTE, // 录音数量不得超过30首,请删除已有录音 + .lineBreakMode = UILabel::LINE_BREAK_WRAP, + }; + if (note == nullptr) + { + note = CreateRecordingNumLimitLabel(labelconfig); + if (note == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "note can not be nullptr!"); + return nullptr; + } + scrollView->Add(note); + } + /* -------------------------------------------------------------------------- */ + if (goitbutton == nullptr) + { + goitbutton = new UIButton(); + if (goitbutton == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "goitbutton can not be nullptr!"); + return nullptr; + } + goitbutton->SetPosition(93, note->GetY() + note->GetTextHeight() + 48, 280, 90); + goitbutton->SetViewId(RECORDINGNUMLIMITBUTTONVIEW); + goitbutton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + goitbutton->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + goitbutton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff383838, UIButton::PRESSED); + UIView::OnClickListener *clicilistener = static_cast(RecordingPresenter::GetInstance()); + if (clicilistener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "clicilistener can not be nullptr!"); + return nullptr; + } + goitbutton->SetOnClickListener(clicilistener); + scrollView->Add(goitbutton); + } + /* -------------------------------------------------------------------------- */ + int16_t y = goitbutton->GetY() + 28; + labelconfig = { + .left = 133, + .top = y, + .width = 200, + .height = 35, + .fontSize = 30, + .lineHeigh = 35, + .textId = STR_KONW, // 知道了 + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, + }; + if (goitlabel == nullptr) + { + goitlabel = CreateRecordingNumLimitLabel(labelconfig); + if (goitlabel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "goitlabel can not be nullptr!"); + return nullptr; + } + scrollView->Add(goitlabel); + } + } + return scrollView; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp index bdf785b01..dce388fab 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPlayerView.cpp @@ -386,6 +386,13 @@ namespace OHOS { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[RecordingPlayerView] ResetComponentStatus"); + RecordingModel *p_RecordingModel = RecordingModel::GetInstance(); + if (p_RecordingModel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingModel::GetInstance fail!!"); + return; + } + if (PlayerProgressBar != nullptr) { PlayerProgressBar->SetValue(0); // 0:进度0% @@ -393,7 +400,8 @@ namespace OHOS } if (RecordingFileName != nullptr) { - RecordingFileName->SetText(RecordingModel::GetInstance()->GetCurrentPlayRecordingName().c_str()); + std::string name = p_RecordingModel->GetCurrentPlayRecordingName(); + RecordingFileName->SetText(p_RecordingModel->GetCurrentPlayRecordingName(name).c_str()); RecordingFileName->Invalidate(); } if (RecordingTimeAndDuration != nullptr) diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp index 09b010ebc..86e63f7e6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 09:14:38 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-28 15:41:29 + * @LastEditTime: 2024-09-02 09:47:40 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingPresenter.cpp */ @@ -69,7 +69,6 @@ namespace OHOS Presenter::OnStop(); p_RecordingModel->ClearRecordingPlayer(); StopRecord(); - RecordingModel::GetInstance()->SetRecordingPlayerViewCreate(false); // ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); } @@ -118,6 +117,9 @@ namespace OHOS case RECORDINGVOLUMESETTINGVIEW: p_RecordingView->ChangeView(RECORDINGVOLUMESETTINGVIEW, RECORDINGPLAYERVIEW); // 声音设置视图(subView)->录音播放视图(subView) break; + case RECORDINGEXCELIMIT: + p_RecordingView->ChangeView(RECORDINGEXCELIMIT, RECORDINGVIEW); + break; default: break; } @@ -181,16 +183,17 @@ namespace OHOS } args[5] = (char *)malloc(100); // 分配内存 /* -------------------------------------------------------------------------- */ - int num = p_RecordingModel->GetRecordingListNum(); + int num = p_RecordingModel->getMaxRecordingNumber(); std::string recordfileNme; - if (num < 9) - { - recordfileNme = "record_0" + std::to_string(num + 1); - } - else - { - recordfileNme = "record_" + std::to_string(num + 1); - } + // if (num < 9) + // { + // recordfileNme = "record_0" + std::to_string(num + 1); + // } + // else + // { + // recordfileNme = "record_" + std::to_string(num + 1); + // } + recordfileNme = std::to_string(num + 1); p_RecordingModel->SetRecordFileName(recordfileNme); sprintf(args[5], "%s%s.mp3", RecordingModel::GetInstance()->GetRecordDirectory(), recordfileNme.c_str()); /* ---------------------------------- 开始录音 ---------------------------------- */ @@ -215,18 +218,18 @@ namespace OHOS AudioCaptureSample(argc, (const char **)&argv); /* ---------------------------------- 停止定时器 --------------------------------- */ p_RecordingModel->Recording_StopTimer(); + /* --------------------------------- 录音数量加1 --------------------------------- */ + p_RecordingModel->SetRecordingListNum(p_RecordingModel->GetRecordingListNum() + 1); /* --------------------------------- 设置录音信息 --------------------------------- */ - int index = p_RecordingModel->GetRecordingListNum(); // 保存录音的下标 - std::string recordingFileName = p_RecordingModel->GetRecordFileName(); // 录音文件名 - std::string yyymmhhh_date = RecordingModel::GetInstance()->Getyyyymmhhh_date(); // 保存录音年月日时间 - std::string TotalRecordDuration = RecordingModel::recordTempDuration; // 录音的总时长 - RecordingInfo info = {0}; - strncpy_s(info.recordingFileName, 32, recordingFileName.c_str(), recordingFileName.length()); - strncpy_s(info.recordingDuration, 16, TotalRecordDuration.c_str(), TotalRecordDuration.length()); - strncpy_s(info.recordingTime, 16, yyymmhhh_date.c_str(), yyymmhhh_date.length()); - p_RecordingModel->SetRecordingInfo(info, index); - p_RecordingModel->SetRecordingListNum(index + 1); - p_RecordingModel->RecordDataWriteToFile(); + // int num = p_RecordingModel->GetRecordingListNum(); // 保存录音的下标 + std::string recordingFileName = p_RecordingModel->GetRecordFileName(); // 录音文件名 + // std::string yyymmhhh_date = RecordingModel::GetInstance()->Getyyyymmhhh_date(); // 保存录音年月日时间 + // std::string TotalRecordDuration = RecordingModel::recordTempDuration; // 录音的总时长 + // RecordingInfo info = {0}; + // strncpy_s(info.recordingFileName, 32, recordingFileName.c_str(), recordingFileName.length()); + // strncpy_s(info.recordingDuration, 16, TotalRecordDuration.c_str(), TotalRecordDuration.length()); + // strncpy_s(info.recordingTime, 16, yyymmhhh_date.c_str(), yyymmhhh_date.length()); + p_RecordingModel->RecordDataWriteToFile(recordingFileName.c_str()); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView StopRecord over!!"); } @@ -242,6 +245,11 @@ namespace OHOS if (strcmp(view.GetViewId(), RECORD_BUTTON) == 0) { + if (p_RecordingModel->GetRecordingListNum() >= MAX_RECORDING_NUM) + { + view_->ChangeView(RECORDINGVIEW, RECORDINGEXCELIMIT); + return true; + } StartRecord(); return true; } @@ -254,12 +262,13 @@ namespace OHOS else if (strcmp(view.GetViewId(), RECORD_DELETE_ON_BUTTON_VIEWID) == 0) // 若点击的是录音删除按钮 { int index = p_RecordingModel->GetClickRecordingIndex(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "index = %d", index); // std::string delete_path = RecordingModel::GetInstance()->GetRecordDirectory(); // std::string delete_filename = p_RecordingModel->GetFileNames()[index] + ".mp3"; // std::string fileName = delete_path + delete_filename; // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "index = %d ", index); // uapi_delete_files(fileName.c_str());//删除录音文件 - p_RecordingModel->UpdateRecordingInfo(p_RecordingModel->GetRecordingListNum() - index - 1); + p_RecordingModel->UpdateRecordingInfo(); p_RecordingView->ChangeView(RECORDINGDELETEVIEW, RECORDINGVIEW); return true; @@ -269,6 +278,11 @@ namespace OHOS p_RecordingView->ChangeView(RECORDINGDELETEVIEW, RECORDINGPLAYERVIEW); return true; } + else if (strcmp(view.GetViewId(), RECORDINGNUMLIMITBUTTONVIEW) == 0) + { + p_RecordingView->ChangeView(RECORDINGEXCELIMIT, RECORDINGVIEW); + return true; + } return true; } @@ -351,7 +365,7 @@ namespace OHOS WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewListener::OnClick index:%d", index); if (index >= RecordingModel::GetInstance()->GetRecordingListNum()) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RecordListViewListener::OnClick is no index"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordListViewListener::OnClick is no index"); return false; } /* -------------------------------- 保存被点击录音下标 ------------------------------- */ diff --git a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingView.cpp b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingView.cpp index 4e5eefd36..3180e9cc9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/record/src/RecordingView.cpp @@ -79,6 +79,11 @@ namespace OHOS delete p_RecordingVolumeSettingView; p_RecordingVolumeSettingView = nullptr; } + if (p_RecordingNumLimitView != nullptr) + { + delete p_RecordingNumLimitView; + p_RecordingNumLimitView = nullptr; + } for (int i = RECORDINGVIEW; i < MAX_RECORDINGVIEWID; i++) { RecordingViewScrollView[i] = nullptr; @@ -194,7 +199,6 @@ namespace OHOS return false; } RecordingViewScrollView[thisView] = p_RecordingPlayerView->RecordingPlayerViewInit(); - RecordingModel::GetInstance()->SetRecordingPlayerViewCreate(true); container_->Add(RecordingViewScrollView[thisView]); } // 设置“录音播放器”【录音文件名标签】的"文本内容"为被点击的"录音"的录音名 @@ -244,6 +248,24 @@ namespace OHOS return true; } + // 切换到“录音超出限制”视图 + bool RecordingView::ChangeRecordNumLimitView(int16_t thisView) + { + if (RecordingViewScrollView[thisView] == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView::ChangeRecordNumLimitView"); + p_RecordingNumLimitView = new RecordingNumLimitView(); + if (p_RecordingNumLimitView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RecordingView:: new scrollView[%d] fail", thisView); + return false; + } + RecordingViewScrollView[thisView] = p_RecordingNumLimitView->RecordingNumLimitViewInit(); + container_->Add(RecordingViewScrollView[thisView]); + } + return true; + } + // 1.RecordingViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。 struct RecordingViewMapper { @@ -259,6 +281,7 @@ namespace OHOS {RECORDINGPLAYERVIEW, &RecordingView::ChangeRecordingPlayerView}, {RECORDINGDELETEVIEW, &RecordingView::ChangeRecordDeleteView}, {RECORDINGVOLUMESETTINGVIEW, &RecordingView::ChangeRecordVolumeSettingView}, + {RECORDINGEXCELIMIT, &RecordingView::ChangeRecordNumLimitView}, }; // 3.根据传入的interface参数执行相应视图ID关联的成员函数。 diff --git a/code/sdk/application/wearable/service/msg_center/include/notify/pairing_notification.h b/code/sdk/application/wearable/service/msg_center/include/notify/pairing_notification.h index eb1ca8086..a6cadffc2 100644 --- a/code/sdk/application/wearable/service/msg_center/include/notify/pairing_notification.h +++ b/code/sdk/application/wearable/service/msg_center/include/notify/pairing_notification.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-22 09:48:07 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-04-12 10:20:11 + * @LastEditTime: 2024-09-02 17:22:48 * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/include/notify/pairing_notification.h */ #ifndef PAIRING_NOTIFICATION_H @@ -26,6 +26,7 @@ namespace OHOS bool OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event) override; void SetDeviceName(char *Name); char *GetDeviceName(); + void DeviceUnBindingViewIsVisible(bool state); #if NO_LCD_TEST_CONNECT void Pairing_StartTimer(uint32_t interval = 1000*5); #else diff --git a/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp b/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp index ff9564d58..054bc06a3 100644 --- a/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-22 10:04:36 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-08-31 16:49:39 + * @LastEditTime: 2024-09-02 17:27:00 * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp */ #include "notification_manager.h" @@ -25,38 +25,54 @@ #include #include #include "uicomponents/UIComponents.h" +#include "ConfigModel.h" +#include +#include "../../../../../../drivers/peripheral/vibrator/service/vibrator_service.h" +#include namespace OHOS { UIViewGroup *DeviceBindingView{nullptr}; + UIScrollView *DeviceBindingScrollView{nullptr}; UILabelExt *DeviceBindingViewTitleLabel{nullptr}; // 标题 :设备绑定 UILabelExt *DeviceBindingName{nullptr}; // 绑定的设备名称 - UILabelExt *DeviceBindingViewLabel{nullptr}; // 标签内容:“想要进行连接是否同意” UIButton *DeviceBindingButtonOK{nullptr}; // 设备绑定确认 UIButton *DeviceBindingButtonCancel{nullptr}; // 设备绑定取消 + UIImageAnimatorView *DeviceBindingAnimatorView{nullptr}; // 设备绑定动画 + static constexpr int BIND_IMAGE_ANIMATOR_VIEW_X = 183; + static constexpr int BIND_IMAGE_ANIMATOR_VIEW_Y = 125; + static constexpr int BIND_IMAGE_ANIMATOR_VIEW_W = 100; + static constexpr int BIND_IMAGE_ANIMATOR_VIEW_H = 66; + static constexpr int BIND_IMAGE_ANIMATOR_VIEW_TIMEOFUPDATE = 70; + static constexpr int BIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 25; // 绑定动画帧数 + const ImageInfo **BindPathsArray{nullptr}; + ImageAnimatorInfo BindImageInfo[BIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES]; + static constexpr const char *BIND_IMAGE_SRC = "/user/res/remind/bind/"; + UIViewGroup *DeviceUnBindingView{nullptr}; + UIScrollView *DeviceUnBindingScrollView{nullptr}; UILabelExt *DeviceUnBindingViewTitleLabel{nullptr}; // 标题 :设备解绑 UILabelExt *DeviceUnBindingName{nullptr}; // 解绑的设备名称 - UILabelExt *DeviceUnBindingViewLabel{nullptr}; // 标签内容:“想要进行解绑是否同意” UIButton *DeviceUnBindingButtonOK{nullptr}; // 设备解绑定确认 UIButton *DeviceUnBindingButtonCancel{nullptr}; // 设备解绑取消 UIImageAnimatorView *DeviceUnBindingAnimatorView{nullptr}; // 设备解绑动画 static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_X = 193; - static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_Y = 110; + static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_Y = 118; static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_W = 80; static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_H = 80; static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_TIMEOFUPDATE = 100; static constexpr int UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES = 25; // 解绑动画帧数 const ImageInfo **UnBindPathsArray{nullptr}; ImageAnimatorInfo UnBindImageInfo[UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES]; + static constexpr const char *UNBIND_IMAGE_SRC = "/user/res/remind/unbind/"; UIViewGroup *DeviceUnbindingRequestGroupView{nullptr}; UIScrollView *DeviceUnbindingRequestScrollView{nullptr}; // 设备解除绑定请求(与新设备连接)视图 UILabelExt *DeviceUnbindingRequestViewTitleLabel{nullptr}; // 标题 :注意 UIImageView *DeviceUnbindingRequestViewImageView{nullptr}; // - UILabelExt *DeviceUnbindingRequestViewLabel[2]{nullptr}; // + UILabelExt *DeviceUnbindingRequestViewLabel[3]{nullptr}; // UIButton *DeviceUnbindingRequestButtonOK{nullptr}; // 设备解除绑定请求(与新设备连接)确认 UIButton *DeviceUnbindingRequestButtonCancel{nullptr}; // 设备解除绑定请求(与新设备连接)取消 @@ -119,29 +135,26 @@ namespace OHOS else if (&view == DeviceUnBindingButtonOK) // 设备解绑确认按钮 { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PairingViewEventListener:: DeviceUnBindingButtonOK OnClick"); -/* - * 可能会执行的解绑流程: - * 1.通知设备或服务器执行解绑操作. - * 2.从绑定设备列表移除设备. - * 3.更新UI状态. - */ - -// 关闭通知界面 -#ifdef SUPPORT_BLE_SERVICE - cleanUnbindInfor(1); -#endif - NotificationManager::GetInstance()->StopNotify(); + // 切换到再次确认解绑弹窗 + if (DeviceUnbindingRequestGroupView == nullptr) + { + RootView::GetInstance()->Add(CreateDeviceUnbindingRequestGroupView()); + } + DeviceUnBindingViewIsVisible(false); } else if (&view == DeviceUnbindingRequestButtonOK) // 设备解除绑定请求(与新设备连接)确认 { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PairingViewEventListener:: DeviceUnbindingRequestButtonOK OnClick"); - + // 关闭通知界面 +#ifdef SUPPORT_BLE_SERVICE + cleanUnbindInfor(1); +#endif NotificationManager::GetInstance()->StopNotify(); } else if (&view == DeviceUnbindingRequestButtonCancel) // 设备解除绑定请求(与新设备连接)取消 { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "PairingViewEventListener:: DeviceUnbindingRequestButtonCancel OnClick"); - NotificationManager::GetInstance()->StopNotify(); + DeviceUnBindingViewIsVisible(true); } return true; } @@ -155,8 +168,9 @@ namespace OHOS } button->SetPosition(x, y, w, h); button->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); - button->SetStyle(STYLE_BACKGROUND_OPA, 0x2d); - button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff4fc34c, UIButton::PRESSED); + button->SetStyle(STYLE_BACKGROUND_OPA, 0x19); + button->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xffffffff, UIButton::PRESSED); + button->SetStyleForState(STYLE_BACKGROUND_OPA, 0x00, UIButton::PRESSED); button->SetImageSrc(imageSrc, imageSrc); return button; } @@ -178,10 +192,19 @@ namespace OHOS memcpy(DeviceName, Name, len); } + void PairingViewEventListener::DeviceUnBindingViewIsVisible(bool state) + { + if (DeviceUnBindingView && DeviceUnbindingRequestGroupView) + { + DeviceUnBindingView->SetVisible(state); + DeviceUnbindingRequestGroupView->SetVisible(!state); + } + } + /*获取设备名称*/ char *PairingViewEventListener::GetDeviceName(void) { - return DeviceName; // 先用固定字符串测试 + return DeviceName; } /* @@ -202,71 +225,115 @@ namespace OHOS DeviceBindingView->SetPosition(0, 0, 466, 466); DeviceBindingView->SetDraggable(true); DeviceBindingView->SetTouchable(true); + /* ------------------------- DeviceBindingScrollView ------------------------ */ + if (DeviceBindingScrollView == nullptr) + { + DeviceBindingScrollView = new UIScrollView(); + if (DeviceBindingScrollView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DeviceBindingScrollView new fail"); + return nullptr; + } + } + DeviceBindingScrollView->SetPosition(0, 0, 466, 466); + DeviceBindingScrollView->SetThrowDrag(true); + DeviceBindingScrollView->SetDraggable(true); + DeviceBindingScrollView->SetTouchable(true); + DeviceBindingScrollView->SetReboundSize(30); + DeviceBindingScrollView->SetScrollBlankSize(30); + DeviceBindingScrollView->SetSwipeACCLevel(800); // 800: compensation distance + DeviceBindingScrollView->SetDragACCLevel(5); // 5: drag acceleration + DeviceBindingScrollView->SetMaxScrollDistance(1000); + DeviceBindingScrollView->SetDirection(UIScrollView::VERTICAL); /* ----------------------- DeviceBindingViewTitleLabel ---------------------- */ - DeviceBindingViewTitleLabel = new UILabelExt(); if (DeviceBindingViewTitleLabel == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingViewTitleLabel new fail!!"); - return nullptr; + DeviceBindingViewTitleLabel = new UILabelExt(); + if (DeviceBindingViewTitleLabel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingViewTitleLabel new fail!!"); + return nullptr; + } } - DeviceBindingViewTitleLabel->SetPosition(173, 52, 120, 35); + DeviceBindingViewTitleLabel->SetPosition(83, 50, 300, 35); DeviceBindingViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30); DeviceBindingViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35); - DeviceBindingViewTitleLabel->SetText("设备绑定"); - DeviceBindingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + // DeviceBindingViewTitleLabel->SetText("设备绑定"); + DeviceBindingViewTitleLabel->SetTextId(STR_DEVICE_BINDING); + DeviceBindingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); DeviceBindingViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); DeviceBindingViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + DeviceBindingViewTitleLabel->SetRollSpeed(70); + /* ----------------------- DeviceBindingAnimatorView ---------------------- */ + BindPathsArray = CreateImageInfoArray(BIND_IMAGE_SRC, BIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + if (DeviceBindingAnimatorView == nullptr) + { + DeviceBindingAnimatorView = new UIImageAnimatorView(); + if (DeviceBindingAnimatorView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView]DeviceBindingAnimatorView new fail"); + return nullptr; + } + for (uint8_t i = 0; i < BIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++) + { + BindImageInfo[i].imageInfo = (BindPathsArray[i]); + BindImageInfo[i].imageType = IMG_SRC_IMAGE_INFO; + BindImageInfo[i].pos.x = BIND_IMAGE_ANIMATOR_VIEW_X; + BindImageInfo[i].pos.y = BIND_IMAGE_ANIMATOR_VIEW_Y; + BindImageInfo[i].width = BIND_IMAGE_ANIMATOR_VIEW_W; + BindImageInfo[i].height = BIND_IMAGE_ANIMATOR_VIEW_H; + } + DeviceBindingAnimatorView->SetPosition(BIND_IMAGE_ANIMATOR_VIEW_X, BIND_IMAGE_ANIMATOR_VIEW_Y, BIND_IMAGE_ANIMATOR_VIEW_W, BIND_IMAGE_ANIMATOR_VIEW_H); + DeviceBindingAnimatorView->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff); + DeviceBindingAnimatorView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + DeviceBindingAnimatorView->SetImageAnimatorSrc(BindImageInfo, BIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES, BIND_IMAGE_ANIMATOR_VIEW_TIMEOFUPDATE); + DeviceBindingAnimatorView->SetRepeat(true); + DeviceBindingAnimatorView->SetAutoEnable(false); + DeviceBindingAnimatorView->SetResizeMode(UIImageAnimatorView::CENTER); + DeviceBindingAnimatorView->Start(); + } /* ---------------------------- DeviceBindingName --------------------------- */ - DeviceBindingName = new UILabelExt(); if (DeviceBindingName == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingName new fail!!"); - return nullptr; + DeviceBindingName = new UILabelExt(); + if (DeviceBindingName == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingName new fail!!"); + return nullptr; + } } char *devanme = PairingViewEventListener::GetInstance().GetDeviceName(); - DeviceBindingName->SetPosition(33, 180, 400, 40); + DeviceBindingName->SetPosition(53, 230, 360, 70); DeviceBindingName->SetStyle(STYLE_TEXT_FONT, 30); DeviceBindingName->SetStyle(STYLE_LINE_HEIGHT, 35); + DeviceBindingName->SetTextId(STR_DEVICE_BINDING_NOTE); // XX想要与你进行连接绑定 if (strlen(devanme)) { - DeviceBindingName->SetText(devanme); + // DeviceBindingName->SetText(devanme); + UpdateLabel(DeviceBindingName, devanme, STR_DEVICE_BINDING_NOTE); } else { - DeviceBindingName->SetText(" "); + // DeviceBindingName->SetText(" "); + UpdateLabel(DeviceBindingName, " ", STR_DEVICE_BINDING_NOTE); } - - DeviceBindingName->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); + DeviceBindingName->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); DeviceBindingName->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - DeviceBindingName->SetRollSpeed(60); DeviceBindingName->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - /* ------------------------- DeviceBindingViewLabel ------------------------- */ - DeviceBindingViewLabel = new UILabelExt(); - if (DeviceBindingViewLabel == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingViewLabel new fail!!"); - return nullptr; - } - DeviceBindingViewLabel->SetPosition(33, 240, 400, 40); - DeviceBindingViewLabel->SetStyle(STYLE_TEXT_FONT, 30); - DeviceBindingViewLabel->SetStyle(STYLE_LINE_HEIGHT, 35); - DeviceBindingViewLabel->SetText("想要进行连接是否同意"); - DeviceBindingViewLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); - DeviceBindingViewLabel->SetTextColor(Color::GetColorFromRGBA(0xAA, 0xAA, 0xAA, 0xff)); - DeviceBindingViewLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - DeviceBindingViewLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + DeviceBindingName->SetRollSpeed(70); /* ------------------------------ DeviceBindingButtonCancel ------------------------------ */ - DeviceBindingButtonCancel = CreateButton(111, 320, 100, 100, "/user/res/SYSTEM_CheckOff.bin"); + int y = DeviceBindingName->GetY() + DeviceBindingName->GetTextHeight() + 20; + DeviceBindingButtonCancel = CreateButton(111, y, 100, 100, "/user/res/SYSTEM_CheckOff.bin"); if (DeviceBindingButtonCancel == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingButtonCancel new fail!!"); return nullptr; } /* -------------------------------- DeviceBindingButtonOK -------------------------------- */ - DeviceBindingButtonOK = CreateButton(256, 320, 100, 100, "/user/res/SYSTEM_CheckOn.bin"); + DeviceBindingButtonOK = CreateButton(256, y, 100, 100, "/user/res/SYSTEM_CheckOn.bin"); if (DeviceBindingButtonOK == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] DeviceBindingButtonOK new fail!!"); @@ -274,19 +341,32 @@ namespace OHOS } UIView::OnClickListener *listener = static_cast(&PairingViewEventListener::GetInstance()); + if (listener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceBindingView] PairingViewEventListener::GetInstance fail!!"); + return nullptr; + } DeviceBindingButtonCancel->SetOnClickListener(listener); DeviceBindingButtonOK->SetOnClickListener(listener); /* ----------------------------------- Add ---------------------------------- */ - DeviceBindingView->Add(DeviceBindingViewTitleLabel); - DeviceBindingView->Add(DeviceBindingName); - DeviceBindingView->Add(DeviceBindingViewLabel); - DeviceBindingView->Add(DeviceBindingButtonCancel); - DeviceBindingView->Add(DeviceBindingButtonOK); + DeviceBindingScrollView->Add(DeviceBindingViewTitleLabel); + DeviceBindingScrollView->Add(DeviceBindingAnimatorView); + DeviceBindingScrollView->Add(DeviceBindingName); + DeviceBindingScrollView->Add(DeviceBindingButtonCancel); + DeviceBindingScrollView->Add(DeviceBindingButtonOK); + DeviceBindingView->Add(DeviceBindingScrollView); #if NO_LCD_TEST_CONNECT PairingViewEventListener::GetInstance().Pairing_StartTimer(); #endif } + if (true != OHOS::ConfigModel::GetInstance()->GetDnotdisturb() && (!uapi_sleep_mode_flag_get())) + { + ui_api_vibrate_once_func(); + } + + ScreenTurnOn(40 * 1000); // 亮屏操作 40秒关闭 + NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeDeviceBindingView); return DeviceBindingView; } @@ -309,8 +389,28 @@ namespace OHOS DeviceUnBindingView->SetPosition(0, 0, 466, 466); DeviceUnBindingView->SetDraggable(true); DeviceUnBindingView->SetTouchable(true); + /* ------------------------- DeviceUnBindingScrollView ------------------------ */ + if (DeviceUnBindingScrollView == nullptr) + { + DeviceUnBindingScrollView = new UIScrollView(); + if (DeviceUnBindingScrollView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DeviceUnBindingScrollView new fail"); + return nullptr; + } + } + DeviceUnBindingScrollView->SetPosition(0, 0, 466, 466); + DeviceUnBindingScrollView->SetThrowDrag(true); + DeviceUnBindingScrollView->SetDraggable(true); + DeviceUnBindingScrollView->SetTouchable(true); + DeviceUnBindingScrollView->SetReboundSize(30); + DeviceUnBindingScrollView->SetScrollBlankSize(30); + DeviceUnBindingScrollView->SetSwipeACCLevel(800); // 800: compensation distance + DeviceUnBindingScrollView->SetDragACCLevel(5); // 5: drag acceleration + DeviceUnBindingScrollView->SetMaxScrollDistance(1000); + DeviceUnBindingScrollView->SetDirection(UIScrollView::VERTICAL); /* ----------------------- DeviceUnBindingAnimatorView ---------------------- */ - UnBindPathsArray = CreateImageInfoArray("/user/res/remind/unbind/", UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + UnBindPathsArray = CreateImageInfoArray(UNBIND_IMAGE_SRC, UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); if (DeviceUnBindingAnimatorView == nullptr) { DeviceUnBindingAnimatorView = new UIImageAnimatorView(); @@ -336,70 +436,65 @@ namespace OHOS DeviceUnBindingAnimatorView->Start(); } /* ----------------------- DeviceUnBindingViewTitleLabel ---------------------- */ - DeviceUnBindingViewTitleLabel = new UILabelExt(); if (DeviceUnBindingViewTitleLabel == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingViewTitleLabel new fail!!"); - return nullptr; + DeviceUnBindingViewTitleLabel = new UILabelExt(); + if (DeviceUnBindingViewTitleLabel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingViewTitleLabel new fail!!"); + return nullptr; + } } - DeviceUnBindingViewTitleLabel->SetPosition(173, 52, 120, 35); + DeviceUnBindingViewTitleLabel->SetPosition(83, 50, 300, 35); DeviceUnBindingViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30); DeviceUnBindingViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35); - DeviceUnBindingViewTitleLabel->SetText("设备解绑"); - DeviceUnBindingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + // DeviceUnBindingViewTitleLabel->SetText("设备解绑"); + DeviceUnBindingViewTitleLabel->SetTextId(STR_EQUIPMENT_UNTYING); + DeviceUnBindingViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); DeviceUnBindingViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); DeviceUnBindingViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); /* ---------------------------- DeviceUnBindingName --------------------------- */ - DeviceUnBindingName = new UILabelExt(); if (DeviceUnBindingName == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingName new fail!!"); - return nullptr; + DeviceUnBindingName = new UILabelExt(); + if (DeviceUnBindingName == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingName new fail!!"); + return nullptr; + } } - DeviceUnBindingName->SetPosition(33, 200, 400, 40); + DeviceUnBindingName->SetPosition(53, 230, 360, 70); DeviceUnBindingName->SetStyle(STYLE_TEXT_FONT, 30); DeviceUnBindingName->SetStyle(STYLE_LINE_HEIGHT, 35); + DeviceUnBindingName->SetTextId(STR_EQUIPMENT_UNTYING_NOTE); // XX想要与你进行解绑 char *devanme = PairingViewEventListener::GetInstance().GetDeviceName(); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingName devanme :%s", devanme); if (strlen(devanme)) { - DeviceUnBindingName->SetText(devanme); + // DeviceUnBindingName->SetText(devanme); + UpdateLabel(DeviceUnBindingName, devanme, STR_EQUIPMENT_UNTYING_NOTE); } else { - DeviceUnBindingName->SetText(" "); + // DeviceUnBindingName->SetText(" "); + UpdateLabel(DeviceUnBindingName, " ", STR_EQUIPMENT_UNTYING_NOTE); } // DeviceUnBindingName->SetText("小米5\n"); - DeviceUnBindingName->SetLineBreakMode(UILabel::LINE_BREAK_MARQUEE); + DeviceUnBindingName->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); DeviceUnBindingName->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - DeviceUnBindingName->SetRollSpeed(60); DeviceUnBindingName->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - /* ------------------------- DeviceUnBindingViewLabel ------------------------- */ - DeviceUnBindingViewLabel = new UILabelExt(); - if (DeviceUnBindingViewLabel == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingViewLabel new fail!!"); - return nullptr; - } - DeviceUnBindingViewLabel->SetPosition(33, 250, 400, 40); - DeviceUnBindingViewLabel->SetStyle(STYLE_TEXT_FONT, 30); - DeviceUnBindingViewLabel->SetStyle(STYLE_LINE_HEIGHT, 35); - DeviceUnBindingViewLabel->SetText("想要进行解绑是否同意"); - DeviceUnBindingViewLabel->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); - DeviceUnBindingViewLabel->SetTextColor(Color::GetColorFromRGBA(0xAA, 0xAA, 0xAA, 0xff)); - DeviceUnBindingViewLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - DeviceUnBindingViewLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); /* ------------------------------ DeviceBindingButtonCancel ------------------------------ */ - DeviceUnBindingButtonCancel = CreateButton(111, 320, 100, 100, "/user/res/SYSTEM_CheckOff.bin"); + int y = DeviceUnBindingName->GetY() + DeviceUnBindingName->GetTextHeight() + 20; + DeviceUnBindingButtonCancel = CreateButton(111, y, 100, 100, "/user/res/SYSTEM_CheckOff.bin"); if (DeviceUnBindingButtonCancel == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingButtonCancel new fail!!"); return nullptr; } /* -------------------------------- DeviceUnBindingButtonOK -------------------------------- */ - DeviceUnBindingButtonOK = CreateButton(256, 320, 100, 100, "/user/res/SYSTEM_CheckOn.bin"); + DeviceUnBindingButtonOK = CreateButton(256, y, 100, 100, "/user/res/SYSTEM_CheckOn.bin"); if (DeviceUnBindingButtonOK == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingButtonOK new fail!!"); @@ -407,17 +502,32 @@ namespace OHOS } /* ------------------------- button OnClickListener ------------------------- */ UIView::OnClickListener *listener = static_cast(&PairingViewEventListener::GetInstance()); + if (nullptr == listener) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] PairingViewEventListener::GetInstance fail!!"); + return nullptr; + } DeviceUnBindingButtonCancel->SetOnClickListener(listener); DeviceUnBindingButtonOK->SetOnClickListener(listener); /* ----------------------------------- Add ---------------------------------- */ - DeviceUnBindingView->Add(DeviceUnBindingViewTitleLabel); - DeviceUnBindingView->Add(DeviceUnBindingAnimatorView); - DeviceUnBindingView->Add(DeviceUnBindingName); - DeviceUnBindingView->Add(DeviceUnBindingViewLabel); - DeviceUnBindingView->Add(DeviceUnBindingButtonCancel); - DeviceUnBindingView->Add(DeviceUnBindingButtonOK); + DeviceUnBindingScrollView->Add(DeviceUnBindingViewTitleLabel); + DeviceUnBindingScrollView->Add(DeviceUnBindingAnimatorView); + DeviceUnBindingScrollView->Add(DeviceUnBindingName); + DeviceUnBindingScrollView->Add(DeviceUnBindingButtonCancel); + DeviceUnBindingScrollView->Add(DeviceUnBindingButtonOK); + DeviceUnBindingView->Add(DeviceUnBindingScrollView); } WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] DeviceUnBindingView new success!!"); + + /* -------------------------------------------------------------------------- */ + if (true != OHOS::ConfigModel::GetInstance()->GetDnotdisturb() && (!uapi_sleep_mode_flag_get())) + { + ui_api_vibrate_once_func(); // 震动一次 + } + + ScreenTurnOn(40 * 1000); // 亮屏操作 40秒关闭 + /* -------------------------------------------------------------------------- */ + NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeDeviceUnBindingView); return DeviceUnBindingView; } @@ -440,6 +550,7 @@ namespace OHOS } DeviceUnbindingRequestGroupView->SetPosition(0, 0, 466, 466); DeviceUnbindingRequestGroupView->SetStyle(STYLE_BACKGROUND_OPA, 0); + DeviceUnbindingRequestGroupView->SetVisible(false); /* -------------------- DeviceUnbindingRequestScrollView -------------------- */ DeviceUnbindingRequestScrollView = new UIScrollView(); if (DeviceUnbindingRequestScrollView == nullptr) @@ -448,79 +559,124 @@ namespace OHOS return nullptr; } DeviceUnbindingRequestScrollView->SetPosition(0, 0, 466, 466); - DeviceUnbindingRequestScrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); - DeviceUnbindingRequestScrollView->SetScrollBlankSize(20); - DeviceUnbindingRequestScrollView->SetReboundSize(50); - DeviceUnbindingRequestScrollView->SetDirection(1); + DeviceUnbindingRequestScrollView->SetThrowDrag(true); + DeviceUnbindingRequestScrollView->SetDraggable(true); + DeviceUnbindingRequestScrollView->SetTouchable(true); + DeviceUnbindingRequestScrollView->SetReboundSize(30); + DeviceUnbindingRequestScrollView->SetScrollBlankSize(30); + DeviceUnbindingRequestScrollView->SetSwipeACCLevel(800); // 800: compensation distance + DeviceUnbindingRequestScrollView->SetDragACCLevel(5); // 5: drag acceleration + DeviceUnbindingRequestScrollView->SetMaxScrollDistance(1000); + DeviceUnbindingRequestScrollView->SetDirection(UIScrollView::VERTICAL); /* ------------------ DeviceUnbindingRequestViewTitleLabel ------------------ */ - DeviceUnbindingRequestViewTitleLabel = new UILabelExt(); if (DeviceUnbindingRequestViewTitleLabel == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewTitleLabel is nullptr"); - return nullptr; + DeviceUnbindingRequestViewTitleLabel = new UILabelExt(); + if (DeviceUnbindingRequestViewTitleLabel == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewTitleLabel is nullptr"); + return nullptr; + } } - DeviceUnbindingRequestViewTitleLabel->SetPosition(203, 52, 200, 60); + DeviceUnbindingRequestViewTitleLabel->SetPosition(83, 50, 300, 35); DeviceUnbindingRequestViewTitleLabel->SetStyle(STYLE_TEXT_FONT, 30); DeviceUnbindingRequestViewTitleLabel->SetStyle(STYLE_LINE_HEIGHT, 35); - DeviceUnbindingRequestViewTitleLabel->SetText("注意"); - DeviceUnbindingRequestViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT); + // DeviceUnbindingRequestViewTitleLabel->SetText("注意"); + DeviceUnbindingRequestViewTitleLabel->SetTextId(STR_LOOK_OUT); + DeviceUnbindingRequestViewTitleLabel->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); DeviceUnbindingRequestViewTitleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); DeviceUnbindingRequestViewTitleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); /* ------------------- DeviceUnbindingRequestViewImageView ------------------ */ - DeviceUnbindingRequestViewImageView = new UIImageView(); if (DeviceUnbindingRequestViewImageView == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewImageView is nullptr"); - return nullptr; + DeviceUnbindingRequestViewImageView = new UIImageView(); + if (DeviceUnbindingRequestViewImageView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewImageView is nullptr"); + return nullptr; + } } DeviceUnbindingRequestViewImageView->SetPosition(193, 121, 80, 80); const char *imageimagesPath = "/user/res/Attention.bin"; DeviceUnbindingRequestViewImageView->SetSrc(imageimagesPath); /* --------------------- DeviceUnbindingRequestViewLabel[0] -------------------- */ - DeviceUnbindingRequestViewLabel[0] = new UILabelExt(); - if (DeviceUnbindingRequestViewLabel[0] == nullptr) + if (nullptr == DeviceUnbindingRequestViewLabel[0]) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewLabel[0] is nullptr"); - return nullptr; + DeviceUnbindingRequestViewLabel[0] = new UILabelExt(); + if (DeviceUnbindingRequestViewLabel[0] == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewLabel[0] is nullptr"); + return nullptr; + } } - DeviceUnbindingRequestViewLabel[0]->SetPosition(33, 220, 400, 90); + DeviceUnbindingRequestViewLabel[0]->SetPosition(53, 242, 360, 70); DeviceUnbindingRequestViewLabel[0]->SetStyle(STYLE_TEXT_FONT, 30); - DeviceUnbindingRequestViewLabel[0]->SetStyle(STYLE_LINE_HEIGHT, 40); - char str[512]; - memset(str, 0, 512); + DeviceUnbindingRequestViewLabel[0]->SetStyle(STYLE_LINE_HEIGHT, 35); + DeviceUnbindingRequestViewLabel[0]->SetTextId(STR_NEWDEVICE_BIND_REMIND_NOTE1); + + char *devanme = PairingViewEventListener::GetInstance().GetDeviceName(); + if (strlen(devanme)) + { + UpdateLabel(DeviceUnbindingRequestViewLabel[0], devanme, STR_NEWDEVICE_BIND_REMIND_NOTE1); + } + else + { + UpdateLabel(DeviceUnbindingRequestViewLabel[0], " ", STR_NEWDEVICE_BIND_REMIND_NOTE1); + } - sprintf(str, "当前设备已经与 %s 绑定", PairingViewEventListener::GetInstance().GetDeviceName()); - DeviceUnbindingRequestViewLabel[0]->SetText(str); DeviceUnbindingRequestViewLabel[0]->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); DeviceUnbindingRequestViewLabel[0]->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); DeviceUnbindingRequestViewLabel[0]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); /* ------------------- DeviceUnbindingRequestViewLabel[1] ------------------- */ - DeviceUnbindingRequestViewLabel[1] = new UILabelExt(); if (DeviceUnbindingRequestViewLabel[1] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewLabel[1] is nullptr"); - return nullptr; + DeviceUnbindingRequestViewLabel[1] = new UILabelExt(); + if (DeviceUnbindingRequestViewLabel[1] == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewLabel[1] is nullptr"); + return nullptr; + } } - int y = DeviceUnbindingRequestViewLabel[0]->GetY() + DeviceUnbindingRequestViewLabel[0]->GetHeight(); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " %d %d %d", DeviceUnbindingRequestViewLabel[0]->GetY(), DeviceUnbindingRequestViewLabel[0]->GetHeight(), y); - DeviceUnbindingRequestViewLabel[1]->SetPosition(33, y, 400, 300); + int y = DeviceUnbindingRequestViewLabel[0]->GetY() + DeviceUnbindingRequestViewLabel[0]->GetTextHeight() + 50; + DeviceUnbindingRequestViewLabel[1]->SetPosition(53, y, 360, 280); DeviceUnbindingRequestViewLabel[1]->SetStyle(STYLE_TEXT_FONT, 30); - DeviceUnbindingRequestViewLabel[1]->SetStyle(STYLE_LINE_HEIGHT, 40); - memset(str, 0, 512); - sprintf(str, "继续连接操作会解除与%s的绑定并将手表恢复出厂设置(会清空手表数据)\n\n是否继续此操作\n", PairingViewEventListener::GetInstance().GetDeviceName()); - // str = "继续连接操作会解除与 " + GetDeviceName() + " 的绑定并将手表恢复出厂设置(会清空手表数据)\n\n是否继续此操作\n"; - DeviceUnbindingRequestViewLabel[1]->SetText(str); + DeviceUnbindingRequestViewLabel[1]->SetStyle(STYLE_LINE_HEIGHT, 35); + DeviceUnbindingRequestViewLabel[1]->SetTextId(STR_NEWDEVICE_BIND_REMIND_NOTE2); + if (strlen(devanme)) + { + UpdateLabel(DeviceUnbindingRequestViewLabel[1], devanme, STR_NEWDEVICE_BIND_REMIND_NOTE2); + } + else + { + UpdateLabel(DeviceUnbindingRequestViewLabel[1], " ", STR_NEWDEVICE_BIND_REMIND_NOTE2); + } DeviceUnbindingRequestViewLabel[1]->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); - DeviceUnbindingRequestViewLabel[1]->SetTextColor(Color::GetColorFromRGBA(0xff, 0x8a, 0x36, 0xff)); DeviceUnbindingRequestViewLabel[1]->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); DeviceUnbindingRequestViewLabel[1]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); + /* ------------------- DeviceUnbindingRequestViewLabel[2] ------------------- */ + if (DeviceUnbindingRequestViewLabel[2] == nullptr) + { + DeviceUnbindingRequestViewLabel[2] = new UILabelExt(); + if (DeviceUnbindingRequestViewLabel[2] == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnbindingRequestGroupView] DeviceUnbindingRequestViewLabel[2] is nullptr"); + return nullptr; + } + } + y = DeviceUnbindingRequestViewLabel[1]->GetY() + DeviceUnbindingRequestViewLabel[1]->GetTextHeight() + 50; + DeviceUnbindingRequestViewLabel[2]->SetPosition(53, y, 360, 35); + DeviceUnbindingRequestViewLabel[2]->SetStyle(STYLE_TEXT_FONT, 30); + DeviceUnbindingRequestViewLabel[2]->SetStyle(STYLE_LINE_HEIGHT, 35); + DeviceUnbindingRequestViewLabel[2]->SetTextId(STR_NEWDEVICE_BIND_REMIND_NOTE3); + DeviceUnbindingRequestViewLabel[2]->SetLineBreakMode(UILabel::LINE_BREAK_WRAP); + DeviceUnbindingRequestViewLabel[2]->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + DeviceUnbindingRequestViewLabel[2]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); /* ------------------------------ DeviceBindingButtonCancel ------------------------------ */ - y = DeviceUnbindingRequestViewLabel[1]->GetY() + DeviceUnbindingRequestViewLabel[1]->GetHeight(); - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " %d %d %d", DeviceUnbindingRequestViewLabel[1]->GetY(), DeviceUnbindingRequestViewLabel[1]->GetHeight(), y); + y = DeviceUnbindingRequestViewLabel[2]->GetY() + DeviceUnbindingRequestViewLabel[2]->GetTextHeight() + 50; DeviceUnbindingRequestButtonCancel = CreateButton(111, y, 100, 100, "/user/res/SYSTEM_CheckOff.bin"); if (DeviceUnbindingRequestButtonCancel == nullptr) { @@ -537,18 +693,23 @@ namespace OHOS } /* ------------------------- button OnClickListener ------------------------- */ UIView::OnClickListener *listener = static_cast(&PairingViewEventListener::GetInstance()); + if (listener == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[CreateDeviceUnBindingView] PairingViewEventListener::GetInstance fail!!"); + return nullptr; + } DeviceUnbindingRequestButtonCancel->SetOnClickListener(listener); DeviceUnbindingRequestButtonOK->SetOnClickListener(listener); - + /* -------------------------------------------------------------------------- */ DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestViewTitleLabel); DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestViewImageView); DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestViewLabel[0]); DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestViewLabel[1]); + DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestViewLabel[2]); DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestButtonCancel); DeviceUnbindingRequestScrollView->Add(DeviceUnbindingRequestButtonOK); DeviceUnbindingRequestGroupView->Add(DeviceUnbindingRequestScrollView); } - NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeDeviceBindingView); return DeviceUnbindingRequestGroupView; } @@ -557,28 +718,44 @@ namespace OHOS */ void FreeDeviceBindingView(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FreeDeviceBindingView]"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[FreeDeviceBindingView]"); if (DeviceBindingView != nullptr) { DeviceBindingView->RemoveAll(); - - delete DeviceBindingViewTitleLabel; - DeviceBindingViewTitleLabel = nullptr; - - delete DeviceBindingName; - DeviceBindingName = nullptr; - - delete DeviceBindingViewLabel; - DeviceBindingViewLabel = nullptr; - - delete DeviceBindingButtonCancel; - DeviceBindingButtonCancel = nullptr; - - delete DeviceBindingButtonOK; - DeviceBindingButtonOK = nullptr; - + if (DeviceBindingScrollView != nullptr) + { + DeviceBindingScrollView->RemoveAll(); + if (DeviceBindingViewTitleLabel) + { + delete DeviceBindingViewTitleLabel; + DeviceBindingViewTitleLabel = nullptr; + } + if (DeviceBindingName) + { + delete DeviceBindingName; + DeviceBindingName = nullptr; + } + if (DeviceBindingAnimatorView) + { + DeviceBindingAnimatorView->Stop(); + delete DeviceBindingAnimatorView; + DeviceBindingAnimatorView = nullptr; + FreeImageInfoArray(BindPathsArray, BIND_IMAGE_SRC, BIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + } + if (DeviceBindingButtonCancel) + { + delete DeviceBindingButtonCancel; + DeviceBindingButtonCancel = nullptr; + } + if (DeviceBindingButtonOK) + { + delete DeviceBindingButtonOK; + DeviceBindingButtonOK = nullptr; + } + delete DeviceBindingScrollView; + DeviceBindingScrollView = nullptr; + } RootView::GetInstance()->Remove(DeviceBindingView); - delete DeviceBindingView; DeviceBindingView = nullptr; WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FreeDeviceBindingView] success"); @@ -590,36 +767,47 @@ namespace OHOS */ void FreeDeviceUnBindingView(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FreeDeviceUnBindingView]"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[FreeDeviceUnBindingView]"); if (DeviceUnBindingView != nullptr) { DeviceUnBindingView->RemoveAll(); - - delete DeviceUnBindingViewTitleLabel; - DeviceUnBindingViewTitleLabel = nullptr; - - FreeImageInfoArray(UnBindPathsArray, "/user/res/remind/unbind/", UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); - - DeviceUnBindingAnimatorView->Stop(); - delete DeviceUnBindingAnimatorView; - DeviceUnBindingAnimatorView = nullptr; - - delete DeviceUnBindingName; - DeviceUnBindingName = nullptr; - - delete DeviceUnBindingViewLabel; - DeviceUnBindingViewLabel = nullptr; - - delete DeviceUnBindingButtonCancel; - DeviceUnBindingButtonCancel = nullptr; - - delete DeviceUnBindingButtonOK; - DeviceUnBindingButtonOK = nullptr; - + if (DeviceUnBindingScrollView != nullptr) + { + DeviceUnBindingScrollView->RemoveAll(); + if (DeviceUnBindingViewTitleLabel) + { + delete DeviceUnBindingViewTitleLabel; + DeviceUnBindingViewTitleLabel = nullptr; + } + if (DeviceUnBindingAnimatorView) + { + DeviceUnBindingAnimatorView->Stop(); + delete DeviceUnBindingAnimatorView; + DeviceUnBindingAnimatorView = nullptr; + FreeImageInfoArray(UnBindPathsArray, UNBIND_IMAGE_SRC, UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES); + } + if (DeviceUnBindingName) + { + delete DeviceUnBindingName; + DeviceUnBindingName = nullptr; + } + if (DeviceUnBindingButtonCancel) + { + delete DeviceUnBindingButtonCancel; + DeviceUnBindingButtonCancel = nullptr; + } + if (DeviceUnBindingButtonOK) + { + delete DeviceUnBindingButtonOK; + DeviceUnBindingButtonOK = nullptr; + } + delete DeviceUnBindingScrollView; + DeviceUnBindingScrollView = nullptr; + } RootView::GetInstance()->Remove(DeviceUnBindingView); - delete DeviceUnBindingView; DeviceUnBindingView = nullptr; + FreeDeviceUnbindingRequestGroupView(); WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FreeDeviceUnBindingView] success"); } } @@ -629,36 +817,45 @@ namespace OHOS */ void FreeDeviceUnbindingRequestGroupView(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FreeDeviceUnbindingRequestGroupView]"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[FreeDeviceUnbindingRequestGroupView]"); if (DeviceUnbindingRequestGroupView != nullptr) { - DeviceUnbindingRequestGroupView->Remove(DeviceUnbindingRequestScrollView); - - DeviceUnbindingRequestScrollView->RemoveAll(); - - delete DeviceUnbindingRequestViewTitleLabel; - DeviceUnbindingRequestViewTitleLabel = nullptr; - - delete DeviceUnbindingRequestViewImageView; - DeviceUnbindingRequestViewImageView = nullptr; - - delete DeviceUnbindingRequestViewLabel[0]; - DeviceUnbindingRequestViewLabel[0] = nullptr; - - delete DeviceUnbindingRequestViewLabel[1]; - DeviceUnbindingRequestViewLabel[1] = nullptr; - - delete DeviceUnbindingRequestButtonOK; - DeviceUnbindingRequestButtonOK = nullptr; - - delete DeviceUnbindingRequestButtonCancel; - DeviceUnbindingRequestButtonCancel = nullptr; - - delete DeviceUnbindingRequestScrollView; - DeviceUnbindingRequestScrollView = nullptr; - + DeviceUnbindingRequestGroupView->RemoveAll(); + if (nullptr != DeviceUnbindingRequestScrollView) + { + DeviceUnbindingRequestScrollView->RemoveAll(); + if (DeviceUnbindingRequestViewTitleLabel) + { + delete DeviceUnbindingRequestViewTitleLabel; + DeviceUnbindingRequestViewTitleLabel = nullptr; + } + if (DeviceUnbindingRequestViewImageView) + { + delete DeviceUnbindingRequestViewImageView; + DeviceUnbindingRequestViewImageView = nullptr; + } + for (int i = 0; i < (sizeof(DeviceUnbindingRequestViewLabel) / sizeof(DeviceUnbindingRequestViewLabel[0])); i++) + { + if (DeviceUnbindingRequestViewLabel[i]) + { + delete DeviceUnbindingRequestViewLabel[i]; + DeviceUnbindingRequestViewLabel[i] = nullptr; + } + } + if (DeviceUnbindingRequestButtonOK) + { + delete DeviceUnbindingRequestButtonOK; + DeviceUnbindingRequestButtonOK = nullptr; + } + if (DeviceUnbindingRequestButtonCancel) + { + delete DeviceUnbindingRequestButtonCancel; + DeviceUnbindingRequestButtonCancel = nullptr; + } + delete DeviceUnbindingRequestScrollView; + DeviceUnbindingRequestScrollView = nullptr; + } RootView::GetInstance()->Remove(DeviceUnbindingRequestGroupView); - delete DeviceUnbindingRequestGroupView; DeviceUnbindingRequestGroupView = nullptr; WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[FreeDeviceUnbindingRequestGroupView] success"); diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang index d8378921c..93aa51c59 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ar.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang index 88355cdc6..a038593d5 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/az.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang index c3d5b3ce0..4d7eacb13 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/cs.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang index ab3f3aab9..b023dc618 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/de.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang index 9ab242e77..fffa5fa99 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/el.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang index ec7c766ad..98bfaf787 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang index 61a788b91..567953b51 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/es.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang index 509e73d79..fd1db4a8b 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fa.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang index 420ecb080..7b0d5f0a3 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fi.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang index bb39e0ef0..5b8af4816 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/fr.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang index bbbee5a03..acb732e23 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/he.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang index 260a44cb6..97c2bb185 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hi.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang index e8e9f976e..5702e75d6 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/hr.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang index 8bd98fe15..6dced815b 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/id.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang index b718ee9d0..485078d65 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/it.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang index ced2993b2..28867cb8d 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ja.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang index 8e72a3538..2c5d6eaea 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ko.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang index f14c0bded..c86af8ba6 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ms.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang index dee30cd55..7cb0fce91 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/nl.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang index a685664b7..88b377b67 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pl.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang index c2fa3df0a..61fe13597 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/pt.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang index 3de287df4..3dd52a0e4 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ro.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang index e2d707da5..95fdb0b1f 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ru.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang index ac72a0a12..2c944afc4 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/sv.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang index 09160562b..d99c38b9e 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/th.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang index f63d7f504..ca961ed75 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/tr.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h index 0a38d6405..43837244c 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h @@ -469,98 +469,100 @@ enum UIResourceTextId : uint16_t { STR_SEDENTARY_REMINDER = 456, STR_SEDENTARY_REMINDER_NOTE = 457, STR_SYSTEM_UPGRADING = 458, - STR_NEWDEVICE_BIND_REMIND_NOTE = 459, - STR_AI_VOICE = 460, - STR_AI_INTELLIGENT_ASSISTANT = 461, - STR_START_CHAT = 462, - STR_BOOT_FAILED = 463, - STR_ENABLE_MOBILE_DATA_FIRST = 464, - STR_ENABLE_BLUETOOTH_FIRST = 465, - STR_LISTENING = 466, - STR_FINISH_SPEAKING = 467, - STR_THINKING = 468, - STR_CANCEL = 469, - STR_CONNECT_TIMEOUT = 470, - STR_PLEASE_RESTART_CHAT = 471, - STR_CONTINUE_CHAT = 472, - STR_AIMODELS_DOUBAO = 473, - STR_AIMODES_WENXINYIYAN = 474, - STR_AIMODES_KIMI = 475, - STR_AIMODES_CHATGPT = 476, - STR_SLIDE_TO_SHUTDOWN = 477, - STR_SLIDE_TO_REBOOT = 478, - STR_AI_FAMILY_MEALS = 479, - STR_CHAT = 480, - STR_PCY4GC_OR_AS = 481, - STR_API_KEYS = 482, - STR_PGTTAF = 483, - STR_DAFBS = 484, - STR_OPENAI_API_KEYS = 485, - STR_KHBB = 486, - STR_GTAS = 487, - STR_DYWTDAK = 488, - STR_CONNECTING = 489, - STR_CONNECTION_FAIL = 490, - STR_PTALORTM = 491, - STR_MOTION_DETECTION_WALK_NOTE = 492, - STR_MOTION_DETECTION_RUN_NOTE = 493, - STR_MOTION_DETECTION_RIDE_NOTE = 494, - STR_MOTION_DETECTION_ROWING_NOTE = 495, - STR_MOTION_DETECTION_ELLIPTICAL_NOTE = 496, - STR_PE4GC = 497, - STR_OBU_MESSAGE = 498, - STR_DELETE = 499, - STR_CHARGE = 500, - STR_CHARGE_NOTE = 501, - STR_STEP_FREQUENCY = 502, - STR_STEP_LENGTH = 503, - STR_AVG_PACE = 504, - STR_TONGYI_QIANWEN = 505, - STR_IFLYTEK_SPARK = 506, - STR_DISTURBNOTE_OFF = 507, - STR_4G_NOTE = 508, - STR_MUSIC_PLAYER_SOURCE_NOTE = 509, - STR_MUSIC_LIST_IS_EMPTY = 510, - STR_BT_HEADSET_RESCAN = 511, - STR_BT_HEADSET_NOFOND = 512, - STR_SCHEDULE = 513, - STR_SCHEDULE_TITLE = 514, - STR_SCHEDULE_NO_DATA = 515, - STR_SCHEDULE_NO_DATA_PROMPT = 516, - STR_NO_PAIRED_DEV = 517, - STR_IGNORE = 518, - STR_START = 519, - STR_ARC_SCALE_LIST_DISPLAY = 520, - STR_COUNT_DOWN = 521, - STR_CUSTOM_TIME = 522, - STR_QUICK_START = 523, - STR_1_MIN = 524, - STR_5_MIN = 525, - STR_10_MIN = 526, - STR_30_MIN = 527, - STR_SET_COUNT_DOWN_NOTE = 528, - STR_COUNTDOWN_ENDS = 529, - STR_MAXIMUM_TIME_REACH_NOTE = 530, - STR_STOPWATCH_STOP_NOTE = 531, - STR_TMCHBR = 532, - STR_SCHEDULE_TOPIC = 533, - STR_SCHEDULE_TIME = 534, - STR_SCHEDULE_NOTES = 535, - STR_SCHEDULE_DELETE_PROMPT = 536, - STR_HANG_UP_OR_ANSWER = 537, - STR_WATCH_CALL = 538, - STR_PHONE_CALL = 539, - STR_STEPS_OF_THE_DAY = 540, - STR_MILEAGE = 541, - STR_FAT_BURNING_TIME = 542, - STR_NUMBER_OF_STANDS = 543, - STR_CONSUME_CALORIES = 544, - STR_GOAL_HINT = 545, - STR_SLEEPMODE = 546, - STR_SLEEP_MODE_PROMPT_ON = 547, - STR_LOW_POWER_NOTIF_1 = 548, - STR_LOW_POWER_NOTIF_2 = 549, - STR_MAX_ID = 550, + STR_NEWDEVICE_BIND_REMIND_NOTE1 = 459, + STR_NEWDEVICE_BIND_REMIND_NOTE2 = 460, + STR_NEWDEVICE_BIND_REMIND_NOTE3 = 461, + STR_AI_VOICE = 462, + STR_AI_INTELLIGENT_ASSISTANT = 463, + STR_START_CHAT = 464, + STR_BOOT_FAILED = 465, + STR_ENABLE_MOBILE_DATA_FIRST = 466, + STR_ENABLE_BLUETOOTH_FIRST = 467, + STR_LISTENING = 468, + STR_FINISH_SPEAKING = 469, + STR_THINKING = 470, + STR_CANCEL = 471, + STR_CONNECT_TIMEOUT = 472, + STR_PLEASE_RESTART_CHAT = 473, + STR_CONTINUE_CHAT = 474, + STR_AIMODELS_DOUBAO = 475, + STR_AIMODES_WENXINYIYAN = 476, + STR_AIMODES_KIMI = 477, + STR_AIMODES_CHATGPT = 478, + STR_SLIDE_TO_SHUTDOWN = 479, + STR_SLIDE_TO_REBOOT = 480, + STR_AI_FAMILY_MEALS = 481, + STR_CHAT = 482, + STR_PCY4GC_OR_AS = 483, + STR_API_KEYS = 484, + STR_PGTTAF = 485, + STR_DAFBS = 486, + STR_OPENAI_API_KEYS = 487, + STR_KHBB = 488, + STR_GTAS = 489, + STR_DYWTDAK = 490, + STR_CONNECTING = 491, + STR_CONNECTION_FAIL = 492, + STR_PTALORTM = 493, + STR_MOTION_DETECTION_WALK_NOTE = 494, + STR_MOTION_DETECTION_RUN_NOTE = 495, + STR_MOTION_DETECTION_RIDE_NOTE = 496, + STR_MOTION_DETECTION_ROWING_NOTE = 497, + STR_MOTION_DETECTION_ELLIPTICAL_NOTE = 498, + STR_PE4GC = 499, + STR_OBU_MESSAGE = 500, + STR_DELETE = 501, + STR_CHARGE = 502, + STR_CHARGE_NOTE = 503, + STR_STEP_FREQUENCY = 504, + STR_STEP_LENGTH = 505, + STR_AVG_PACE = 506, + STR_TONGYI_QIANWEN = 507, + STR_IFLYTEK_SPARK = 508, + STR_DISTURBNOTE_OFF = 509, + STR_4G_NOTE = 510, + STR_MUSIC_PLAYER_SOURCE_NOTE = 511, + STR_MUSIC_LIST_IS_EMPTY = 512, + STR_BT_HEADSET_RESCAN = 513, + STR_BT_HEADSET_NOFOND = 514, + STR_SCHEDULE = 515, + STR_SCHEDULE_TITLE = 516, + STR_SCHEDULE_NO_DATA = 517, + STR_SCHEDULE_NO_DATA_PROMPT = 518, + STR_NO_PAIRED_DEV = 519, + STR_IGNORE = 520, + STR_START = 521, + STR_ARC_SCALE_LIST_DISPLAY = 522, + STR_COUNT_DOWN = 523, + STR_CUSTOM_TIME = 524, + STR_QUICK_START = 525, + STR_1_MIN = 526, + STR_5_MIN = 527, + STR_10_MIN = 528, + STR_30_MIN = 529, + STR_SET_COUNT_DOWN_NOTE = 530, + STR_COUNTDOWN_ENDS = 531, + STR_MAXIMUM_TIME_REACH_NOTE = 532, + STR_STOPWATCH_STOP_NOTE = 533, + STR_TMCHBR = 534, + STR_SCHEDULE_TOPIC = 535, + STR_SCHEDULE_TIME = 536, + STR_SCHEDULE_NOTES = 537, + STR_SCHEDULE_DELETE_PROMPT = 538, + STR_HANG_UP_OR_ANSWER = 539, + STR_WATCH_CALL = 540, + STR_PHONE_CALL = 541, + STR_STEPS_OF_THE_DAY = 542, + STR_MILEAGE = 543, + STR_FAT_BURNING_TIME = 544, + STR_NUMBER_OF_STANDS = 545, + STR_CONSUME_CALORIES = 546, + STR_GOAL_HINT = 547, + STR_SLEEPMODE = 548, + STR_SLEEP_MODE_PROMPT_ON = 549, + STR_LOW_POWER_NOTIF_1 = 550, + STR_LOW_POWER_NOTIF_2 = 551, + STR_MAX_ID = 552, }; // UIResourceTextId enum FontLanguageId : uint8_t { diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang index 6595df0e6..39cf9469f 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uk.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang index 9d4c189bc..6c5d0485f 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/uz.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang index d082ade6a..4e292aae3 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/vi.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang index b7ed3def0..895c87e0a 100644 Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang differ diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/1.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/1.bin new file mode 100644 index 000000000..9da9cd916 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/1.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07c7cbd5cfeb97582a505d48afd570a9f74a0066f869d6cc996fefacb7521a05 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/10.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/10.bin new file mode 100644 index 000000000..25c97f5ca --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/10.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6076283dac4750c3d7714f2bbb7164ae5f54a9adc3ce77467a934e90319acb61 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/11.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/11.bin new file mode 100644 index 000000000..1b1511ce2 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/11.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c43c329379fc475ee20d508dd225616ecc30009d8fe385a2c0d9fe94243fbfc0 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/12.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/12.bin new file mode 100644 index 000000000..1d3ae3d70 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/12.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:381eaa136b2eefeed2748e4bcc752d637ee59dba251ecf4dbb8c442910d52811 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/13.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/13.bin new file mode 100644 index 000000000..6dad01853 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/13.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f01c7fbf2dee3ef6cabf29b68e00659b2d451a70e4891027f71a7ab5bfe840df +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/14.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/14.bin new file mode 100644 index 000000000..c510944be --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/14.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a044f16a1965e41206cc68a9e22962a99aea77b0aaadcaa2fd103efb68525984 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/15.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/15.bin new file mode 100644 index 000000000..77eb79894 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/15.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd98bb418bf1eb70eddd8c973710e0b065bd8af8204b35d760a58d71a1f7dcb4 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/16.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/16.bin new file mode 100644 index 000000000..1372882d4 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/16.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c9e9d2f3c9ebda907735861bee00155f4d6c60dbfdd9748532d059b34644e3 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/17.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/17.bin new file mode 100644 index 000000000..70c1adc32 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/17.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59be6514cb63e3e8bd8fb1ecaae320cd7ad5f17709b32b16f551ee0cfbb539e3 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/18.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/18.bin new file mode 100644 index 000000000..344ff9813 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/18.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1556ce058ca766754498b6bc10211fc92a8cb2bd7debe2e4d0660a79ac6a6353 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/19.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/19.bin new file mode 100644 index 000000000..4d0037dc5 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/19.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72160d1e0a53af62665748acb48b102f55bdc2e037206ed375403516530850a1 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/2.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/2.bin new file mode 100644 index 000000000..e0129dd03 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/2.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b386670b6a7a8537faae550e1a5ba6722b5ee2b1c9f930e6280d296db524673a +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/20.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/20.bin new file mode 100644 index 000000000..82bb86003 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/20.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf466e6d270ab45885d43a59ff33d32ef7fd2701eb1c93876e3ac0e2042a323 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/21.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/21.bin new file mode 100644 index 000000000..dc2678cd2 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/21.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31f56d8d7428dbc8596d13b01ba07eddd97e6b5200cea92e3746aa9ced330320 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/22.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/22.bin new file mode 100644 index 000000000..4671be526 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/22.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b700dcdaee851b9601170f7fb9ab0d4bf4c3ac47996b7e98e48a9ed1b25811f +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/23.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/23.bin new file mode 100644 index 000000000..8313128e8 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/23.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60d7333660668af77425a3c8500cbc813e1195a6b107be71ae95a25ad39834b5 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/24.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/24.bin new file mode 100644 index 000000000..0324a96dd --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/24.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ffbbc356f1b98b39e5dd1ca78a02c6056ab02eb573991788aa5e90891aae795 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/25.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/25.bin new file mode 100644 index 000000000..955a8bb4a --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/25.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d62911189dc30a26da643ff18ea673e43047b30b3c425a343e0a4a5120fe5a2a +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/3.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/3.bin new file mode 100644 index 000000000..406529033 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/3.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05207dd8eb765df916ae844d5f0e930a503968328141231e753cf9bc2c84418a +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/4.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/4.bin new file mode 100644 index 000000000..b156f673e --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/4.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8a62f8fd53985ea2b67092ac62198661da5d8c7b75db20faaea9b278d333637 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/5.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/5.bin new file mode 100644 index 000000000..015dfd68d --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/5.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:167430c4c886ed9e1f3a10a13df1fe6b1c123a286a4e5b15eadb801c05c9d188 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/6.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/6.bin new file mode 100644 index 000000000..1408393e7 --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/6.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99885608307cfed4d6403e936cfe9f1dd77325d951edc09c6f0e29b615657bc4 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/7.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/7.bin new file mode 100644 index 000000000..bd5831ceb --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/7.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6c462da49181ea9de01ce56bb7b44994bb64ee7967284dde6c2f7a8e98de0c6 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/8.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/8.bin new file mode 100644 index 000000000..75234e2af --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/8.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a040e7715228683193d4d8c807cf3a75a57a3d7ebb89cbb70579a4f54dfb830 +size 4648 diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/9.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/9.bin new file mode 100644 index 000000000..be5b2170a --- /dev/null +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/remind/bind/9.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b3501c653ca9a5502063f7c0ca6fbb882d722b6657eeaeec746bb3db2da9e85 +size 4648 diff --git a/tools/language_tool/Language_xml/input_list_ar.txt b/tools/language_tool/Language_xml/input_list_ar.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_ar.txt +++ b/tools/language_tool/Language_xml/input_list_ar.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_az.txt b/tools/language_tool/Language_xml/input_list_az.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_az.txt +++ b/tools/language_tool/Language_xml/input_list_az.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_cs.txt b/tools/language_tool/Language_xml/input_list_cs.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_cs.txt +++ b/tools/language_tool/Language_xml/input_list_cs.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_de.txt b/tools/language_tool/Language_xml/input_list_de.txt index 80303f18f..683ffc97e 100644 --- a/tools/language_tool/Language_xml/input_list_de.txt +++ b/tools/language_tool/Language_xml/input_list_de.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$Es ist Zeit, Wasser zu trinken! Denken Sie daran, STR_SEDENTARY_REMINDER$Erinnerung an langes Sitzen STR_SEDENTARY_REMINDER_NOTE$Sie waren XX Stunden inaktiv, stehen Sie auf und bewegen Sie sich! STR_SYSTEM_UPGRADING$Systemaktualisierung läuft -STR_NEWDEVICE_BIND_REMIND_NOTE$Das aktuelle Gerät ist bereits mit XX verbunden. Das Fortsetzen der Verbindung entfernt die Bindung und setzt die Uhr auf die Werkseinstellungen zurück (Daten der Uhr werden gelöscht). Möchten Sie fortfahren? +STR_NEWDEVICE_BIND_REMIND_NOTE1$Das aktuelle Gerät ist bereits mit XX verbunden +STR_NEWDEVICE_BIND_REMIND_NOTE2$Die Fortsetzung der Verbindungsoperation löst die Bindung an XX auf und setzt die Uhr auf die Werkseinstellungen zurück (dadurch werden die Uhrdaten gelöscht). +STR_NEWDEVICE_BIND_REMIND_NOTE3$Möchten Sie fortfahren STR_AI_VOICE$KI Stimme STR_AI_INTELLIGENT_ASSISTANT$KI Sprachassistent STR_START_CHAT$Gespräch starten diff --git a/tools/language_tool/Language_xml/input_list_el.txt b/tools/language_tool/Language_xml/input_list_el.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_el.txt +++ b/tools/language_tool/Language_xml/input_list_el.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_en.txt b/tools/language_tool/Language_xml/input_list_en.txt index d9580d408..290261a14 100644 --- a/tools/language_tool/Language_xml/input_list_en.txt +++ b/tools/language_tool/Language_xml/input_list_en.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$Time for some water! And stay hydrated STR_SEDENTARY_REMINDER$Sedentary reminder STR_SEDENTARY_REMINDER_NOTE$You haven't moved for XX hours. Get up and move. STR_SYSTEM_UPGRADING$System upgrading -STR_NEWDEVICE_BIND_REMIND_NOTE$The device has been bound to XX. If you continue to connect the device, the device will be unbound and the watch will be restored to factory Settings (the watch data will be cleared). +STR_NEWDEVICE_BIND_REMIND_NOTE1$The device has been bound to XX +STR_NEWDEVICE_BIND_REMIND_NOTE2$Continuing to connect will unbind XX and restore the watch to factory Settings (will clear the watch data) +STR_NEWDEVICE_BIND_REMIND_NOTE3$Whether to continue the operation STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI Intelligent Assistant STR_START_CHAT$Start Chat diff --git a/tools/language_tool/Language_xml/input_list_es.txt b/tools/language_tool/Language_xml/input_list_es.txt index d1396c431..eb41b97b4 100644 --- a/tools/language_tool/Language_xml/input_list_es.txt +++ b/tools/language_tool/Language_xml/input_list_es.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$¡Es hora de beber agua! Recuerde mantenerse hidra STR_SEDENTARY_REMINDER$Recordatorio de sedentarismo STR_SEDENTARY_REMINDER_NOTE$Has estado inactivo durante XX horas, ¡levántate y muévete un poco! STR_SYSTEM_UPGRADING$Actualización del sistema -STR_NEWDEVICE_BIND_REMIND_NOTE$El dispositivo actual ya está conectado a XX. Continuar con la conexión eliminará el vínculo y restaurará el reloj a la configuración de fábrica (se borrarán los datos del reloj). ¿Desea continuar? +STR_NEWDEVICE_BIND_REMIND_NOTE1$El dispositivo actual ya está conectado a XX. +STR_NEWDEVICE_BIND_REMIND_NOTE2$La operación de conexión continua desvinculará el reloj del XX y restablecerá el reloj a la configuración de fábrica (borrará todos los datos del reloj) +STR_NEWDEVICE_BIND_REMIND_NOTE3$¿Desea continuar esta operación STR_AI_VOICE$AI Voz STR_AI_INTELLIGENT_ASSISTANT$Asistente Inteligente de AI STR_START_CHAT$Iniciar diálogo diff --git a/tools/language_tool/Language_xml/input_list_fa.txt b/tools/language_tool/Language_xml/input_list_fa.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_fa.txt +++ b/tools/language_tool/Language_xml/input_list_fa.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_fi.txt b/tools/language_tool/Language_xml/input_list_fi.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_fi.txt +++ b/tools/language_tool/Language_xml/input_list_fi.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_fr.txt b/tools/language_tool/Language_xml/input_list_fr.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_fr.txt +++ b/tools/language_tool/Language_xml/input_list_fr.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_he.txt b/tools/language_tool/Language_xml/input_list_he.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_he.txt +++ b/tools/language_tool/Language_xml/input_list_he.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_hi.txt b/tools/language_tool/Language_xml/input_list_hi.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_hi.txt +++ b/tools/language_tool/Language_xml/input_list_hi.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_hr.txt b/tools/language_tool/Language_xml/input_list_hr.txt index 74534cbe4..7f9066ca2 100644 --- a/tools/language_tool/Language_xml/input_list_hr.txt +++ b/tools/language_tool/Language_xml/input_list_hr.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$Treba piti vodu! Zapamtite da se pravovremeno hidr STR_SEDENTARY_REMINDER$Podsetnik za dugotrajno sedenje STR_SEDENTARY_REMINDER_NOTE$Niste bili aktivni već XX sati, ustanite i malo se pomaknite! STR_SYSTEM_UPGRADING$Ažuriranje sustava -STR_NEWDEVICE_BIND_REMIND_NOTE$Trenutni uređaj je već povezan s XX. Nastavak povezivanja će ukinuti vezu i vratiti sat na tvorničke postavke (izbrisat će podatke sa sata). Da li želite nastaviti? +STR_NEWDEVICE_BIND_REMIND_NOTE1$Trenutni uređaj je već povezan s XX +STR_NEWDEVICE_BIND_REMIND_NOTE2$Nastavljanjem operacije spajanja bit će otkazana veza s XX i sat će biti vraćen na fabričke postavke (podaci na satu će biti izbrisani) +STR_NEWDEVICE_BIND_REMIND_NOTE3$ Da li želite nastaviti STR_AI_VOICE$AI Glas STR_AI_INTELLIGENT_ASSISTANT$AI Pametni asistent STR_START_CHAT$Započni razgovor diff --git a/tools/language_tool/Language_xml/input_list_id.txt b/tools/language_tool/Language_xml/input_list_id.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_id.txt +++ b/tools/language_tool/Language_xml/input_list_id.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_it.txt b/tools/language_tool/Language_xml/input_list_it.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_it.txt +++ b/tools/language_tool/Language_xml/input_list_it.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_ja.txt b/tools/language_tool/Language_xml/input_list_ja.txt index 167075a2b..911cb8fcf 100644 --- a/tools/language_tool/Language_xml/input_list_ja.txt +++ b/tools/language_tool/Language_xml/input_list_ja.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$水を飲むべき時間です。時間通りに STR_SEDENTARY_REMINDER$座りっぱなしの通知 STR_SEDENTARY_REMINDER_NOTE$あなたはXX時間活動していません。立ち上がって少し動きましょう。 STR_SYSTEM_UPGRADING$システムアップグレード中 -STR_NEWDEVICE_BIND_REMIND_NOTE$現在のデバイスはXXとバインドされています。続行するとバインドが解除され、時計は工場出荷時設定に戻ります(データが消去されます)。この操作を続けますか? +STR_NEWDEVICE_BIND_REMIND_NOTE1$現在のデバイスはXXとバインドされています +STR_NEWDEVICE_BIND_REMIND_NOTE2$続けて接続操作を行うと、XXとのバインドが解除され、腕時計は出荷時の設定に戻ります(腕時計のデータはすべて消去されます)。 +STR_NEWDEVICE_BIND_REMIND_NOTE3$この操作を続けますか STR_AI_VOICE$AI音声 STR_AI_INTELLIGENT_ASSISTANT$AIスマートアシスタント STR_START_CHAT$会話を開始 diff --git a/tools/language_tool/Language_xml/input_list_ko.txt b/tools/language_tool/Language_xml/input_list_ko.txt index 890e7787f..e53baaa4f 100644 --- a/tools/language_tool/Language_xml/input_list_ko.txt +++ b/tools/language_tool/Language_xml/input_list_ko.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$물을 마실 시간입니다! 적시에 수분을 STR_SEDENTARY_REMINDER$오랜 시간 앉아 있습니다. STR_SEDENTARY_REMINDER_NOTE$XX시간 동안 활동이 없었습니다. 일어나서 움직이세요! STR_SYSTEM_UPGRADING$시스템 업그레이드 중 -STR_NEWDEVICE_BIND_REMIND_NOTE$현재 장치가 XX에 연결되어 있습니다. 계속 연결 작업을 수행하면 연결 해제되며 시계가 초기화(시계 데이터 삭제)됩니다. 이 작업을 계속 하시겠습니까? +STR_NEWDEVICE_BIND_REMIND_NOTE1$현재 기기는 이미 XX와 바인딩되었습니다 +STR_NEWDEVICE_BIND_REMIND_NOTE2$계속 연결 작업을 하면 XX와의 바인딩이 해제되고 손목시계는 출고 시 설정으로 되돌아갑니다(손목시계 데이터가 모두 삭제됩니다) +STR_NEWDEVICE_BIND_REMIND_NOTE3$이 작업을 계속하시겠습니까 STR_AI_VOICE$AI 음성 STR_AI_INTELLIGENT_ASSISTANT$AI 스마트 어시스턴트 STR_START_CHAT$대화 시작 diff --git a/tools/language_tool/Language_xml/input_list_ms.txt b/tools/language_tool/Language_xml/input_list_ms.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_ms.txt +++ b/tools/language_tool/Language_xml/input_list_ms.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_nl.txt b/tools/language_tool/Language_xml/input_list_nl.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_nl.txt +++ b/tools/language_tool/Language_xml/input_list_nl.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_pl.txt b/tools/language_tool/Language_xml/input_list_pl.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_pl.txt +++ b/tools/language_tool/Language_xml/input_list_pl.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_pt.txt b/tools/language_tool/Language_xml/input_list_pt.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_pt.txt +++ b/tools/language_tool/Language_xml/input_list_pt.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_ro.txt b/tools/language_tool/Language_xml/input_list_ro.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_ro.txt +++ b/tools/language_tool/Language_xml/input_list_ro.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_ru.txt b/tools/language_tool/Language_xml/input_list_ru.txt index 31acabc48..a23aa441e 100644 --- a/tools/language_tool/Language_xml/input_list_ru.txt +++ b/tools/language_tool/Language_xml/input_list_ru.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$Пора пить воду! Не забудьте STR_SEDENTARY_REMINDER$Напоминание о сидячем образе жизни STR_SEDENTARY_REMINDER_NOTE$Вы не активны уже XX часов, встаньте и немного подвигайтесь! STR_SYSTEM_UPGRADING$Идет обновление системы -STR_NEWDEVICE_BIND_REMIND_NOTE$Текущее устройство уже подключено к XX. Продолжение подключения отменит связывание и вернет часы к заводским настройкам (будут удалены данные часов). Вы хотите продолжить? +STR_NEWDEVICE_BIND_REMIND_NOTE1$Текущее устройство уже подключено к XX +STR_NEWDEVICE_BIND_REMIND_NOTE2$Продолжение операции подключения приведет к отмене привязки к XX и восстановлению часов до заводских настроек (данные на часах будут удалены) +STR_NEWDEVICE_BIND_REMIND_NOTE3$Вы хотите продолжить STR_AI_VOICE$ИИ Голос STR_AI_INTELLIGENT_ASSISTANT$Умный помощник ИИ STR_START_CHAT$Начать диалог diff --git a/tools/language_tool/Language_xml/input_list_sv.txt b/tools/language_tool/Language_xml/input_list_sv.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_sv.txt +++ b/tools/language_tool/Language_xml/input_list_sv.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_th.txt b/tools/language_tool/Language_xml/input_list_th.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_th.txt +++ b/tools/language_tool/Language_xml/input_list_th.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_tr.txt b/tools/language_tool/Language_xml/input_list_tr.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_tr.txt +++ b/tools/language_tool/Language_xml/input_list_tr.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_uk.txt b/tools/language_tool/Language_xml/input_list_uk.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_uk.txt +++ b/tools/language_tool/Language_xml/input_list_uk.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_uz.txt b/tools/language_tool/Language_xml/input_list_uz.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_uz.txt +++ b/tools/language_tool/Language_xml/input_list_uz.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_vi.txt b/tools/language_tool/Language_xml/input_list_vi.txt index c5f644655..80ffc5c26 100644 --- a/tools/language_tool/Language_xml/input_list_vi.txt +++ b/tools/language_tool/Language_xml/input_list_vi.txt @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/input_list_zh.txt b/tools/language_tool/Language_xml/input_list_zh.txt index c5f644655..2719d8e86 100644 --- a/tools/language_tool/Language_xml/input_list_zh.txt +++ b/tools/language_tool/Language_xml/input_list_zh.txt @@ -340,7 +340,7 @@ STR_AUTO_DETECT$自动识别 STR_ABOUT_WATCH$关于手表 STR_WATCH_QR_CODE$手表二维码 STR_SYSTEM_LANGUAGE$系统语言 -STR_RESTART$重启 +STR_RESTART$重新启动 STR_SHUTDOWN$关机 STR_FACTORY_RESET$恢复出厂 STR_WATCH_NAME$手表名称 @@ -457,7 +457,9 @@ STR_DRINK_WATER_REMINDER_NOTE$该喝水啦!记得按时保持水分充足 STR_SEDENTARY_REMINDER$久坐提醒 STR_SEDENTARY_REMINDER_NOTE$你已经XX小时未活动了,站起来活动一下吧。 STR_SYSTEM_UPGRADING$系统升级中 -STR_NEWDEVICE_BIND_REMIND_NOTE$当前设备已经与XX绑定继续连接操作会解除绑定并将手表恢复出厂设置(会清空手表数据)是否继续此操作 +STR_NEWDEVICE_BIND_REMIND_NOTE1$当前设备已经与XX绑定 +STR_NEWDEVICE_BIND_REMIND_NOTE2$继续连接操作会解除与XX的绑定并将手表恢复出厂设置(会清空手表数据) +STR_NEWDEVICE_BIND_REMIND_NOTE3$是否继续此操作 STR_AI_VOICE$AI Voice STR_AI_INTELLIGENT_ASSISTANT$AI智能助手 STR_START_CHAT$开始对话 diff --git a/tools/language_tool/Language_xml/language_ar.xml b/tools/language_tool/Language_xml/language_ar.xml index 2ef6c6dd5..532e6b7bb 100644 --- a/tools/language_tool/Language_xml/language_ar.xml +++ b/tools/language_tool/Language_xml/language_ar.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_az.xml b/tools/language_tool/Language_xml/language_az.xml index 794312806..4b7a5fa14 100644 --- a/tools/language_tool/Language_xml/language_az.xml +++ b/tools/language_tool/Language_xml/language_az.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_cs.xml b/tools/language_tool/Language_xml/language_cs.xml index a642f8cb2..de0eb5f18 100644 --- a/tools/language_tool/Language_xml/language_cs.xml +++ b/tools/language_tool/Language_xml/language_cs.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_custom.xlsx b/tools/language_tool/Language_xml/language_custom.xlsx index 733c63ce4..c81e11bd8 100644 Binary files a/tools/language_tool/Language_xml/language_custom.xlsx and b/tools/language_tool/Language_xml/language_custom.xlsx differ diff --git a/tools/language_tool/Language_xml/language_de.xml b/tools/language_tool/Language_xml/language_de.xml index 5986644f1..ed51bada1 100644 --- a/tools/language_tool/Language_xml/language_de.xml +++ b/tools/language_tool/Language_xml/language_de.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_el.xml b/tools/language_tool/Language_xml/language_el.xml index 811e3772b..97b1ab6c6 100644 --- a/tools/language_tool/Language_xml/language_el.xml +++ b/tools/language_tool/Language_xml/language_el.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_en.xml b/tools/language_tool/Language_xml/language_en.xml index 97ff6df9a..5555b293d 100644 --- a/tools/language_tool/Language_xml/language_en.xml +++ b/tools/language_tool/Language_xml/language_en.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_es.xml b/tools/language_tool/Language_xml/language_es.xml index 71de491fc..3478b8d48 100644 --- a/tools/language_tool/Language_xml/language_es.xml +++ b/tools/language_tool/Language_xml/language_es.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_fa.xml b/tools/language_tool/Language_xml/language_fa.xml index 8162a4612..cc3e8dd55 100644 --- a/tools/language_tool/Language_xml/language_fa.xml +++ b/tools/language_tool/Language_xml/language_fa.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_fi.xml b/tools/language_tool/Language_xml/language_fi.xml index 1a410fbe5..9780e65a8 100644 --- a/tools/language_tool/Language_xml/language_fi.xml +++ b/tools/language_tool/Language_xml/language_fi.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_fr.xml b/tools/language_tool/Language_xml/language_fr.xml index 5cc89eafb..61efe3a1c 100644 --- a/tools/language_tool/Language_xml/language_fr.xml +++ b/tools/language_tool/Language_xml/language_fr.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_he.xml b/tools/language_tool/Language_xml/language_he.xml index f4ca3d257..6e0fb942c 100644 --- a/tools/language_tool/Language_xml/language_he.xml +++ b/tools/language_tool/Language_xml/language_he.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_hi.xml b/tools/language_tool/Language_xml/language_hi.xml index a03ce1b8f..3d6894f86 100644 --- a/tools/language_tool/Language_xml/language_hi.xml +++ b/tools/language_tool/Language_xml/language_hi.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_hr.xml b/tools/language_tool/Language_xml/language_hr.xml index cc4d00606..dcb71e371 100644 --- a/tools/language_tool/Language_xml/language_hr.xml +++ b/tools/language_tool/Language_xml/language_hr.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_id.xml b/tools/language_tool/Language_xml/language_id.xml index a088ed69d..1a6bf60d7 100644 --- a/tools/language_tool/Language_xml/language_id.xml +++ b/tools/language_tool/Language_xml/language_id.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_it.xml b/tools/language_tool/Language_xml/language_it.xml index 03816a019..536af4732 100644 --- a/tools/language_tool/Language_xml/language_it.xml +++ b/tools/language_tool/Language_xml/language_it.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_ja.xml b/tools/language_tool/Language_xml/language_ja.xml index e08c8ed1b..ee689e777 100644 --- a/tools/language_tool/Language_xml/language_ja.xml +++ b/tools/language_tool/Language_xml/language_ja.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_ko.xml b/tools/language_tool/Language_xml/language_ko.xml index d4f84a953..f0e3a1cae 100644 --- a/tools/language_tool/Language_xml/language_ko.xml +++ b/tools/language_tool/Language_xml/language_ko.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_ms.xml b/tools/language_tool/Language_xml/language_ms.xml index 8c8f5fcc0..61640365d 100644 --- a/tools/language_tool/Language_xml/language_ms.xml +++ b/tools/language_tool/Language_xml/language_ms.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_nl.xml b/tools/language_tool/Language_xml/language_nl.xml index 98858b985..25729f432 100644 --- a/tools/language_tool/Language_xml/language_nl.xml +++ b/tools/language_tool/Language_xml/language_nl.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_pl.xml b/tools/language_tool/Language_xml/language_pl.xml index 3a5e8a16c..8c5cc7089 100644 --- a/tools/language_tool/Language_xml/language_pl.xml +++ b/tools/language_tool/Language_xml/language_pl.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_pt.xml b/tools/language_tool/Language_xml/language_pt.xml index 86a2347ef..f4ea1771c 100644 --- a/tools/language_tool/Language_xml/language_pt.xml +++ b/tools/language_tool/Language_xml/language_pt.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_ro.xml b/tools/language_tool/Language_xml/language_ro.xml index b2ed5029e..7cd93a98d 100644 --- a/tools/language_tool/Language_xml/language_ro.xml +++ b/tools/language_tool/Language_xml/language_ro.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_ru.xml b/tools/language_tool/Language_xml/language_ru.xml index a5e9bea82..8b10f38cd 100644 --- a/tools/language_tool/Language_xml/language_ru.xml +++ b/tools/language_tool/Language_xml/language_ru.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_sv.xml b/tools/language_tool/Language_xml/language_sv.xml index 3e6ac4b1a..0ed24cb35 100644 --- a/tools/language_tool/Language_xml/language_sv.xml +++ b/tools/language_tool/Language_xml/language_sv.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_th.xml b/tools/language_tool/Language_xml/language_th.xml index aa94f5188..c71488a8b 100644 --- a/tools/language_tool/Language_xml/language_th.xml +++ b/tools/language_tool/Language_xml/language_th.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_tr.xml b/tools/language_tool/Language_xml/language_tr.xml index 4754dc09c..de9bc03aa 100644 --- a/tools/language_tool/Language_xml/language_tr.xml +++ b/tools/language_tool/Language_xml/language_tr.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_uk.xml b/tools/language_tool/Language_xml/language_uk.xml index a72332c7e..5eb4c6cef 100644 --- a/tools/language_tool/Language_xml/language_uk.xml +++ b/tools/language_tool/Language_xml/language_uk.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_uz.xml b/tools/language_tool/Language_xml/language_uz.xml index 1b6fa757c..7944990ca 100644 --- a/tools/language_tool/Language_xml/language_uz.xml +++ b/tools/language_tool/Language_xml/language_uz.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_vi.xml b/tools/language_tool/Language_xml/language_vi.xml index 4c8acf233..cda888a95 100644 --- a/tools/language_tool/Language_xml/language_vi.xml +++ b/tools/language_tool/Language_xml/language_vi.xml @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/Language_xml/language_zh.xml b/tools/language_tool/Language_xml/language_zh.xml index 3b55c48ee..554569e5d 100644 --- a/tools/language_tool/Language_xml/language_zh.xml +++ b/tools/language_tool/Language_xml/language_zh.xml @@ -341,7 +341,7 @@ - + @@ -458,7 +458,9 @@ - + + + diff --git a/tools/language_tool/font/ar.lang b/tools/language_tool/font/ar.lang index d8378921c..93aa51c59 100644 Binary files a/tools/language_tool/font/ar.lang and b/tools/language_tool/font/ar.lang differ diff --git a/tools/language_tool/font/az.lang b/tools/language_tool/font/az.lang index 88355cdc6..a038593d5 100644 Binary files a/tools/language_tool/font/az.lang and b/tools/language_tool/font/az.lang differ diff --git a/tools/language_tool/font/cs.lang b/tools/language_tool/font/cs.lang index c3d5b3ce0..4d7eacb13 100644 Binary files a/tools/language_tool/font/cs.lang and b/tools/language_tool/font/cs.lang differ diff --git a/tools/language_tool/font/de.lang b/tools/language_tool/font/de.lang index ab3f3aab9..b023dc618 100644 Binary files a/tools/language_tool/font/de.lang and b/tools/language_tool/font/de.lang differ diff --git a/tools/language_tool/font/el.lang b/tools/language_tool/font/el.lang index 9ab242e77..fffa5fa99 100644 Binary files a/tools/language_tool/font/el.lang and b/tools/language_tool/font/el.lang differ diff --git a/tools/language_tool/font/en.lang b/tools/language_tool/font/en.lang index ec7c766ad..98bfaf787 100644 Binary files a/tools/language_tool/font/en.lang and b/tools/language_tool/font/en.lang differ diff --git a/tools/language_tool/font/es.lang b/tools/language_tool/font/es.lang index 61a788b91..567953b51 100644 Binary files a/tools/language_tool/font/es.lang and b/tools/language_tool/font/es.lang differ diff --git a/tools/language_tool/font/fa.lang b/tools/language_tool/font/fa.lang index 509e73d79..fd1db4a8b 100644 Binary files a/tools/language_tool/font/fa.lang and b/tools/language_tool/font/fa.lang differ diff --git a/tools/language_tool/font/fi.lang b/tools/language_tool/font/fi.lang index 420ecb080..7b0d5f0a3 100644 Binary files a/tools/language_tool/font/fi.lang and b/tools/language_tool/font/fi.lang differ diff --git a/tools/language_tool/font/fr.lang b/tools/language_tool/font/fr.lang index bb39e0ef0..5b8af4816 100644 Binary files a/tools/language_tool/font/fr.lang and b/tools/language_tool/font/fr.lang differ diff --git a/tools/language_tool/font/he.lang b/tools/language_tool/font/he.lang index bbbee5a03..acb732e23 100644 Binary files a/tools/language_tool/font/he.lang and b/tools/language_tool/font/he.lang differ diff --git a/tools/language_tool/font/hi.lang b/tools/language_tool/font/hi.lang index 260a44cb6..97c2bb185 100644 Binary files a/tools/language_tool/font/hi.lang and b/tools/language_tool/font/hi.lang differ diff --git a/tools/language_tool/font/hr.lang b/tools/language_tool/font/hr.lang index e8e9f976e..5702e75d6 100644 Binary files a/tools/language_tool/font/hr.lang and b/tools/language_tool/font/hr.lang differ diff --git a/tools/language_tool/font/id.lang b/tools/language_tool/font/id.lang index 8bd98fe15..6dced815b 100644 Binary files a/tools/language_tool/font/id.lang and b/tools/language_tool/font/id.lang differ diff --git a/tools/language_tool/font/it.lang b/tools/language_tool/font/it.lang index b718ee9d0..485078d65 100644 Binary files a/tools/language_tool/font/it.lang and b/tools/language_tool/font/it.lang differ diff --git a/tools/language_tool/font/ja.lang b/tools/language_tool/font/ja.lang index ced2993b2..28867cb8d 100644 Binary files a/tools/language_tool/font/ja.lang and b/tools/language_tool/font/ja.lang differ diff --git a/tools/language_tool/font/ko.lang b/tools/language_tool/font/ko.lang index 8e72a3538..2c5d6eaea 100644 Binary files a/tools/language_tool/font/ko.lang and b/tools/language_tool/font/ko.lang differ diff --git a/tools/language_tool/font/ms.lang b/tools/language_tool/font/ms.lang index f14c0bded..c86af8ba6 100644 Binary files a/tools/language_tool/font/ms.lang and b/tools/language_tool/font/ms.lang differ diff --git a/tools/language_tool/font/nl.lang b/tools/language_tool/font/nl.lang index dee30cd55..7cb0fce91 100644 Binary files a/tools/language_tool/font/nl.lang and b/tools/language_tool/font/nl.lang differ diff --git a/tools/language_tool/font/pl.lang b/tools/language_tool/font/pl.lang index a685664b7..88b377b67 100644 Binary files a/tools/language_tool/font/pl.lang and b/tools/language_tool/font/pl.lang differ diff --git a/tools/language_tool/font/pt.lang b/tools/language_tool/font/pt.lang index c2fa3df0a..61fe13597 100644 Binary files a/tools/language_tool/font/pt.lang and b/tools/language_tool/font/pt.lang differ diff --git a/tools/language_tool/font/ro.lang b/tools/language_tool/font/ro.lang index 3de287df4..3dd52a0e4 100644 Binary files a/tools/language_tool/font/ro.lang and b/tools/language_tool/font/ro.lang differ diff --git a/tools/language_tool/font/ru.lang b/tools/language_tool/font/ru.lang index e2d707da5..95fdb0b1f 100644 Binary files a/tools/language_tool/font/ru.lang and b/tools/language_tool/font/ru.lang differ diff --git a/tools/language_tool/font/sv.lang b/tools/language_tool/font/sv.lang index ac72a0a12..2c944afc4 100644 Binary files a/tools/language_tool/font/sv.lang and b/tools/language_tool/font/sv.lang differ diff --git a/tools/language_tool/font/th.lang b/tools/language_tool/font/th.lang index 09160562b..d99c38b9e 100644 Binary files a/tools/language_tool/font/th.lang and b/tools/language_tool/font/th.lang differ diff --git a/tools/language_tool/font/tr.lang b/tools/language_tool/font/tr.lang index f63d7f504..ca961ed75 100644 Binary files a/tools/language_tool/font/tr.lang and b/tools/language_tool/font/tr.lang differ diff --git a/tools/language_tool/font/ui_resource_string.h b/tools/language_tool/font/ui_resource_string.h index 0a38d6405..43837244c 100644 --- a/tools/language_tool/font/ui_resource_string.h +++ b/tools/language_tool/font/ui_resource_string.h @@ -469,98 +469,100 @@ enum UIResourceTextId : uint16_t { STR_SEDENTARY_REMINDER = 456, STR_SEDENTARY_REMINDER_NOTE = 457, STR_SYSTEM_UPGRADING = 458, - STR_NEWDEVICE_BIND_REMIND_NOTE = 459, - STR_AI_VOICE = 460, - STR_AI_INTELLIGENT_ASSISTANT = 461, - STR_START_CHAT = 462, - STR_BOOT_FAILED = 463, - STR_ENABLE_MOBILE_DATA_FIRST = 464, - STR_ENABLE_BLUETOOTH_FIRST = 465, - STR_LISTENING = 466, - STR_FINISH_SPEAKING = 467, - STR_THINKING = 468, - STR_CANCEL = 469, - STR_CONNECT_TIMEOUT = 470, - STR_PLEASE_RESTART_CHAT = 471, - STR_CONTINUE_CHAT = 472, - STR_AIMODELS_DOUBAO = 473, - STR_AIMODES_WENXINYIYAN = 474, - STR_AIMODES_KIMI = 475, - STR_AIMODES_CHATGPT = 476, - STR_SLIDE_TO_SHUTDOWN = 477, - STR_SLIDE_TO_REBOOT = 478, - STR_AI_FAMILY_MEALS = 479, - STR_CHAT = 480, - STR_PCY4GC_OR_AS = 481, - STR_API_KEYS = 482, - STR_PGTTAF = 483, - STR_DAFBS = 484, - STR_OPENAI_API_KEYS = 485, - STR_KHBB = 486, - STR_GTAS = 487, - STR_DYWTDAK = 488, - STR_CONNECTING = 489, - STR_CONNECTION_FAIL = 490, - STR_PTALORTM = 491, - STR_MOTION_DETECTION_WALK_NOTE = 492, - STR_MOTION_DETECTION_RUN_NOTE = 493, - STR_MOTION_DETECTION_RIDE_NOTE = 494, - STR_MOTION_DETECTION_ROWING_NOTE = 495, - STR_MOTION_DETECTION_ELLIPTICAL_NOTE = 496, - STR_PE4GC = 497, - STR_OBU_MESSAGE = 498, - STR_DELETE = 499, - STR_CHARGE = 500, - STR_CHARGE_NOTE = 501, - STR_STEP_FREQUENCY = 502, - STR_STEP_LENGTH = 503, - STR_AVG_PACE = 504, - STR_TONGYI_QIANWEN = 505, - STR_IFLYTEK_SPARK = 506, - STR_DISTURBNOTE_OFF = 507, - STR_4G_NOTE = 508, - STR_MUSIC_PLAYER_SOURCE_NOTE = 509, - STR_MUSIC_LIST_IS_EMPTY = 510, - STR_BT_HEADSET_RESCAN = 511, - STR_BT_HEADSET_NOFOND = 512, - STR_SCHEDULE = 513, - STR_SCHEDULE_TITLE = 514, - STR_SCHEDULE_NO_DATA = 515, - STR_SCHEDULE_NO_DATA_PROMPT = 516, - STR_NO_PAIRED_DEV = 517, - STR_IGNORE = 518, - STR_START = 519, - STR_ARC_SCALE_LIST_DISPLAY = 520, - STR_COUNT_DOWN = 521, - STR_CUSTOM_TIME = 522, - STR_QUICK_START = 523, - STR_1_MIN = 524, - STR_5_MIN = 525, - STR_10_MIN = 526, - STR_30_MIN = 527, - STR_SET_COUNT_DOWN_NOTE = 528, - STR_COUNTDOWN_ENDS = 529, - STR_MAXIMUM_TIME_REACH_NOTE = 530, - STR_STOPWATCH_STOP_NOTE = 531, - STR_TMCHBR = 532, - STR_SCHEDULE_TOPIC = 533, - STR_SCHEDULE_TIME = 534, - STR_SCHEDULE_NOTES = 535, - STR_SCHEDULE_DELETE_PROMPT = 536, - STR_HANG_UP_OR_ANSWER = 537, - STR_WATCH_CALL = 538, - STR_PHONE_CALL = 539, - STR_STEPS_OF_THE_DAY = 540, - STR_MILEAGE = 541, - STR_FAT_BURNING_TIME = 542, - STR_NUMBER_OF_STANDS = 543, - STR_CONSUME_CALORIES = 544, - STR_GOAL_HINT = 545, - STR_SLEEPMODE = 546, - STR_SLEEP_MODE_PROMPT_ON = 547, - STR_LOW_POWER_NOTIF_1 = 548, - STR_LOW_POWER_NOTIF_2 = 549, - STR_MAX_ID = 550, + STR_NEWDEVICE_BIND_REMIND_NOTE1 = 459, + STR_NEWDEVICE_BIND_REMIND_NOTE2 = 460, + STR_NEWDEVICE_BIND_REMIND_NOTE3 = 461, + STR_AI_VOICE = 462, + STR_AI_INTELLIGENT_ASSISTANT = 463, + STR_START_CHAT = 464, + STR_BOOT_FAILED = 465, + STR_ENABLE_MOBILE_DATA_FIRST = 466, + STR_ENABLE_BLUETOOTH_FIRST = 467, + STR_LISTENING = 468, + STR_FINISH_SPEAKING = 469, + STR_THINKING = 470, + STR_CANCEL = 471, + STR_CONNECT_TIMEOUT = 472, + STR_PLEASE_RESTART_CHAT = 473, + STR_CONTINUE_CHAT = 474, + STR_AIMODELS_DOUBAO = 475, + STR_AIMODES_WENXINYIYAN = 476, + STR_AIMODES_KIMI = 477, + STR_AIMODES_CHATGPT = 478, + STR_SLIDE_TO_SHUTDOWN = 479, + STR_SLIDE_TO_REBOOT = 480, + STR_AI_FAMILY_MEALS = 481, + STR_CHAT = 482, + STR_PCY4GC_OR_AS = 483, + STR_API_KEYS = 484, + STR_PGTTAF = 485, + STR_DAFBS = 486, + STR_OPENAI_API_KEYS = 487, + STR_KHBB = 488, + STR_GTAS = 489, + STR_DYWTDAK = 490, + STR_CONNECTING = 491, + STR_CONNECTION_FAIL = 492, + STR_PTALORTM = 493, + STR_MOTION_DETECTION_WALK_NOTE = 494, + STR_MOTION_DETECTION_RUN_NOTE = 495, + STR_MOTION_DETECTION_RIDE_NOTE = 496, + STR_MOTION_DETECTION_ROWING_NOTE = 497, + STR_MOTION_DETECTION_ELLIPTICAL_NOTE = 498, + STR_PE4GC = 499, + STR_OBU_MESSAGE = 500, + STR_DELETE = 501, + STR_CHARGE = 502, + STR_CHARGE_NOTE = 503, + STR_STEP_FREQUENCY = 504, + STR_STEP_LENGTH = 505, + STR_AVG_PACE = 506, + STR_TONGYI_QIANWEN = 507, + STR_IFLYTEK_SPARK = 508, + STR_DISTURBNOTE_OFF = 509, + STR_4G_NOTE = 510, + STR_MUSIC_PLAYER_SOURCE_NOTE = 511, + STR_MUSIC_LIST_IS_EMPTY = 512, + STR_BT_HEADSET_RESCAN = 513, + STR_BT_HEADSET_NOFOND = 514, + STR_SCHEDULE = 515, + STR_SCHEDULE_TITLE = 516, + STR_SCHEDULE_NO_DATA = 517, + STR_SCHEDULE_NO_DATA_PROMPT = 518, + STR_NO_PAIRED_DEV = 519, + STR_IGNORE = 520, + STR_START = 521, + STR_ARC_SCALE_LIST_DISPLAY = 522, + STR_COUNT_DOWN = 523, + STR_CUSTOM_TIME = 524, + STR_QUICK_START = 525, + STR_1_MIN = 526, + STR_5_MIN = 527, + STR_10_MIN = 528, + STR_30_MIN = 529, + STR_SET_COUNT_DOWN_NOTE = 530, + STR_COUNTDOWN_ENDS = 531, + STR_MAXIMUM_TIME_REACH_NOTE = 532, + STR_STOPWATCH_STOP_NOTE = 533, + STR_TMCHBR = 534, + STR_SCHEDULE_TOPIC = 535, + STR_SCHEDULE_TIME = 536, + STR_SCHEDULE_NOTES = 537, + STR_SCHEDULE_DELETE_PROMPT = 538, + STR_HANG_UP_OR_ANSWER = 539, + STR_WATCH_CALL = 540, + STR_PHONE_CALL = 541, + STR_STEPS_OF_THE_DAY = 542, + STR_MILEAGE = 543, + STR_FAT_BURNING_TIME = 544, + STR_NUMBER_OF_STANDS = 545, + STR_CONSUME_CALORIES = 546, + STR_GOAL_HINT = 547, + STR_SLEEPMODE = 548, + STR_SLEEP_MODE_PROMPT_ON = 549, + STR_LOW_POWER_NOTIF_1 = 550, + STR_LOW_POWER_NOTIF_2 = 551, + STR_MAX_ID = 552, }; // UIResourceTextId enum FontLanguageId : uint8_t { diff --git a/tools/language_tool/font/uk.lang b/tools/language_tool/font/uk.lang index 6595df0e6..39cf9469f 100644 Binary files a/tools/language_tool/font/uk.lang and b/tools/language_tool/font/uk.lang differ diff --git a/tools/language_tool/font/uz.lang b/tools/language_tool/font/uz.lang index 9d4c189bc..6c5d0485f 100644 Binary files a/tools/language_tool/font/uz.lang and b/tools/language_tool/font/uz.lang differ diff --git a/tools/language_tool/font/vi.lang b/tools/language_tool/font/vi.lang index d082ade6a..4e292aae3 100644 Binary files a/tools/language_tool/font/vi.lang and b/tools/language_tool/font/vi.lang differ diff --git a/tools/language_tool/font/zh.lang b/tools/language_tool/font/zh.lang index b7ed3def0..895c87e0a 100644 Binary files a/tools/language_tool/font/zh.lang and b/tools/language_tool/font/zh.lang differ