From e79fab0420f52c08f097aa7c2ea665f11e05a9d9 Mon Sep 17 00:00:00 2001 From: luozheng <1732036298@qq.com> Date: Mon, 29 Jul 2024 10:39:47 +0800 Subject: [PATCH] =?utf8?q?Ai=E8=AF=AD=E9=9F=B3=E6=B7=BB=E5=8A=A0=E6=BB=9A?= =?utf8?q?=E5=8A=A8=E7=BC=96=E7=A0=81=E5=99=A8=E5=88=87=E6=8D=A2Ai?= =?utf8?q?=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../aivoice/include/AiVoicePresenter.h | 5 ++- .../nativeui/aivoice/src/AiVoiceModel.cpp | 41 +++++++++++++------ .../nativeui/aivoice/src/AiVoicePresenter.cpp | 11 ++++- .../nativeui/aivoice/src/AiVoiceView.cpp | 7 +++- 4 files changed, 47 insertions(+), 17 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoicePresenter.h b/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoicePresenter.h index ad1c5d183..117a71b2e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoicePresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoicePresenter.h @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-06-20 14:44:22 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-07-27 17:05:56 + * @LastEditTime: 2024-07-29 10:32:57 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/include/AiVoicePresenter.h */ #ifndef AI_VOICE_PRESENTER_H @@ -11,6 +11,7 @@ #include "Presenter.h" #include "View.h" #include "ui_resource_string.h" +#include "components/ui_time_picker.h" namespace OHOS { class AiVoiceView; @@ -19,6 +20,7 @@ namespace OHOS public UIView::OnClickListener, public UIView::OnDragListener, public RootView::OnKeyActListener, + public UIPicker::SelectedListener, public UIView::OnTouchListener { public: @@ -48,6 +50,7 @@ namespace OHOS bool OnDrag(UIView &view, const DragEvent &event) override; bool OnDragEnd(UIView &view, const DragEvent &event) override; bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件 + void OnPickerStoped(UIPicker& picker); AiVoiceModel *model; bool X_DRAG_FLAG{false}; 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 cc98be923..10c2344a1 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-27 18:35:32 + * @LastEditTime: 2024-07-29 09:50:45 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceModel.cpp */ #include "aivoice/include/AiVoiceModel.h" @@ -616,14 +616,32 @@ namespace OHOS } /*获取已选择的ai模型的textid*/ - int AiVoiceModel::GetAiModelTextId(void) + int AiVoiceModel::GetAiModelTextId() { - std::map selectAiModelToTextId = { - {AiVoicePresenter::AIMODES_WENXINYIYAN, STR_AIMODES_WENXINYIYAN}, - {AiVoicePresenter::AIMODES_KIMI, STR_AIMODES_KIMI}, - {AiVoicePresenter::AIMODES_DOUBAO, STR_AIMODELS_DOUBAO}, - {AiVoicePresenter::AIMODES_CHATGPT, STR_AIMODES_CHATGPT}, - }; + int language = ConfigModel::GetInstance()->GetLanguage(); + int textId; + + std::map selectAiModelToTextId; + if (language == 0) + { + selectAiModelToTextId = { + {0, STR_AIMODES_WENXINYIYAN}, + {1, STR_AIMODES_KIMI}, + {2, STR_AIMODELS_DOUBAO}, + {3, STR_AIMODES_CHATGPT}, + }; + textId = STR_AIMODES_WENXINYIYAN; + } + else + { + selectAiModelToTextId = { + {0, STR_AIMODES_CHATGPT}, + {1, STR_AIMODES_WENXINYIYAN}, + {2, STR_AIMODES_KIMI}, + {3, STR_AIMODELS_DOUBAO}, + }; + textId = STR_AIMODES_CHATGPT; + } // 根据视图ID设置文本ID auto it = selectAiModelToTextId.find(GetSelectAiModel()); @@ -631,9 +649,8 @@ namespace OHOS { return it->second; } - else - { - return STR_AIMODES_WENXINYIYAN; - } + + return textId; } + } diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp index 61c7a71b4..584f12f8b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.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-27 18:21:46 + * @LastEditTime: 2024-07-29 10:32:54 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoicePresenter.cpp */ #include "AppViewIDs.h" @@ -281,7 +281,7 @@ namespace OHOS int index = model->GetSelectAiModel() + 1; if (index >= AIMODES_MAX_NUM) { - index = AIMODES_WENXINYIYAN; + index = 0; } WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiModelsPresenter::index = %d", index); model->SetSelectAiModel(index); @@ -409,4 +409,11 @@ namespace OHOS } return true; } + + void AiVoicePresenter::OnPickerStoped(UIPicker &picker) + { + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoicePresenter::OnPickerStoped,%d", picker.GetSelected()); + model->SetSelectAiModel(picker.GetSelected()); + view_->ChangeAiModelAndUpdateComponentsStatus(); + } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceView.cpp b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceView.cpp index 377c6e3a9..b031636c2 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/aivoice/src/AiVoiceView.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-27 18:22:15 + * @LastEditTime: 2024-07-29 10:38:14 * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/AiVoice/src/AiVoiceView.cpp */ #include "aivoice/include/AiVoicePresenter.h" @@ -347,6 +347,9 @@ namespace OHOS aiModelPicker->SetStyle(STYLE_BORDER_RADIUS, 150); aiModelPicker->SetItemHeight(40); aiModelPicker->SetLoopState(true); + aiModelPicker->SetRotateFactor(1.0); + aiModelPicker->RequestFocus(); + aiModelPicker->RegisterSelectedListener(presenter_); aiModelPicker->SetTextColor(Color::GetColorFromRGBA(0x00, 0x00, 0x00, 0xff), Color::GetColorFromRGBA(0xff, 0x00, 0x00, 0xff)); const char *uiPicker1Data[] = {"0", "1", "2", "3"}; aiModelPicker->SetValues(uiPicker1Data, 4); @@ -649,7 +652,7 @@ namespace OHOS void AiVoiceView::ChangeAiModelAndUpdateComponentsStatus(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::ChangeAiModelAndUpdateComponentsStatus"); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::ChangeAiModelAndUpdateComponentsStatus"); int textId = AiVoiceModel::GetInstance().GetAiModelTextId(); if (title) { -- 2.17.1