From d8f3b6da98b3d69ee1910c90ee3ba2f8a6c5c8d1 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Thu, 11 Jul 2024 14:48:23 +0800 Subject: [PATCH] =?utf8?q?ai=E5=A4=A7=E6=A8=A1=E5=9E=8BUI=E5=AE=8C?= =?utf8?q?=E6=88=90=E9=9C=80=E9=80=82=E9=85=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativelauncher/src/NativeLauncher.cpp | 2 +- .../nativeui/aimodels/include/AiModelsModel.h | 12 +- .../aimodels/include/AiModelsPresenter.h | 5 +- .../nativeui/aimodels/include/AiModelsView.h | 2 +- .../nativeui/aimodels/src/AiModelsModel.cpp | 35 ++- .../aimodels/src/AiModelsPresenter.cpp | 19 +- .../nativeui/aimodels/src/AiModelsView.cpp | 6 +- .../nativeui/aivoice/include/AiVoiceModel.h | 4 +- .../nativeui/aivoice/src/AiVoiceModel.cpp | 4 +- .../language/Language_xml/language_ja.xml | 240 ------------------ .../fd230app/nativeui/language/font/en.lang | Bin 10034 -> 9944 bytes .../language/font/ui_resource_string.h | 34 +-- .../fd230app/nativeui/language/font/zh.lang | Bin 9119 -> 9029 bytes .../rebootdevice/include/RebootModel.h | 10 +- .../nativeui/rebootdevice/src/RebootModel.cpp | 127 ++++++--- .../user/res/AIVoice/aimodels/aimodels_bg.bin | 4 +- .../fd230/fs/user/res/font/en.lang | Bin 10038 -> 9944 bytes .../fs/user/res/font/ui_resource_string.h | 34 +-- .../fd230/fs/user/res/font/zh.lang | Bin 9119 -> 9029 bytes 19 files changed, 207 insertions(+), 331 deletions(-) delete mode 100644 code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_ja.xml diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index 809aa490a..e7b0622f4 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -438,7 +438,7 @@ namespace OHOS ScreenModels::GetInstance()->PreLoadAppimages(); // NativeAbility::GetInstance().SetDefaultSliceId(VIEW_MAIN); // 注册按键事件 - RebootModel::GetInstance()->RegisterKeyEvents(); + RebootModel::GetInstance()->RegisterAllKeyEvents(); // 开机检测充电状态 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "get_charge_stat is %d", get_charge_stat()); diff --git a/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h b/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h index b39a9f084..00d64daa9 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-08 09:39:31 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 11:48:34 + * @LastEditTime: 2024-07-10 21:20:02 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsModel.h */ @@ -18,8 +18,11 @@ namespace OHOS { public: static AiModelsModel &GetInstance(void); - int16_t GetSelectAiModel(void); - void SetSelectAiModel(int16_t textId); + int GetSelectAiModel(void); + void SetSelectAiModel(int index); + bool ChangeAiModel(void); + int GetAiModelTextId(void); + void SetAiModelTextId(int textId); private: AiModelsModel(); @@ -27,7 +30,8 @@ namespace OHOS AiModelsModel(const AiModelsModel &) = delete; AiModelsModel &operator=(const AiModelsModel &) = delete; - int16_t selectAiModel; // 选择的ai模型 + int selectAiModel; // 选择的ai模型 + int textId; }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h index 08e4e4ab1..dda863529 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-08 09:39:10 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 11:48:26 + * @LastEditTime: 2024-07-10 10:21:57 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsPresenter.h */ @@ -29,6 +29,9 @@ namespace OHOS /*获取选择的ai模型*/ int16_t GetSelectAiModel(void); + /*单击func key切换ai模型*/ + void ChangeAiModel(void); + void SetAiModelTextId(int16_t id); void OnStart() override; void OnResume() override; diff --git a/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h b/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h index ac3ec3cd6..3643e0278 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-08 09:38:50 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 11:36:40 + * @LastEditTime: 2024-07-10 10:11:28 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/include/AiModelsView.h */ diff --git a/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp index 22ff39081..52c9c4997 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp @@ -2,11 +2,12 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-07-08 09:39:58 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 11:48:54 + * @LastEditTime: 2024-07-10 21:20:06 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsModel.cpp */ #include "aimodels/include/AiModelsModel.h" +#include "aimodels/include/AiModelsPresenter.h" #include "wearable_log.h" namespace OHOS @@ -22,15 +23,41 @@ namespace OHOS } /*获取选择的ai模型*/ - int16_t AiModelsModel::GetSelectAiModel(void) + int AiModelsModel::GetSelectAiModel(void) { return selectAiModel; } // 设置选择的ai模型 - void AiModelsModel::SetSelectAiModel(int16_t textId) + void AiModelsModel::SetSelectAiModel(int index) { - selectAiModel = textId; + selectAiModel = index; } + /*单击func key切换ai模型*/ + bool AiModelsModel::ChangeAiModel(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsModel::ChangeAiModel"); + AiModelsPresenter *aiModelsPresenter = AiModelsPresenter::GetInstance(); + if (aiModelsPresenter == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiModelsModel::ChangeAiModel - AiModelsPresenter instance is nullptr"); + return false; + } + aiModelsPresenter->ChangeAiModel(); + return true; + } + + /*获取已选择的ai模型的textid*/ + int AiModelsModel::GetAiModelTextId(void) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsModel::GetAiModelTextId - textId = %d", textId); + return textId; + } + + void AiModelsModel::SetAiModelTextId(int id) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiModelsModel::SetAiModelTextId - id = %d", id); + textId = id; + } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsPresenter.cpp index cc0943fbd..545549c92 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsPresenter.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-20 15:11:17 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 14:22:34 + * @LastEditTime: 2024-07-10 10:22:18 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiModelsPresenter.cpp */ #include "AppViewIDs.h" @@ -40,6 +40,23 @@ namespace OHOS return model->GetSelectAiModel(); } + void AiModelsPresenter::ChangeAiModel(void) + { + int index = GetSelectAiModel() + 1; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiModelsPresenter::index = %d", index); + if (index >= AIMODES_MAX_NUM) + { + index = AIMODES_DOUBAO; + } + model->SetSelectAiModel(index); + view_->UpdateAiModelsSelectStateAndTitleId(); + } + + void AiModelsPresenter::SetAiModelTextId(int16_t id) + { + model->SetAiModelTextId(id); + } + // 启动时执行的逻辑 void AiModelsPresenter::OnStart() { diff --git a/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsView.cpp b/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsView.cpp index 51354804f..89db66818 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aimodels/src/AiModelsView.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-05-07 11:25:58 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 11:56:24 + * @LastEditTime: 2024-07-10 10:24:57 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiModels/src/AiModelsView.cpp */ #include "aimodels/include/AiModelsPresenter.h" @@ -38,9 +38,11 @@ namespace OHOS void AiModelsView::UpdateAiModelsSelectStateAndTitleId() { int index = presenter_->GetSelectAiModel(); + int textId = AimodelsTextId[index]; + presenter_->SetAiModelTextId(textId); if (AiModelsTitle != nullptr) { - AiModelsTitle->SetTextId(AimodelsTextId[index]); + AiModelsTitle->SetTextId(textId); AiModelsTitle->ForceResetText(); } // 更新模型选中状态的函数中的循环优化 diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h b/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h index 48722f414..724b7356c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-20 15:14:43 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-04 18:31:22 + * @LastEditTime: 2024-07-11 14:35:27 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoiceModel.h */ #ifndef AI_VOICE_MODEL_H @@ -62,7 +62,7 @@ namespace OHOS void StopListenAndRecordingUserQuestion(void); // 定时器管理 - void AIVoice_StartTimer(uint32_t interval = 1000); + void AIVoice_StartTimer(uint32_t interval = 2000); void AIVoice_StopTimer(void); private: diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp index 92ac487b0..711ffe43b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-20 15:14:50 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-09 18:29:38 + * @LastEditTime: 2024-07-11 14:36:14 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp */ #include "aivoice/include/AiVoiceModel.h" @@ -489,7 +489,7 @@ namespace OHOS static void AIVoice_TimerCallbackProc(int data) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AIVoice_TimerCallbackProc,Time = %d", Time); - Time -= 1; + Time -= 2; if (Time == 30) { AiVoiceModel::GetInstance().CheckFileAndSendAIIsReady(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_ja.xml b/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_ja.xml deleted file mode 100644 index b539e5fba..000000000 --- a/code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_ja.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 e787e95eb399376bb929afff666ea1938023974b..a242fedb92864bf92dfa4b3af58531aa2f36695a 100644 GIT binary patch delta 2049 zcmY+^dytJ~7y$5ZW3!g*+Fit=tz;;Xu_TjOvs6sGtF~%=4XZzUQ3tJn#E%%sHAJNt^jg z&rmq{-}Q6M-P>3ilE{N}p)c9wGm06^W+|1dXDhp@;}~bSMxbf}t!YPRGUrAzBDW<8 z_XI(E(&@!>yu?sOQ_2*Uu$Hat;TRXVMg4l}kV*%-^E@vyj4@R3F7x?_RrP{Muvt>g zZuWDW^IYc^4eAF$GurS7>GUCsArw%`M5Zx|g)C(?RqUXagB<59m-xMYBnay1bqcL{ zm`8b%OtQ&iFvED2*O|n0X0e1y*6|g!9ONg?aDkiLChlH;hBP|SJtFkw1%^_@L}s#( zm26@=-?EProaQ&~5ZfRKl4wgudh#rJ6jID&-exZIS;iV7TZEnL&lUb6HcoL; zd5muKW+3?tr8Uawao{x0ucQ ze8>tmu$>x?aE`0|NkV)OwBT`i(4RcU5MfTd`7e-cVmAjl#ZBTGS#)%w8&A=P97Yf# z%yKqR$3^}ou5l1FA(_s6%02hl&a|dI>10KO5YzdXHB@tm*d{^HoStNm%VZX^l(lT; z0H!cVw$NzD(MVl1?!rb{|-qF2l$nY=C&h+ln~_#F)g&11X|LbEJjkqc-~+-^H{(# zK4CTMsp2!L`I0>mp^l@R;sV#WMdSMwrId0eFo_BxOl1bkSjRT@a)j&rLtIM-4iC|l zK}=yLi;1iew(~XnILrwy)3%j%v4%#eegxCmMh%BJ$$4(jrF9TI%>Z6zI2Fud5xY3V zRbt!dbemv!kSm$SJhIw)kuZ~(!3uWsJtsKFC4vVWqx2$!0pyThFt#|zEe{8oMa4zo z(b4Z3oNhHBJaXK)lC%jP`6&4Bwxm29j{X>TBAS?#QdQOP&Dh2RONv6_vQVhx?u%U$ z%HsQn3QEe-atq2r(I=9cSM^THjft*ED2}#F>>15XY#SY)m>Qj(m=>Lr+#>pUV)y9P v#Jp%$(^1jNvB&9(J z=`^Dyow$07(xp=(~|+*!8i)IpBU4a&3qD-!ZKD-&1SZ-i!b?# zI!^I3f02?FLKB*kO*eXz!w4pDKa(lrNfxkzms!hZK1|d9Es|Y)#c@s(()F9pT*kHB z!YB%u&I}%5CXbTfF&^g$Dp|qnRI!e29N-WqsY}=YUnE(LYzg`^fE@0kfHIwhV_%0(bmMAzGl1I}OEFUt!c69|j5k=%M;svYLgxUT>CZZvUu5CX zgFfUifvHsR78}{Y30gJ@p$kLEC7*e$B2guLz*dfNhSp6jNCq>8Nla!2bJ6sXwNL>P{vctrJTeb0}F$t9nsS;2(%p5rm* zQb{#?Im9V`C=Y|6dCne{n9juy}o@kIvYZ^~}-)vIa=vZFixx2}68GVxrGCCwzXZZUjYco1F z4!1_~V)5*edGW}i% -namespace OHOS { -enum UIResourceTextId : uint16_t { +/* +* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved. +* Description: language +* Author: Graphic develop team +* Create: 2021-07-06 +*/ + +#ifndef UI_RESOURCE_STRING_H +#define UI_RESOURCE_STRING_H +#include +namespace OHOS { +enum UIResourceTextId : uint16_t { STR_EXERCISE_OUTDOORWALKING = 0, STR_EXERCISE_OUTDOORRUNNING = 1, STR_EXERCISE_OUTDOORBIKING = 2, @@ -481,10 +481,14 @@ enum UIResourceTextId : uint16_t { STR_CONNECT_TIMEOUT = 468, STR_PLEASE_RESTART_CHAT = 469, STR_CONTINUE_CHAT = 470, - STR_MAX_ID = 471, + STR_AIMODELS_DOUBAO = 471, + STR_AIMODES_WENXINYIYAN = 472, + STR_AIMODES_KIMI = 473, + STR_AIMODES_CHATGPT = 474, + STR_MAX_ID = 475, }; // UIResourceTextId - -enum FontLanguageId : uint8_t { + +enum FontLanguageId : uint8_t { LANGUAGE_ID_EN, LANGUAGE_ID_ZH, LANGUAGE_ID_MAX 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 ad99cc0e62fb61b2a641df90d318c628e48af0ad..053d7e382fe277213dc47b21569c419423f5bb8b 100644 GIT binary patch delta 2043 zcmY+_d2AI$7y$6W0zClRQcjCdey z$DB2DriA|;#~L*>TW|xn(3^)CO2gn8A0g_5^)Oau~vsjAkmciLiiD%2`hppEq1M!Y`cVGRaLtXiFA%GJqjG z$s}fxPcfyeU@O%e;uLW%kenDo8m;I|SF(AS!9+$06PU)!%%hOSlu^!lHnWF)9OhSQ zI7dB+NhTqaE_9U3(a}z!2MLz~J zipjjle2Q4cYIab~QI2tzYcx+$|5hnp7Ve@yk28j;%;GhQd5fj2V=Ft^OD%uWqFD$x z(w)2M#{iyTGc{Z!p?L@?w53}_$YD4$XlO5HB?mac6_V}vHuPZ-Pw@;Bc!>g*vxVJ! z#ZitC=Mq;)xIToIbmUed_XuMs=XWkrPfDscn#UN)6lSxKC6uv&Pxz9rIl_;e;528r zNJtAIgHH71UIvnxuKu^B+oL?nQ;cUi`4m%1Ih)wc0e+^I^IYP(mi9g!=tf_1$mLn` zDW;T<*hf-^mB>*4EJ-$Z^9XZU$Z{&ECZ&~naT8f&a}Rk;;CW^;k3yDE##+`>$wzEw z2YcAdHxc0nPI87nxk^&&5ZW<}JVr2@u}o$fGnvaewo=U@j&Yv9NNVHLOBb>kP7&|0 zk;rGlL4M>EXSqz1wkG9yexX-8Z6>mcNTKCe^3HtO4l z+>q!$mO~yVspB$DGS!D3JjhT+GnE-cSi<{!z;(-aVS1pe2Ppogf zpfJ8|Q@rZK5UX4r)2J$`*|;WpE$LwMSo!w4XhFPkW9`m@E#D+JZPGkexh(cpNqqaF zx}rCt-(LS}#-|0fZxn_2s`)jW)`kB@R;2fA6djgY9Q`%5ceGVnr}pux6}4-3hJQ~N zb}ft*Zm26-d|_8{G&ikXM(m$^=&sqYDm%7tK|}xav|FQPX%9tXX(OWXmRZpU(sQCM MGBUSx&X||>HyH@~ delta 2118 zcmY+_d2Eko902f_YPEH>rH=ksMwlZrM;sg3C^ARQY*~k0Y-4V7+XO#?s%AR%i-}4c zovAq*QgsJ$O@_Hwtw~{pYQv9{&=7FeV*_8yw8zWSM?myp!57i z(?ogCx@KXHX?{Kh^0CN3%n>eHOobfQO85DwBLZ!(A>jAa_Ln9r9i zXEph3We>+V&t=NEO;jaILmi%>39aZrS9;Qqblzi3rEm~@F3DgK%UH`sirC8`PIG~4 z+~pzB(LqpyMl`229Z97ZuQQl2Okz4&EMp}b*%=m&aF$}qc}$gFhm&U2ZoJf>3RAc!T71nSU&c7#)fG}0N&CyZq>^T=i?d2C`AM>)qOZg7_h zu|ZIsWE#wRjIFL^Imcjo$QU07IF; zEHYWba#pi}9USI(SU5{D<=iK#N)W{J4BdHyfsEr2e-d5Q?5R(4I+M-_=8?lnwsM(U zRQJ~i(TtwFPk6X6jwxial+7IB6hCvFn>?U$bpw%1W7_ZvX^f|czlg381XZa|Ki*{& z)5#*2{2JvdlyQrDJR&+F2$E<*Te{GfL9|R%V_xGOhBKKtWV3?x6mgJK zT&6rx{qIYHBr~HH4S9ji^dg;)_>^o`u%5$QBBiF4pd+dDVE~KBWiz`uNBvsLMQb{e z8Wz$R#uR3d!D5z?PXRmG%K;8^j1!#ZM}DD{J3JyL*d(vDO{u$*=5=PbpP@jH)+uVZU6k{R5lM_qlUQdn304@kb}3>PUO zp`HVY7IdTs0~pE#mavN5d`DGhVLj3r#vL9KAMye;=4JXbgt5$IUdYWkl6iQW7;pSDPO z;=ss=q#n(J>npaEtj!HdzTRFInfvd^K}kVw$>N;S?OA0DvV+n!v#)Q-FKk<*Wrd`t eV?7ys)0$Q#nHe4s>7MjlWK&Y8@Q0*n3I70vI%U=X diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootModel.h b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootModel.h index 90c7ecdc6..4606d9fba 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootModel.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-12 11:44:04 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-13 19:09:49 + * @LastEditTime: 2024-07-10 21:13:23 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/include/RebootModel.h * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%A */ @@ -28,9 +28,11 @@ public: void SetSelectViewId(int16_t value); bool GetExitsView(void); void SetExitsView(bool value); - bool RegisterLongPressEvents(void); - bool RegisterDoubleClickEvents(void); - void RegisterKeyEvents(void); + bool RegisterPowerKeyLongPressEvent(void); + bool RegisterPowerKeyDoubleClickEvent(void); + bool RegisterFuncKeyClickEvent(void); + bool RegisterFuncKeyDoubleClickEvent(void); + void RegisterAllKeyEvents(void); private: RebootModel(); int16_t selectView{0}; diff --git a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp index b083cd02c..bc113aa6e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-28 11:50:42 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-06-14 18:42:57 + * @LastEditTime: 2024-07-11 14:41:49 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootdevice/src/RebootModel.cpp */ @@ -13,6 +13,7 @@ #include #include #include "power_display_service.h" +#include "aimodels/include/AiModelsModel.h" namespace OHOS { RebootModel::RebootModel() {} @@ -55,76 +56,128 @@ namespace OHOS } #endif - /* - * @brief 长按四秒关机回调函数 - */ - static void OnKeyLongPress4s_Callback(void) + static void HandlePowerKeyLongPress(void) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyLongPress4s_Callback"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HandlePowerKeyLongPress"); const power_display_svr_api_t *display_api = power_display_svr_get_api(); + if (!display_api) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "power_display_svr_get_api returned nullptr"); + return; + } + if (display_api->get_screen_state() != SCREEN_ON) { display_api->turn_on_screen(); } + // 切换到关机/重启卡片 NativeAbility::GetInstance().ChangeSlice(VIEW_SHUTDOWN_OR_REBOOT); - - return; } - /* - * @brief 注册长按监听事件 - * @return 注册成功返回true,反之返回false - */ - bool RebootModel::RegisterLongPressEvents(void) + /*注册电源键的长按事件*/ + bool RebootModel::RegisterPowerKeyLongPressEvent(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterLongPressEvents"); - int32_t ret = uapi_button_register_event_cb(OnKeyLongPress4s_Callback, BUTTON_PWR_LONGPRESS_3S); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterPowerKeyLongPressEvent"); + int32_t ret = uapi_button_register_event_cb(HandlePowerKeyLongPress, BUTTON_PWR_LONGPRESS_3S); if (ret != ERRCODE_SUCC) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register LongPress Events err,ret = %d", ret); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register PowerKey LongPress Event error, ret = %d", ret); return false; } return true; } - /* - * @brief 双击事件回调函数 - */ - static void OnKeyDoubleClick_Callback(void) + static void HandlePowerKeyDoubleClick(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandlePowerKeyDoubleClick"); + // Handle PowerKey DoubleClick logic here + } + + /*注册电源键的双击事件*/ + bool RebootModel::RegisterPowerKeyDoubleClickEvent(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterPowerKeyDoubleClickEvent"); + // Register PowerKey DoubleClick event here + return true; + } + + static void HandleFuncKeyOnClick(void) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyDoubleClick_Callback"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HandleFuncKeyOnClick"); + const power_display_svr_api_t *display_api = power_display_svr_get_api(); + if (!display_api) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "power_display_svr_get_api returned nullptr"); + return; + } + if (display_api->get_screen_state() == SCREEN_ON) { - // 切换到主题样式界面 - NativeAbility::GetInstance().EnterSlice(VIEW_THEME_STYLE); - //NativeAbility::GetInstance().ChangeSlice(VIEW_SET_DESKTOP); + AiModelsModel &aiModelsModel = AiModelsModel::GetInstance(); + if (!aiModelsModel.ChangeAiModel()) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to change AI model"); + } + } + else + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Screen is not on, skipping AI model change"); } + } + + /*注册功能键的单击事件*/ + bool RebootModel::RegisterFuncKeyClickEvent(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterFuncKeyClickEvent"); + int32_t ret = uapi_button_register_event_cb(HandleFuncKeyOnClick, BUTTON1_CLICKUP); + if (ret != ERRCODE_SUCC) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register FuncKey Click Event error, ret = %d", ret); + return false; + } + return true; + } - return; + static void HandleFuncKeyDoubleClick(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HandleFuncKeyDoubleClick"); + const power_display_svr_api_t *display_api = power_display_svr_get_api(); + if (!display_api) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "power_display_svr_get_api returned nullptr"); + return; + } + if (display_api->get_screen_state() == SCREEN_ON) + { + // 切换到显示方式界面 + NativeAbility::GetInstance().EnterSlice(VIEW_AI_MODELS); + } + else + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Screen is not on, skipping Slice change"); + } } - /* - * @brief 注册双击事件 - * @return 注册成功返回true,反之返回false - */ - bool RebootModel::RegisterDoubleClickEvents(void) + /*注册功能键双击事件*/ + bool RebootModel::RegisterFuncKeyDoubleClickEvent(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterDoubleClickEvents"); - int32_t ret = uapi_button_register_event_cb(OnKeyDoubleClick_Callback, BUTTON1_CLICKUP_2); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RebootModel::RegisterFuncKeyDoubleClickEvent"); + int32_t ret = uapi_button_register_event_cb(HandleFuncKeyDoubleClick, BUTTON1_CLICKUP_2); if (ret != ERRCODE_SUCC) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register DoubleClick Events err,ret = %d", ret); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Register FuncKey DoubleClick Event error, ret = %d", ret); return false; } return true; } - // 注册按键事件 - void RebootModel::RegisterKeyEvents(void) + void RebootModel::RegisterAllKeyEvents(void) { - RegisterLongPressEvents(); - RegisterDoubleClickEvents(); + RegisterPowerKeyDoubleClickEvent(); + RegisterPowerKeyLongPressEvent(); + RegisterFuncKeyClickEvent(); + RegisterFuncKeyDoubleClickEvent(); } } \ No newline at end of file diff --git a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/AIVoice/aimodels/aimodels_bg.bin b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/AIVoice/aimodels/aimodels_bg.bin index f9585fd2d..1275fbc03 100644 --- a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/AIVoice/aimodels/aimodels_bg.bin +++ b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/AIVoice/aimodels/aimodels_bg.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:672cf086d4e285b0f63da94d5dd448d343012999c3e8b0a9878ba9a1621fe859 -size 73064 +oid sha256:88c0f9a3719468cfab7a7396d43edaba4a1ce2b313e0e1f95833f0ef0032f52b +size 77544 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 5e5e8b5a0e5ec052363b36a8af414ea744dc9630..a242fedb92864bf92dfa4b3af58531aa2f36695a 100644 GIT binary patch delta 2078 zcmY+^dytJ~7y$6kWwS2Xwd)eQw3Q4cGL~dAYjz1^Ep6K@X2@Cxr{!$+GA`|Oj7v2N zqvH>Rl1sS{i)bZL5|c~hQfL_08uw8uqkd-kr*G!>%=4XZzUQ3tJn#E%$vM$4nl|H? zE}=;9zw75}4{qbAO(Kuco-F#2&q$^-izTdJJzLq$0ZwwBn*^#RkV;G1kvS)t5xpl# zs2&8ZNT(~kc$p!LqLj%jW-VLU!$~f4mzp)yA%)g-qAxEol+jf1F7x<^RW*WWuvt>Y zZVqvZOWfivwQ2@IBbxIh>2xQX!4y!+1g0{R1uS7TmF!?2M>xd=uJU`$Xb{xU>xQKA z1W)lCne-!%K@8nnoXGo(houWb(0~kV>3Cv&t zE7`<$zU3gNImd6@C$3fyB+-I4bm2wvD5Qu z@H8FiMt|}dMiCQuhgroQvGxPZH_`K@*;#Grh@UG*M>PG5`6JP3-0fXSqXsU5k#kbmV!ulf!UA zL|DcK4seCPiLVy~^+~23pHlr{+nH2akxq702r-S1Swj^^iK`z3jp;%LxlCdKOIXWh z4s(uL2}VRGdN7Dr2~)uoW-yN>tR%WcxJJH{W)Z8{$S(e%eglh&400GwITg%d85`L` z6+8KceH`KpSGY%=B;%khnY@>5{wtDwDeL)yeH`NgH@Q#UhT2AJ(#a&3!4xu%3TCp9 zb!=lV2dLIa4N^#_Kg(Iy$ozLm_HvkC$!KglQb-9gu2Zdv7L!0zT9M5N!i?h$rZJcK zEaekcvz|&mqlz!t6BQ0{g0o!aCU>d#h@zBI&UhwLL6j*>XDRF0#(s`-i+_l3>cHV~ zIxvvQ%wQ4GHNtkj<{-y7%{5vy(=OIfH^q-&8r#^*QOD=w+Ln%pKiH7i^g4tnP1 Z^y!(FSzH$M4UY{6S)&WedJV`6{sn3bQDFc8 delta 2219 zcmY+_dyti57y$5hyJ%Om?QR#L+DuUzg`_a(!bVZLsD@FU?6DoYdse5jx~UV@tftzL zlU+k2F%nXl#kwSmqSZv1qDf8nvnXo2RO>t{6?m#*_=;jdN5!~>iSfJ z

