From 4945cfeac59c753a5f027290e9941bddc9a99f72 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E7=BD=97=E6=AD=A3?= <1732036298@qq.com> Date: Fri, 26 Jul 2024 10:11:09 +0000 Subject: [PATCH] Merge #592 into sdk602patch0626 from refs/changes/592/head MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Code review from 罗正 * refs/changes/592/head: (30 commits squashed) - 修改恢复出厂设置适配多国语言 - 1.优化设置视图:添加了表冠控制但效果不佳 2.滑动关机和重启视图添加按键注册功能 3.现在设置视图进入关机和重启为“滑动关机重启Slice” - 优化屏幕与亮度Slice: 1.添加了scrollview的表冠控制, 2.标签断行模式为LINE_BREAK_OSCILLATION改为LINE_BREAK_OSCILLATION 3.亮屏时长视图实现点击按钮该变亮屏时长单选按钮选中状态 - 解决手表解绑后恢复出厂设置,如果手机是直接与手表配对成功未选择语言,进入主界面后发现手表缺少字体问题。 1.如果手机与手表先绑定成功,未选择语言,需选择语言才进入主界面。 2.如果已选择语言,这时手机与手表绑定成功将自动进入主界面。 - 传统蓝牙Slice优化修改 - 喝水提醒尾部括号字符移除(原因:特殊字符不显示故删除) - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 设置视图优化表冠控制 - 解决天气界面没有时间显示的bug,并优化时间刷新 1.目前主界面天气刷新:如果在天气卡片,天气数据有效,就刷新时间 2.如果是Slice天气:滑到第一个界面,时间就会更新 - 解决左滑进入指南针卡片,手持手表,左上角度数被遮挡bug - 解决左滑进入指南针卡片,与预览图不一致问题q - 解决手表第一次启动:如果选择完语言后重启未配对会直接进入到主界面bug - 通过下拉,刷新蓝牙连接状态,解决手机关闭蓝牙后手机还显示已连接问题需要等待一会才会显示断开连接 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 注释KeyInputListener中power键长按进入开关机界面(该界面已经弃用) - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - QRcode界面取消设置常亮屏 - 声音与震动Slice优化: 1.解决如果是点击设置音量退出Slice未将音量值保存的问题 2.优化了如果是拖拽设置致使多次调用OnChange,实际上我们只要我们手指离开屏幕最后设置的值。 - 运动识别优化修改 - 增加蓝牙耳机连接状态显示 - 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 - ai语音界面多国语言文字增加 - 解决音乐播放完死机问题 - Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230 into sdk602patch0626 - 修改applistAi全家桶图片图片 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/592 --- .../include/ui_resource_string.h | 17 +- .../nativeui/applist/src/ApplistModel.cpp | 86 ++- .../language/Language_xml/input_list_en.txt | 21 +- .../language/Language_xml/input_list_zh.txt | 19 +- .../language/Language_xml/language_en.xml | 21 +- .../language/Language_xml/language_zh.xml | 17 +- .../fd230app/nativeui/language/font/en.lang | Bin 9967 -> 10445 bytes .../language/font/ui_resource_string.h | 17 +- .../fd230app/nativeui/language/font/zh.lang | Bin 9046 -> 9439 bytes .../nativeui/player/src/PlayersModel.cpp | 12 +- .../nativeui/system/include/SystemPresenter.h | 16 +- .../nativeui/system/include/SystemView.h | 98 +-- .../nativeui/system/src/SystemPresenter.cpp | 24 +- .../nativeui/system/src/SystemView.cpp | 560 +++++++++--------- .../fs/user/res/applist_icon/aivoice.bin | 2 +- .../fd230/fs/user/res/font/en.lang | Bin 9967 -> 10445 bytes .../fs/user/res/font/ui_resource_string.h | 17 +- .../fd230/fs/user/res/font/zh.lang | Bin 9046 -> 9439 bytes 18 files changed, 523 insertions(+), 404 deletions(-) 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 9c6e32b5d..0d3352b48 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 @@ -487,7 +487,22 @@ enum UIResourceTextId : uint16_t { STR_AIMODES_CHATGPT = 474, STR_SLIDE_TO_SHUTDOWN = 475, STR_SLIDE_TO_REBOOT = 476, - STR_MAX_ID = 477, + STR_AI_FAMILY_MEALS = 477, + STR_CHAT = 478, + STR_PCY4GC_OR_AS = 479, + STR_API_KEYS = 480, + STR_PGTTAF = 481, + STR_DAFBS = 482, + STR_OPENAI_API_KEYS = 483, + STR_KHBB = 484, + STR_GTAS = 485, + STR_DYWTDAK = 486, + STR_CONNECTING = 487, + STR_CONNECTION_FAIL = 488, + STR_PTALORTM = 489, + STR_MOTION_DETECTION_NOTE = 490, + STR_PE4GC = 491, + STR_MAX_ID = 492, }; // UIResourceTextId enum FontLanguageId : uint8_t { diff --git a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp index 03426d4c3..b90f8215a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistModel.cpp @@ -23,73 +23,69 @@ namespace OHOS { /**- APPLSIT + * - 手机 * - 心率 * - 血氧 * - 训练 * - 训练记录 - * - 指南针 - * - 电话 - * - 常用联系人 - * - 天气 * - 活动 - * - 更换表盘 - * - 显示方式 - * - 卡片管理 - * - 音乐 - * - 睡眠 + * - 文心一言 + * - 豆包 + * - KIMI + * - ChatGPT + * - 支付宝 + * - 消息通知 + * - 指南针 * - 录音 + * - 手电筒 + * - 天气 + * - 秒表 + * - 计时器 * - 呼吸训练 * - 遥控拍照 - * - 语言助手 - * - 支付宝 - * - 计时器 * - 闹钟 - * - 秒表 - * - 计算器 - * - 查找手机 - * - 亮度调节 * - 声音 - * - 蓝牙 + * - 查找手机 + * - 勿扰模式 + * - 卡片管理 * - 勿扰模式 - * - 消息通知 * - 省电模式 - * - AIVoice - * - 手电筒 * - 设置 */ const AppItem g_nativeAppList[] = { - {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr}, + {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手机", STR_PHONE, nullptr}, {VIEW_HEART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr}, + {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr}, {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练", STR_TRAINING, nullptr}, {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练记录", STR_TRAINING_RECORD, nullptr}, - {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr}, - {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "电话", STR_PHONE, nullptr}, - {VIEW_PHONEDIR, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr}, - {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr}, {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "活动", STR_ACTIVITY, nullptr}, - {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr}, - {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr}, - {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr}, - {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr}, - {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr}, - {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr}, - {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr}, + {VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "AI全家桶", STR_AI_FAMILY_MEALS, nullptr}, #ifdef SUPPORT_ALIPAY_SEC {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", STR_ALIPAY, nullptr}, #endif - {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG,"计时器", STR_TIMER, nullptr}, - {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE,PNG_APPLIST_DEFAULT_IMG,"闹钟", STR_ALARM, nullptr}, - {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_STOPWATCH_IMAGE,PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr}, - {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"查找手机", STR_FIND_PHONE, nullptr}, - {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr}, - {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"声音", STR_SOUND, nullptr}, - {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG,"蓝牙", STR_BLUETOOTH, nullptr}, - {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG,"勿扰模式", STR_DO_NOT_DISTURB, nullptr}, - {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"消息通知", STR_MESSAGE_NOTIFICATION, nullptr}, - {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"省电模式", STR_POWER_SAVE_MODE, nullptr}, - {VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"AI Voice", STR_AI_VOICE, nullptr}, - {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG,"手电筒", STR_FLASHLIGHT, nullptr}, - {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG,"设置", STR_SETTINGS, nullptr}, + {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr}, + {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr}, + {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr}, + {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手电筒", STR_FLASHLIGHT, nullptr}, + {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr}, + {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr}, + {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计时器", STR_TIMER, nullptr}, + {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr}, + {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr}, + {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", STR_ALARM, nullptr}, + {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr}, + {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr}, + {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr}, + {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr}, + {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr}, + {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "省电模式", STR_POWER_SAVE_MODE, nullptr}, + {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr}, + {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr}, + + // {VIEW_PHONEDIR, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr}, + // {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr}, + // {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr}, + // {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "蓝牙", STR_BLUETOOTH, nullptr}, #if 0 /*屏蔽Slice*/ diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt index baca8ed6c..9a4cc12c6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt +++ b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt @@ -471,7 +471,22 @@ STR_PLEASE_RESTART_CHAT$Please restart the conversation STR_CONTINUE_CHAT$Continue the conversation STR_AIMODELS_DOUBAO$Cici STR_AIMODES_WENXINYIYAN$ERNIE Bot -STR_AIMODES_KIMI$Kimi +STR_AIMODES_KIMI$KIMI STR_AIMODES_CHATGPT$ChatGPT -STR_SLIDE_TO_SHUTDOWN$Slide to shutdown -STR_SLIDE_TO_REBOOT$Slide to reboot \ No newline at end of file +STR_SLIDE_TO_SHUTDOWN$Slide to shutdown >> +STR_SLIDE_TO_REBOOT$Slide to reboot >> +STR_AI_FAMILY_MEALS$AI Family Meals +STR_CHAT$Chat +STR_PCY4GC_OR_AS$Please check your 4G connection or APP Settings +STR_API_KEYS$API keys +STR_PGTTAF$Please go to the APP first +STR_DAFBS$Device" - "AI Family Bucket" setting +STR_OPENAI_API_KEYS$OpenAI API keys +STR_KHBB$API keys have been bound +STR_GTAS$Please go to APP Settings +STR_DYWTDAK$Do you want to delete API keys +STR_CONNECTING$Connecting +STR_CONNECTION_FAIL$Connection fail +STR_PTALORTM$Please try again later or replace the model +STR_MOTION_DETECTION_NOTE$It seems that you are performing XX movement, whether to start recording +STR_PE4GC$Please enable 4G capability \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt index 459021969..cb9f616c6 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt +++ b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt @@ -471,7 +471,22 @@ STR_PLEASE_RESTART_CHAT$请重新开始对话 STR_CONTINUE_CHAT$继续对话 STR_AIMODELS_DOUBAO$豆包 STR_AIMODES_WENXINYIYAN$文心一言 -STR_AIMODES_KIMI$Kimi +STR_AIMODES_KIMI$KIMI STR_AIMODES_CHATGPT$ChatGPT STR_SLIDE_TO_SHUTDOWN$滑动关机 >> -STR_SLIDE_TO_REBOOT$滑动重启 >> \ No newline at end of file +STR_SLIDE_TO_REBOOT$滑动重启 >> +STR_AI_FAMILY_MEALS$AI 全家桶 +STR_CHAT$对话 +STR_PCY4GC_OR_AS$请检查4G连接或APP设置 +STR_API_KEYS$API keys +STR_PGTTAF$请先前往APP +STR_DAFBS$“设备”-“AI全家桶”设置 +STR_OPENAI_API_KEYS$OpenAI API keys +STR_KHBB$已绑定API keys +STR_GTAS$更换请前往APP设置 +STR_DYWTDAK$是否确认删除API keys +STR_CONNECTING$正在连接 +STR_CONNECTION_FAIL$连接失败 +STR_PTALORTM$请稍后再重试或更换模型 +STR_MOTION_DETECTION_NOTE$检测到您好像在进行XX运动,是否开始记录 +STR_PE4GC$请开启4G能力 \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml index 974a1d2c4..fdd32b305 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml +++ b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml @@ -472,8 +472,23 @@ - + - - + + + + + + + + + + + + + + + + + diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml index 6ad434bcc..064ea345f 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml +++ b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml @@ -472,8 +472,23 @@ - + + + + + + + + + + + + + + + + diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang b/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang index 3f74213716b15079a68ae8f020d202b01c2caedb..16cbb1d11e2887f7e796878d273f3c5fd2ee0006 100644 GIT binary patch delta 566 zcmY+Bu}T9$5Qeu4Vx2m})!NwzArKP`R|HRD5wM!Oo8*@4?Z&-H!eJ3hpTj3mtb7PN z-$Fqw?VP(LhAe!r%+CDt&+PZ`{kr+nK3_^&sCpUlAi7Z_qf-KQP-F{E-O56zvk!WTo#QIh4dD`V zZAustnxd{(ks&Myl8llWly2eSYygR~mJ-&^g7eUgA{Y^~w$nm&qY!4aE{k2|)K#rH zqdIS*eZi_vOPx>vrx5I$UM!LsaR9|eN?py#%Iii@^mZ4>a7hpoS%}@jriYC-X4YFb zeOGyg6}}_;)BmfCG(l~4qU=k+DQXJ_nS3>_r@6sI7Ahmb_}*94g@4ZZ)I0_haCf66-x3Iic*vE H^Gg^26?hRX diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/font/ui_resource_string.h b/code/sdk/application/wearable/fd230app/nativeui/language/font/ui_resource_string.h index 69218bc92..a245eb39a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/language/font/ui_resource_string.h +++ b/code/sdk/application/wearable/fd230app/nativeui/language/font/ui_resource_string.h @@ -487,7 +487,22 @@ enum UIResourceTextId : uint16_t { STR_AIMODES_CHATGPT = 474, STR_SLIDE_TO_SHUTDOWN = 475, STR_SLIDE_TO_REBOOT = 476, - STR_MAX_ID = 477, + STR_AI_FAMILY_MEALS = 477, + STR_CHAT = 478, + STR_PCY4GC_OR_AS = 479, + STR_API_KEYS = 480, + STR_PGTTAF = 481, + STR_DAFBS = 482, + STR_OPENAI_API_KEYS = 483, + STR_KHBB = 484, + STR_GTAS = 485, + STR_DYWTDAK = 486, + STR_CONNECTING = 487, + STR_CONNECTION_FAIL = 488, + STR_PTALORTM = 489, + STR_MOTION_DETECTION_NOTE = 490, + STR_PE4GC = 491, + STR_MAX_ID = 492, }; // UIResourceTextId enum FontLanguageId : uint8_t { diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang b/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang index bd8dda943ffa014b8f68ceb925fe0afdb189d559..ba8e460e18119a24deef4fae588c99e8b97ed0ec 100644 GIT binary patch delta 438 zcmY+AOG^S#6vr>Lm`@-rED&0?aMvo@%%&J9beF4kQV>KC5w&qh%t;-a3ZwGX=vcF; z87)&HN54R{3|bY!xpRe}Zy=pL1wgV%OHGE@U4e;x12PHNpL7bTf{KwiaAUHE#4LLel&RD zR~bFS>cD1r1AC4{A_SWE_VY0qmm?RU**cX=j`~P?SWC}MP_Av&V1@?LRqsOktGO#f zPIspz?gv_p)ho`Fwl0H`h6A}5mzkNtZQK@AR|8N;5@*@RBuG`duS3Ox=+Qtc%hXgT i#5xKj^zT;6?G7ywZj#KXf|VIu0Byy@Lq#n}WXTW9fa5X% delta 43 ncmccbdCg69U3aKfRR#kJxVurblzsCt_65?+nYo#hGnF*~2#O2X diff --git a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp index 526adb4ae..f424ee7bf 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/player/src/PlayersModel.cpp @@ -169,15 +169,19 @@ int16_t PlayersModel::GetCurrentIndex(void) void PlayersModel::SetCurrentIndex(int16_t value) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "PlayersModel::SetCurrentIndex,value = %d",value); currentIndex = value; /* -------------------------------------------------------------------------- */ m_PlayersCaseListAdapter = PlayersCaseListAdapter::GetInstance(); - m_PlayersCaseListAdapter->p_BtnOnClickListListener->SongClick(m_PlayersCaseListAdapter,currentIndex); - for(int i= 0;iGetCount();i++) + if(m_PlayersCaseListAdapter!=nullptr) { - if(i != currentIndex) + m_PlayersCaseListAdapter->p_BtnOnClickListListener->SongClick(m_PlayersCaseListAdapter,currentIndex); + for(int i= 0;iGetCount();i++) { - m_PlayersCaseListAdapter->p_BtnOnClickListListener->SongNotClick(m_PlayersCaseListAdapter,i); + if(i != currentIndex) + { + m_PlayersCaseListAdapter->p_BtnOnClickListListener->SongNotClick(m_PlayersCaseListAdapter,i); + } } } PlayersView::GetInstance()->GetPlayerList(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h index 6216ba778..050db8fea 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 18:29:43 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-05-06 19:56:05 + * @LastEditTime: 2024-07-25 14:48:37 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemPresenter.h */ @@ -18,17 +18,7 @@ namespace OHOS { - typedef enum - { - SYSTEMVIEW = 0, // 系统视图(slice) - ABOUTTHEWATCHVIEW, // 关于手表视图(subView) - SYSTEMLUPGRADE, // 系统升级(subView) - WATCHQRCODE, // 手表二维码视图(subView) - SYSTEMLANGUAGEVIEW, // 系统语言视图(subView) - FACTORYRESETVIEW, // 恢复出厂设置视图(subView)upgrade - TEST, - MAX_SYSTEMVIEWID, - } SYSTEMVIEWID; + /* ---------------------------- 恢复出厂设置界面按钮的VIEWID --------------------------- */ static const char *FACTORYRESET_CHECKON = "ShoutDownButtonCheckOn"; // 确认 @@ -51,7 +41,6 @@ namespace OHOS void OnStop() override; static SystemPresenter *GetInstance(); - //void set_key_falg(bool); private: // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承; @@ -63,7 +52,6 @@ namespace OHOS private: SystemModel *systemModel; - //bool isSystemUpgradeState{false}; // 是否处于升级状态 bool X_DRAG_FLAG{false}; }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h index 83d809335..a28c27550 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-30 18:29:39 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-05-07 18:30:05 + * @LastEditTime: 2024-07-25 16:38:48 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/system/include/SystemView.h */ #ifndef SYSTEM_VIEW_H @@ -18,26 +18,47 @@ #include "components/ui_button.h" #include "components/ui_label_button_ext.h" #include "system/include/SystemAboutTheWatchView.h" -#include "system/include/SystemSuperviseView.h" +// #include "system/include/SystemSuperviseView.h" #include "system/include/SystemFactoryResetView.h" -#include "system/include/Systemupgrade.h" +// #include "system/include/Systemupgrade.h" #include "components/ui_toggle_button.h" namespace OHOS { - static constexpr const char *ABOUT_THE_WATCH = "AboutTheWatchButton"; // 关于手表 - static constexpr const char *SYSTEM_UPGRADE = "SystemUpgradeButtonExt"; // 系统升级 + static constexpr const char *ABOUT_THE_WATCH = "AboutTheWatchButton"; // 关于手表 + static constexpr const char *SYSTEM_UPGRADE = "SystemUpgradeButtonExt"; // 系统升级 static constexpr const char *SYSTEM_UPGRADE_t = "SystemUpgradeButtonExt_t"; // 点击系统升级 - static constexpr const char *WATCH_QR_CODE = "WatchqrcodeButton"; // 手表二维码 - static constexpr const char *SYSTEM_LANGUAGE = "SystemLanguageButton"; // 系统语言 - static constexpr const char *FACTORY_RESET = "FactoryResetButton"; // 恢复出厂设置 + static constexpr const char *WATCH_QR_CODE = "WatchqrcodeButton"; // 手表二维码 + static constexpr const char *SYSTEM_LANGUAGE = "SystemLanguageButton"; // 系统语言 + static constexpr const char *FACTORY_RESET = "FactoryResetButton"; // 恢复出厂设置 + + typedef enum + { + SYSTEMVIEW = 0, // 系统视图(slice) + ABOUTTHEWATCHVIEW, // 关于手表视图(subView) + FACTORYRESETVIEW, // 恢复出厂设置视图(subView) + MAX_SYSTEMVIEWID, + } SYSTEMVIEWID; + class SystemPresenter; class SystemView : public View { public: + struct LabelConfig + { + int16_t left; + int16_t top; + int16_t width; + int16_t height; + int16_t fontSize; + int16_t lineHeigh; + uint16_t textId; + uint8_t lineBreakMode; + }; + SystemView(); - virtual ~SystemView(); + ~SystemView(); static SystemView *GetInstance(void); void OnStart() override; @@ -45,51 +66,42 @@ namespace OHOS void OnTearDownView() override; void OnStop() override; - struct ButtonConfig_ext_t + struct ButtonConfig { - int x; - int y; - int w; - int h; - // const char *str; - uint16_t textId; - const char *ViewId; - const char *ImageSrc; - - // label - int label_x; - int label_y; - uint8_t ALIGN; - int Fontsize; + int16_t x; + int16_t y; + int16_t w; + int16_t h; + const char *viewId; }; - bool ChangeSystemView(int16_t thisView); - bool ChangeSystemAboutView(int16_t thisView); - bool ChangeWatchQRCodeView(int16_t thisView); - bool ChangeSystemLanguageView(int16_t thisView); - bool ChangeSystemFactoryResetView(int16_t thisView); - bool ChangeSystemupgradeView(int16_t thisView); + bool ChangeToSystemView(int16_t thisView); + bool ChangeToSystemAboutView(int16_t thisView); + bool ChangeToSystemFactoryResetView(int16_t thisView); bool ClickFunc(int16_t interface); + bool CheckViewParam(int16_t hideView, int16_t showView); void ChangeView(int16_t hideView, int16_t showView); UIScrollView *GetSystemScrollView(int ViewId); private: - void initView_ext(int x, int y, int w, int h, int interval, const char *imagsrc); - void ClearAll(void); - bool SetTheSystemScrollView(void); - bool SetTheTitle(void); - void NeedToUpdateImageinit(void); - UILabelButtonExt *SetTheButton_ext(ButtonConfig_ext_t &ButtonConfig_ext, UIView::OnClickListener *clickListener); SystemAboutTheWatchView *p_SystemAboutTheWatchView{nullptr}; // 关于手表 - SystemupgradeView *p_SystemupgradeView{nullptr}; // 系统升级 - SystemSuperviseView *p_WatchQRCodeView{nullptr}; // 手表二维码 SystemFactoryResetView *p_SystemFactoryResetView{nullptr}; // 恢复出厂设置 - UIScrollView *SystemScrollView[10]{nullptr}; + + private: + UILabelButtonExt *SystemViewLabelButtonInit(ButtonConfig &buttonconfig); + UILabelExt *SystemViewLabelInit(LabelConfig &labelconfig); + bool CreateSystemViewLabel(void); + bool CreateSystemViewLabelButton(void); + bool CreateSystemScrollView(void); + void CreateSystemView(void); + void ClearAll(void); + void NeedToUpdateImageinit(void); UILabelExt *Title{nullptr}; // 标题 - UILabelButtonExt *SystemViewButton[5]{nullptr}; - /* -------------------------------------------------------------------------- */ - UIImageView *NeedToUpdateImage{nullptr}; //提示需要系统更新的icon图片 - /* -------------------------------------------------------------------------- */ + UIScrollView *SystemScrollView[MAX_SYSTEMVIEWID]{nullptr}; + UILabelButtonExt *SystemViewLabelButton[5]{nullptr}; + UILabelExt *SystemViewLabel[5]{nullptr}; + UIImageView *NeedToUpdateImage{nullptr}; // 提示需要系统更新的icon图片 + bool viewInitStatus{false}; }; } // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp index 25dbcc357..5d96810a5 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemPresenter.cpp @@ -100,14 +100,6 @@ namespace OHOS { p_SystemView->ChangeView(ABOUTTHEWATCHVIEW, SYSTEMVIEW); } - else if (&view == p_SystemView->GetSystemScrollView(SYSTEMLUPGRADE)) - { - p_SystemView->ChangeView(SYSTEMLUPGRADE, SYSTEMVIEW); - } - else if (&view == p_SystemView->GetSystemScrollView(WATCHQRCODE)) - { - p_SystemView->ChangeView(WATCHQRCODE, SYSTEMVIEW); - } else if (&view == p_SystemView->GetSystemScrollView(FACTORYRESETVIEW)) { p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW); @@ -196,14 +188,14 @@ namespace OHOS } - if (strcmp(view.GetViewId(), SYSTEM_UPGRADE_t) == 0) //点击是否立即升级 - { - SystemupgradeView::GetInstance()->statr_down_fwpkg(); - } - if (strcmp(view.GetViewId(), "labelButton1_exit") == 0) //稍后再说 - { - NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); - } + // if (strcmp(view.GetViewId(), SYSTEM_UPGRADE_t) == 0) //点击是否立即升级 + // { + // SystemupgradeView::GetInstance()->statr_down_fwpkg(); + // } + // if (strcmp(view.GetViewId(), "labelButton1_exit") == 0) //稍后再说 + // { + // NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING); + // } return true; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemView.cpp index 6bdf28783..095d065e0 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/system/src/SystemView.cpp @@ -8,60 +8,8 @@ extern uint8_t battery_get_voltage(float *voltage); #include "systemupdate/include/SystemUpdateModel.h" namespace OHOS { - static SystemView *g_pSystemView{nullptr}; - struct SystemViewMapper_ext - { - const int16_t viewId; - const char *viewid_str; - // const char *Labe_str; - uint16_t textId; - bool (SystemView::*func)(int16_t thisView); - }; - - SystemViewMapper_ext ViewMapper_t[] = { - {ABOUTTHEWATCHVIEW, ABOUT_THE_WATCH, STR_ABOUT_WATCH, &SystemView::ChangeSystemAboutView}, - {SYSTEMLUPGRADE, SYSTEM_UPGRADE, STR_SYSTEM_UPDATE, &SystemView::ChangeSystemupgradeView}, - {WATCHQRCODE, WATCH_QR_CODE, STR_WATCH_QR_CODE, &SystemView::ChangeWatchQRCodeView}, - {SYSTEMLANGUAGEVIEW, SYSTEM_LANGUAGE, STR_SYSTEM_LANGUAGE, &SystemView::ChangeSystemLanguageView}, - {FACTORYRESETVIEW, FACTORY_RESET, STR_FACTORY_RESET, &SystemView::ChangeSystemFactoryResetView}, - - }; - - // 根据传入的interface参数执行相应视图ID关联的成员函数。 - bool SystemView::ClickFunc(int16_t interface) - { - int funcSize = sizeof(ViewMapper_t) / sizeof(ViewMapper_t[SYSTEMVIEW]); - for (int i = 0; i < funcSize; i++) - { - if (interface == ViewMapper_t[i].viewId) - { - bool jug = (this->*(ViewMapper_t[i].func))(interface); - if (jug == false) - { - return false; - } - return true; - } - } - return false; - } - - // 切换视图 - void SystemView::ChangeView(int16_t hideView, int16_t showView) - { - if (hideView > MAX_SYSTEMVIEWID) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds"); - return; - } - SystemScrollView[hideView]->SetVisible(false); - ClickFunc(showView); - SystemScrollView[showView]->SetVisible(true); - Draw(); - } - SystemView::SystemView() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView"); @@ -71,7 +19,6 @@ namespace OHOS SystemView::~SystemView() { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::~SystemView"); - ClearAll(); g_pSystemView = nullptr; } @@ -82,63 +29,186 @@ namespace OHOS void SystemView::ClearAll() { - if (SystemScrollView[SYSTEMVIEW] != nullptr) + if (viewInitStatus) { - SystemScrollView[SYSTEMVIEW]->RemoveAll(); - - if (Title != nullptr) + if (SystemScrollView[SYSTEMVIEW] != nullptr) { - delete Title; - Title = nullptr; - } - - int num = (sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext)); - for (int i = 0; i < num; i++) - { - delete SystemViewButton[i]; - SystemViewButton[i] = nullptr; + SystemScrollView[SYSTEMVIEW]->RemoveAll(); + if (Title != nullptr) + { + delete Title; + Title = nullptr; + } + for (int i = 0; i < 5; i++) + { + if (SystemViewLabelButton[i] != nullptr) + { + delete SystemViewLabelButton[i]; + SystemViewLabelButton[i] = nullptr; + } + + if (SystemViewLabel[i] != nullptr) + { + delete SystemViewLabel[i]; + SystemViewLabel[i] = nullptr; + } + } + if (NeedToUpdateImage != nullptr) + { + delete NeedToUpdateImage; + NeedToUpdateImage = nullptr; + } + delete SystemScrollView[SYSTEMVIEW]; + SystemScrollView[SYSTEMVIEW] = nullptr; } + } + if (p_SystemAboutTheWatchView != nullptr) + { + delete p_SystemAboutTheWatchView; + p_SystemAboutTheWatchView = nullptr; + } + if (p_SystemFactoryResetView != nullptr) + { + delete p_SystemFactoryResetView; + p_SystemFactoryResetView = nullptr; + } + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ClearAll end!!"); + } - if (p_SystemAboutTheWatchView != nullptr) - { - delete p_SystemAboutTheWatchView; - p_SystemAboutTheWatchView = nullptr; - } + UILabelButtonExt *SystemView::SystemViewLabelButtonInit(ButtonConfig &buttonconfig) + { + UILabelButtonExt *labelButton = new UILabelButtonExt(); + if (labelButton == nullptr) + { + return nullptr; + } + labelButton->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h); + labelButton->SetViewId(buttonconfig.viewId); + labelButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); + labelButton->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE); + labelButton->SetImagePosition(326, 37); + labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED); + labelButton->SetOnClickListener(presenter_); + + return labelButton; + } - if (p_SystemupgradeView != nullptr) - { - delete p_SystemupgradeView; - p_SystemupgradeView = nullptr; - } + UILabelExt *SystemView::SystemViewLabelInit(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->SetRollSpeed(70); + label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize); + return label; + } - if (p_WatchQRCodeView != nullptr) + bool SystemView::CreateSystemViewLabel(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabel"); + LabelConfig labelConfig = { + .left = 83, + .top = 50, + .width = 300, + .height = 35, + .fontSize = 30, + .lineHeigh = 35, + .textId = STR_SYSTEM, /*系统*/ + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, + }; + Title = SystemViewLabelInit(labelConfig); + if (Title == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::Title"); + return false; + } + Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + SystemScrollView[SYSTEMVIEW]->Add(Title); + /* -------------------------------------------------------------------------- */ + struct LabelSetup + { + int16_t y; + const int16_t textId; + }; + + LabelSetup labelSetups[] = { + {153, STR_ABOUT_WATCH}, + {273, STR_SYSTEM_UPDATE}, + {393, STR_WATCH_QR_CODE}, + {513, STR_SYSTEM_LANGUAGE}, + {633, STR_FACTORY_RESET}, + }; + for (int i = 0; i < sizeof(labelSetups) / sizeof(labelSetups[0]); ++i) + { + labelConfig = { + .left = 90, + .top = labelSetups[i].y, + .width = 240, + .height = 35, + .fontSize = 30, + .lineHeigh = 35, + .textId = labelSetups[i].textId, + .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION, + }; + SystemViewLabel[i] = SystemViewLabelInit(labelConfig); + if (SystemViewLabel[i] == nullptr) { - delete p_WatchQRCodeView; - p_WatchQRCodeView = nullptr; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationView::SystemViewLabel[%d] new fail!", i); + return false; } + SystemScrollView[SYSTEMVIEW]->Add(SystemViewLabel[i]); + } - if (p_SystemFactoryResetView != nullptr) - { - delete p_SystemFactoryResetView; - p_SystemFactoryResetView = nullptr; - } + return true; + } - if (NeedToUpdateImage != nullptr) + bool SystemView::CreateSystemViewLabelButton(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabelButton"); + struct ButtonSetup + { + int y; + const char *viewId; + }; + ButtonSetup buttonSetups[] = { + {120, ABOUT_THE_WATCH}, + {240, SYSTEM_UPGRADE}, + {360, WATCH_QR_CODE}, + {480, SYSTEM_LANGUAGE}, + {600, FACTORY_RESET}, + }; + + for (int i = 0; i < sizeof(buttonSetups) / sizeof(buttonSetups[0]); ++i) + { + ButtonConfig buttonconfig = { + .x = 43, + .y = buttonSetups[i].y, + .w = 380, + .h = 100, + .viewId = buttonSetups[i].viewId, + }; + SystemViewLabelButton[i] = SystemViewLabelButtonInit(buttonconfig); + if (SystemViewLabelButton[i] == nullptr) { - delete NeedToUpdateImage; - NeedToUpdateImage = nullptr; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationView::Button[%d] new fail!", i); + return false; } - - delete SystemScrollView[SYSTEMVIEW]; - SystemScrollView[SYSTEMVIEW] = nullptr; + SystemScrollView[SYSTEMVIEW]->Add(SystemViewLabelButton[i]); } + + return true; } - /// @brief 设置SystemScrollView - /// @param void - /// @return true 设置成功,false 失败 - bool SystemView::SetTheSystemScrollView(void) + bool SystemView::CreateSystemScrollView(void) { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemScrollView"); SystemScrollView[SYSTEMVIEW] = new UIScrollView(); if (SystemScrollView[SYSTEMVIEW] == nullptr) { @@ -152,124 +222,122 @@ namespace OHOS SystemScrollView[SYSTEMVIEW]->SetDirection(1); SystemScrollView[SYSTEMVIEW]->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。 SystemScrollView[SYSTEMVIEW]->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。 - UIView::OnDragListener *draglistener = static_cast(SystemPresenter::GetInstance()); - if (draglistener == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::draglistener can not be nullptr!"); - return false; - } - SystemScrollView[SYSTEMVIEW]->SetOnDragListener(draglistener); + SystemScrollView[SYSTEMVIEW]->RequestFocus(); + SystemScrollView[SYSTEMVIEW]->SetRotateFactor(true); + SystemScrollView[SYSTEMVIEW]->SetOnDragListener(presenter_); SystemScrollView[SYSTEMVIEW]->SetTouchable(true); SystemScrollView[SYSTEMVIEW]->SetDraggable(true); + return true; } - /// @brief 设置标题 - /// @param void - /// @return true 设置成功,false 失败 - bool SystemView::SetTheTitle(void) + /*需要更新的红点图片初始化*/ + void SystemView::NeedToUpdateImageinit(void) { - Title = new UILabelExt(); - if (Title == nullptr) + if (NeedToUpdateImage == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::Title new fail!"); - return false; + NeedToUpdateImage = new UIImageView(); + if (NeedToUpdateImage == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView"); + return; + } + NeedToUpdateImage->SetPosition(323, 280, 20, 20); + NeedToUpdateImage->SetStyle(STYLE_BORDER_RADIUS, 200); + const char *imagesPath = "/user/res/system/SYSTEM_UPDATE_FLAG.bin"; + NeedToUpdateImage->SetSrc(imagesPath); + + SystemScrollView[SYSTEMVIEW]->Add(NeedToUpdateImage); } - Title->SetPosition(83, 52, 300, 35); - Title->SetStyle(STYLE_BACKGROUND_OPA, 0xff); - Title->SetStyle(STYLE_TEXT_FONT, 30); - Title->SetStyle(STYLE_LINE_HEIGHT, 35); - // Title->SetText("系统"); - Title->SetTextId(STR_SYSTEM); - Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); - Title->SetRollSpeed(70); - Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); - // Title->SetRollSpeed(6); - Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); - return true; } - UILabelButtonExt *SystemView::SetTheButton_ext(ButtonConfig_ext_t &buttonconfig, UIView::OnClickListener *clickListener) + void SystemView::CreateSystemView(void) { - UILabelButtonExt *button = new UILabelButtonExt(); - if (button == nullptr) + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView"); + if (!CreateSystemScrollView() || !CreateSystemViewLabelButton() || !CreateSystemViewLabel()) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: button new fail!"); - return nullptr; + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView"); + return; } - button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h); - button->SetViewId(buttonconfig.ViewId); - button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919); - button->SetImageSrc(buttonconfig.ImageSrc, buttonconfig.ImageSrc); - button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - button->SetOnClickListener(clickListener); - - // button->SetText(buttonconfig.str); - button->SetTextId(buttonconfig.textId); - button->SetAlign(TEXT_ALIGNMENT_LEFT); - button->SetLabelPosition(buttonconfig.label_x, buttonconfig.label_y); - button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, buttonconfig.Fontsize); - // button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED); - - button->SetImagePosition(326, 37); - return button; + viewInitStatus = true; } - void SystemView::initView_ext(int x, int y, int w, int h, int interval, const char *imagsrc) + void SystemView::OnStart() { - if (!SetTheSystemScrollView()) + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnStart"); + View::OnStart(); + SetContainerView(new UIViewGroup()); + if (GetContainer() == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SetTheSystemScrollView() fail!"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetContainerView fail!!"); return; } - if (!SetTheTitle()) + container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); + + if (!viewInitStatus) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SetTheTitle() fail!"); + CreateSystemView(); + } + + RootView::GetInstance()->SetOnKeyActListener(presenter_); + } + + void SystemView::OnSetUpView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnSetUpView"); + View::OnSetUpView(); + if (SystemScrollView[SYSTEMVIEW] == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: OnSetUpView has nullptr"); return; } - /* -------------------------------------------------------------------------- */ - UIView::OnClickListener *clickListener = static_cast(SystemPresenter::GetInstance()); - /* -------------------------------------------------------------------------- */ - ButtonConfig_ext_t buttonconfig; - buttonconfig.x = x; - buttonconfig.y = y; - buttonconfig.w = w; - buttonconfig.h = h; + if (SystemUpdateModel::GetInstance().IsLatestVersion() == false) // 如果不是最新系统版本出现小圆点 + { + NeedToUpdateImageinit(); + } + container_->Add(SystemScrollView[SYSTEMVIEW]); + Draw(); + } - int len = sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext); + void SystemView::OnTearDownView() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnTearDownView"); + View::OnTearDownView(); + return; + } - for (int i = 0; i < len; i++) + void SystemView::OnStop() + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnStop"); + View::OnStop(); + if (container_ != nullptr) { - // buttonconfig.str = ViewMapper_t[i].Labe_str; - buttonconfig.textId = ViewMapper_t[i].textId; - buttonconfig.ViewId = ViewMapper_t[i].viewid_str; - buttonconfig.ImageSrc = imagsrc; - buttonconfig.label_x = 40; - buttonconfig.label_y = 0; - buttonconfig.Fontsize = 30; - buttonconfig.ALIGN = TEXT_ALIGNMENT_LEFT; - SystemViewButton[i] = SetTheButton_ext(buttonconfig, clickListener); - buttonconfig.y += interval; + container_->RemoveAll(); + delete container_; + container_ = nullptr; } + RootView::GetInstance()->ClearOnKeyActListener(); + ClearAll(); + return; } // 0.跳转到系统视图,其他视图都市通过这个视图跳转 - bool SystemView::ChangeSystemView(int16_t thisView) + bool SystemView::ChangeToSystemView(int16_t thisView) { if (SystemScrollView[thisView] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemView"); - RootView::GetInstance()->Add(SystemScrollView[thisView]); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeToSystemView"); + container_->Add(SystemScrollView[thisView]); } return true; } // 1.跳转到关于手表 - bool SystemView::ChangeSystemAboutView(int16_t thisView) + bool SystemView::ChangeToSystemAboutView(int16_t thisView) { if (SystemScrollView[thisView] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeToSystemAboutView"); p_SystemAboutTheWatchView = new SystemAboutTheWatchView(); if (p_SystemAboutTheWatchView == nullptr) { @@ -277,41 +345,17 @@ namespace OHOS return false; } SystemScrollView[thisView] = p_SystemAboutTheWatchView->SystemAbouTheWatchtInitIView(); - RootView::GetInstance()->Add(SystemScrollView[thisView]); + container_->Add(SystemScrollView[thisView]); } return true; } - // 2.跳转到手表二维码 - bool SystemView::ChangeWatchQRCodeView(int16_t thisView) + // 3.跳转到恢复出厂设置界面 + bool SystemView::ChangeToSystemFactoryResetView(int16_t thisView) { if (SystemScrollView[thisView] == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeWatchQRCodeView"); - p_WatchQRCodeView = new SystemSuperviseView(); - if (p_WatchQRCodeView == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView); - return false; - } - SystemScrollView[thisView] = p_WatchQRCodeView->SystemSuperviseViewInit(); - RootView::GetInstance()->Add(SystemScrollView[thisView]); - } - return true; - } - - // 3.跳转到系统语言界面 - bool SystemView::ChangeSystemLanguageView(int16_t thisView) - { - return true; - } - - // 4.跳转到恢复出厂设置界面 - bool SystemView::ChangeSystemFactoryResetView(int16_t thisView) - { - if (SystemScrollView[thisView] == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemFactoryResetView"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeToSystemFactoryResetView"); p_SystemFactoryResetView = new SystemFactoryResetView(); if (p_SystemFactoryResetView == nullptr) { @@ -319,102 +363,80 @@ namespace OHOS return false; } SystemScrollView[thisView] = p_SystemFactoryResetView->SystemFactoryResetViewInit(); - RootView::GetInstance()->Add(SystemScrollView[thisView]); + container_->Add(SystemScrollView[thisView]); } return true; } - // 5.跳转到系统升级界面 - bool SystemView::ChangeSystemupgradeView(int16_t thisView) + struct SystemViewMapper { - if (SystemScrollView[thisView] == nullptr) + const int16_t viewId; + bool (SystemView::*func)(int16_t thisView); + }; + + static const SystemViewMapper ViewMapper[] = { + {SYSTEMVIEW, &SystemView::ChangeToSystemView}, + {ABOUTTHEWATCHVIEW, &SystemView::ChangeToSystemAboutView}, + {FACTORYRESETVIEW, &SystemView::ChangeToSystemFactoryResetView}, + }; + + // 根据传入的interface参数执行相应视图ID关联的成员函数。 + bool SystemView::ClickFunc(int16_t interface) + { + int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[SYSTEMVIEW]); + for (int i = 0; i < funcSize; i++) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemupgradeView"); - p_SystemupgradeView = new SystemupgradeView(); - if (p_SystemupgradeView == nullptr) + if (interface == ViewMapper[i].viewId) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView); - return false; + bool jug = (this->*(ViewMapper[i].func))(interface); + if (jug == false) + { + return false; + } + return true; } - SystemScrollView[thisView] = p_SystemupgradeView->SystemupgradeViewInit(); - RootView::GetInstance()->Add(SystemScrollView[thisView]); } - return true; + return false; } - UIScrollView *SystemView::GetSystemScrollView(int ViewId) + /*检查传入的两个视图参数 hideView 和 showView 的有效性。*/ + bool SystemView::CheckViewParam(int16_t hideView, int16_t showView) { - if (SystemScrollView[ViewId] == nullptr) + if (showView < 0 || showView >= MAX_SYSTEMVIEWID) { - return nullptr; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CheckViewParam showView err."); + return false; } - return SystemScrollView[ViewId]; - } - void SystemView::NeedToUpdateImageinit(void) - { - if (NeedToUpdateImage == nullptr) + if (hideView < 0 || hideView > MAX_SYSTEMVIEWID) { - NeedToUpdateImage = new UIImageView(); - if (NeedToUpdateImage == nullptr) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView"); - return; - } - NeedToUpdateImage->SetPosition(323, 280, 20, 20); - NeedToUpdateImage->SetStyle(STYLE_BORDER_RADIUS, 200); - const char *imagesPath = "/user/res/system/SYSTEM_UPDATE_FLAG.bin"; - NeedToUpdateImage->SetSrc(imagesPath); - - SystemScrollView[SYSTEMVIEW]->Add(NeedToUpdateImage); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CheckViewParam hideView err."); + return false; } - } - void SystemView::OnStart() - { - View::OnStart(); - initView_ext(43, 120, 380, 100, 120, "/user/res/SETTING_NEXT.bin"); - RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::SystemPresenter::GetInstance(); - RootView::GetInstance()->SetOnKeyActListener(keyactListener); + return true; } - void SystemView::OnSetUpView() + // 切换视图 + void SystemView::ChangeView(int16_t hideView, int16_t showView) { - View::OnSetUpView(); - if (SystemScrollView[SYSTEMVIEW] == nullptr) + if (!CheckViewParam(hideView, showView)) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: OnSetUpView has nullptr"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CheckViewParam failed."); return; } - - SystemScrollView[SYSTEMVIEW]->Add(Title); - int len = sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext); - - for (int i = 0; i < len; i++) - { - SystemScrollView[SYSTEMVIEW]->Add(SystemViewButton[i]); - } - if (SystemUpdateModel::GetInstance().IsLatestVersion() == false) // 如果不是最新系统版本出现小圆点 - { - NeedToUpdateImageinit(); - } - RootView::GetInstance()->Add(SystemScrollView[SYSTEMVIEW]); + SystemScrollView[hideView]->SetVisible(false); + ClickFunc(showView); + SystemScrollView[showView]->SetVisible(true); Draw(); } - void SystemView::OnTearDownView() - { - - View::OnTearDownView(); - return; - } - - void SystemView::OnStop() + UIScrollView *SystemView::GetSystemScrollView(int ViewId) { - - View::OnStop(); - RootView::GetInstance()->ClearOnKeyActListener(); - RootView::GetInstance()->RemoveAll(); - return; + if (SystemScrollView[ViewId] == nullptr) + { + return nullptr; + } + return SystemScrollView[ViewId]; } } \ No newline at end of file diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/aivoice.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/aivoice.bin index 9832b7c60..0873084ce 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/aivoice.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/applist_icon/aivoice.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2aac78100175b3b8cf9b5fc04ac3c41611825058e88601847a0f03263248b771 +oid sha256:0c1ad56cd690c49934e8a63ca0c8ca47d38515d2f2cf668f5b4b37f3e714d1e4 size 5544 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 3f74213716b15079a68ae8f020d202b01c2caedb..16cbb1d11e2887f7e796878d273f3c5fd2ee0006 100644 GIT binary patch delta 566 zcmY+Bu}T9$5Qeu4Vx2m})!NwzArKP`R|HRD5wM!Oo8*@4?Z&-H!eJ3hpTj3mtb7PN z-$Fqw?VP(LhAe!r%+CDt&+PZ`{kr+nK3_^&sCpUlAi7Z_qf-KQP-F{E-O56zvk!WTo#QIh4dD`V zZAustnxd{(ks&Myl8llWly2eSYygR~mJ-&^g7eUgA{Y^~w$nm&qY!4aE{k2|)K#rH zqdIS*eZi_vOPx>vrx5I$UM!LsaR9|eN?py#%Iii@^mZ4>a7hpoS%}@jriYC-X4YFb zeOGyg6}}_;)BmfCG(l~4qU=k+DQXJ_nS3>_r@6sI7Ahmb_}*94g@4ZZ)I0_haCf66-x3Iic*vE H^Gg^26?hRX 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 69218bc92..a245eb39a 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 @@ -487,7 +487,22 @@ enum UIResourceTextId : uint16_t { STR_AIMODES_CHATGPT = 474, STR_SLIDE_TO_SHUTDOWN = 475, STR_SLIDE_TO_REBOOT = 476, - STR_MAX_ID = 477, + STR_AI_FAMILY_MEALS = 477, + STR_CHAT = 478, + STR_PCY4GC_OR_AS = 479, + STR_API_KEYS = 480, + STR_PGTTAF = 481, + STR_DAFBS = 482, + STR_OPENAI_API_KEYS = 483, + STR_KHBB = 484, + STR_GTAS = 485, + STR_DYWTDAK = 486, + STR_CONNECTING = 487, + STR_CONNECTION_FAIL = 488, + STR_PTALORTM = 489, + STR_MOTION_DETECTION_NOTE = 490, + STR_PE4GC = 491, + STR_MAX_ID = 492, }; // UIResourceTextId enum FontLanguageId : uint8_t { 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 bd8dda943ffa014b8f68ceb925fe0afdb189d559..ba8e460e18119a24deef4fae588c99e8b97ed0ec 100644 GIT binary patch delta 438 zcmY+AOG^S#6vr>Lm`@-rED&0?aMvo@%%&J9beF4kQV>KC5w&qh%t;-a3ZwGX=vcF; z87)&HN54R{3|bY!xpRe}Zy=pL1wgV%OHGE@U4e;x12PHNpL7bTf{KwiaAUHE#4LLel&RD zR~bFS>cD1r1AC4{A_SWE_VY0qmm?RU**cX=j`~P?SWC}MP_Av&V1@?LRqsOktGO#f zPIspz?gv_p)ho`Fwl0H`h6A}5mzkNtZQK@AR|8N;5@*@RBuG`duS3Ox=+Qtc%hXgT i#5xKj^zT;6?G7ywZj#KXf|VIu0Byy@Lq#n}WXTW9fa5X% delta 43 ncmccbdCg69U3aKfRR#kJxVurblzsCt_65?+nYo#hGnF*~2#O2X -- 2.17.1