?0Lg>UrTtPnuGl~h6vXCcujv78>Cr9|6Q)D&{p*0uKm+Kh9?ZlYId=^vPIHbZe zl2xqZ9qQS^K8|pbMomIElUzD+30EiLY_9BPsZ;e;fk zX$V=gq%EE4$<_3yfFX?GF79D6GgwHPCs{)+b$rBjc5;vgexlJCA)HM+E=UQNaxH@y zO_ZrrP{j&f;8oW1F`u%FZ}@?~Xx=P@HgusE{ke^?6fube)0xL&Qq{r=R#VISY-Sr@ za+n5=^AmrPkr_e@T9Hq8`cS|y#xaS>RPZp5u#)Fl$NPMcss9@#+c?Y-P7t#6n=V{P zZ*F8HMa*C(4={__q?p5lJVZ4sd6^pCVl#W#$1xhR^#5l`-kG)p{pe2tcThx4}W+s&^Wf?D0 z!`o~ow6w=r%X&7lgDj_6KG!gu2_&h=(f>-xv%JnmHnWw__<}tgyxS9e+wbK7WNeSi5rIO{Wp^h!=Wb32A`Ikzy9@f3Cp=_Sn$UOXmJQXEE<$HUF>!m_eN{#4^w zyy(ASqC6fyJsc1#PA|^fTQe&w)ij-%olJk%vN&^8A`&}&H$67zs`Mi{9n))a{C(5) zIh~q^o1&3KGJixQ8GSVO%5?AC+nuWaTbiV|#^L%M#HrB$`Z?L?=c|O7j0J z7ltKb(ReZ%P5krblCrYG{9)6k7e(VW%d$sgwE4GmLh1aj$yjN0O3%_*yj%KsZl9bR zVpEcl_}y-lb_)Yb%BIw$^Sb5b7nYSzjFg3`(fG7je0pqpBp!-mrLl1Lq)4*pzGV0t Dm{D}; 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 8793c2a1e..ede429db9 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 @@ -1,15 +1,15 @@ -/* -* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved. -* Description: language -* Author: Graphic develop team -* Create: 2021-07-06 -*/ - -#ifndef UI_RESOURCE_STRING_H -#define UI_RESOURCE_STRING_H -#include -namespace OHOS { -enum UIResourceTextId : uint16_t { +/* +* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved. +* Description: language +* Author: Graphic develop team +* Create: 2021-07-06 +*/ + +#ifndef UI_RESOURCE_STRING_H +#define UI_RESOURCE_STRING_H +#include +namespace OHOS { +enum UIResourceTextId : uint16_t { STR_EXERCISE_OUTDOORWALKING = 0, STR_EXERCISE_OUTDOORRUNNING = 1, STR_EXERCISE_OUTDOORBIKING = 2, @@ -481,10 +481,14 @@ enum UIResourceTextId : uint16_t { STR_CONNECT_TIMEOUT = 468, STR_PLEASE_RESTART_CHAT = 469, STR_CONTINUE_CHAT = 470, - STR_MAX_ID = 471, + STR_AIMODELS_DOUBAO = 471, + STR_AIMODES_WENXINYIYAN = 472, + STR_AIMODES_KIMI = 473, + STR_AIMODES_CHATGPT = 474, + STR_MAX_ID = 475, }; // UIResourceTextId - -enum FontLanguageId : uint8_t { + +enum FontLanguageId : uint8_t { LANGUAGE_ID_EN, LANGUAGE_ID_ZH, LANGUAGE_ID_MAX 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 ad99cc0e62fb61b2a641df90d318c628e48af0ad..053d7e382fe277213dc47b21569c419423f5bb8b 100644 GIT binary patch delta 2043 zcmY+_d2AI$7y$6W0zClRQcjCdey z$DB2DriA|;#~L*>TW|xn(3^)CO2gn8A0g_5^)Oau~vsjAkmciLiiD%2`hppEq1M!Y`cVGRaLtXiFA%GJqjG z$s}fxPcfyeU@O%e;uLW%kenDo8m;I|SF(AS!9+$06PU)!%%hOSlu^!lHnWF)9OhSQ zI7dB+NhTqaE_9U3(a}z!2MLz~J zipjjle2Q4cYIab~QI2tzYcx+$|5hnp7Ve@yk28j;%;GhQd5fj2V=Ft^OD%uWqFD$x z(w)2M#{iyTGc{Z!p?L@?w53}_$YD4$XlO5HB?mac6_V}vHuPZ-Pw@;Bc!>g*vxVJ! z#ZitC=Mq;)xIToIbmUed_XuMs=XWkrPfDscn#UN)6lSxKC6uv&Pxz9rIl_;e;528r zNJtAIgHH71UIvnxuKu^B+oL?nQ;cUi`4m%1Ih)wc0e+^I^IYP(mi9g!=tf_1$mLn` zDW;T<*hf-^mB>*4EJ-$Z^9XZU$Z{&ECZ&~naT8f&a}Rk;;CW^;k3yDE##+`>$wzEw z2YcAdHxc0nPI87nxk^&&5ZW<}JVr2@u}o$fGnvaewo=U@j&Yv9NNVHLOBb>kP7&|0 zk;rGlL4M>EXSqz1wkG9yexX-8Z6>mcNTKCe^3HtO4l z+>q!$mO~yVspB$DGS!D3JjhT+GnE-cSi<{!z;(-aVS1pe2Ppogf zpfJ8|Q@rZK5UX4r)2J$`*|;WpE$LwMSo!w4XhFPkW9`m@E#D+JZPGkexh(cpNqqaF zx}rCt-(LS}#-|0fZxn_2s`)jW)`kB@R;2fA6djgY9Q`%5ceGVnr}pux6}4-3hJQ~N zb}ft*Zm26-d|_8{G&ikXM(m$^=&sqYDm%7tK|}xav|FQPX%9tXX(OWXmRZpU(sQCM MGBUSx&X||>HyH@~ delta 2118 zcmY+_d2Eko902f_YPEH>rH=ksMwlZrM;sg3C^ARQY*~k0Y-4V7+XO#?s%AR%i-}4c zovAq*QgsJ$O@_Hwtw~{pYQv9{&=7FeV*_8yw8zWSM?myp!57i z(?ogCx@KXHX?{Kh^0CN3%n>eHOobfQO85DwBLZ!(A>jAa_Ln9r9i zXEph3We>+V&t=NEO;jaILmi%>39aZrS9;Qqblzi3rEm~@F3DgK%UH`sirC8`PIG~4 z+~pzB(LqpyMl`229Z97ZuQQl2Okz4&EMp}b*%=m&aF$}qc}$gFhm&U2ZoJf>3RAc!T71nSU&c7#)fG}0N&CyZq>^T=i?d2C`AM>)qOZg7_h zu|ZIsWE#wRjIFL^Imcjo$QU07IF; zEHYWba#pi}9USI(SU5{D<=iK#N)W{J4BdHyfsEr2e-d5Q?5R(4I+M-_=8?lnwsM(U zRQJ~i(TtwFPk6X6jwxial+7IB6hCvFn>?U$bpw%1W7_ZvX^f|czlg381XZa|Ki*{& z)5#*2{2JvdlyQrDJR&+F2$E<*Te{GfL9|R%V_xGOhBKKtWV3?x6mgJK zT&6rx{qIYHBr~HH4S9ji^dg;)_>^o`u%5$QBBiF4pd+dDVE~KBWiz`uNBvsLMQb{e z8Wz$R#uR3d!D5z?PXRmG%K;8^j1!#ZM}DD{J3JyL*d(vDO{u$*=5=PbpP@jH)+uVZU6k{R5lM_qlUQdn304@kb}3>PUO zp`HVY7IdTs0~pE#mavN5d`DGhVLj3r#vL9KAMye;=4JXbgt5$IUdYWkl6iQW7;pSDPO z;=ss=q#n(J>npaEtj!HdzTRFInfvd^K}kVw$>N;S?OA0DvV+n!v#)Q-FKk<*Wrd`t eV?7ys)0$Q#nHe4s>7MjlWK&Y8@Q0*n3I70vI%U=X -- 2.17.1