return g_pAiVoiceView;
}
- void AiVoiceView::ClearAll(void)
+ void AiVoiceView::ClearAllAiVoiceScrollView(void)
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::ClearAll");
- if (viewInitStatus)
+ if (scrollView != nullptr)
{
- if (container_ != nullptr)
- {
- container_->RemoveAll();
- delete container_;
- container_ = nullptr;
- }
+ scrollView->RemoveAll();
+ delete scrollView;
+ scrollView = nullptr;
- if (AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] != nullptr)
- {
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->RemoveAll();
+ delete title;
+ title = nullptr;
- delete title;
- title = nullptr;
+ delete aiModelImage;
+ aiModelImage = nullptr;
- delete aiModelImage;
- aiModelImage = nullptr;
+ delete startChatButton;
+ startChatButton = nullptr;
- delete startChatButton;
- startChatButton = nullptr;
+ delete startChatLabel;
+ startChatLabel = nullptr;
- delete startChatLabel;
- startChatLabel = nullptr;
+ delete chatButton;
+ chatButton = nullptr;
- delete chatButton;
- chatButton = nullptr;
+ delete chatLabel;
+ chatLabel = nullptr;
- delete chatLabel;
- chatLabel = nullptr;
+ delete apiKeysLabel;
+ apiKeysLabel = nullptr;
- delete apiKeysLabel;
- apiKeysLabel = nullptr;
+ delete apiKeysButton;
+ apiKeysButton = nullptr;
- delete apiKeysButton;
- apiKeysButton = nullptr;
+ delete aiModelPicker;
+ aiModelPicker = nullptr;
- delete aiModelPicker;
- aiModelPicker = nullptr;
+ delete buttonBgImage;
+ buttonBgImage = nullptr;
- delete buttonBgImage;
- buttonBgImage = nullptr;
+ delete upImage;
+ upImage = nullptr;
+ }
+ }
- delete upImage;
- upImage = nullptr;
+ void AiVoiceView::ClearAll(void)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::ClearAll");
- delete AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID];
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] = nullptr;
- }
+ if (container_ != nullptr)
+ {
+ container_->RemoveAll();
+ delete container_;
+ container_ = nullptr;
+ }
+ ClearAllAiVoiceScrollView();
- if (p_AiVoiceBluetoothFailedStartView != nullptr)
- {
- delete p_AiVoiceBluetoothFailedStartView;
- p_AiVoiceBluetoothFailedStartView = nullptr;
- }
+ if (p_AiVoiceBluetoothFailedStartView != nullptr)
+ {
+ delete p_AiVoiceBluetoothFailedStartView;
+ p_AiVoiceBluetoothFailedStartView = nullptr;
+ }
- if (p_AivoiceMobileDataFailedStartView != nullptr)
- {
- delete p_AivoiceMobileDataFailedStartView;
- p_AivoiceMobileDataFailedStartView = nullptr;
- }
+ if (p_AivoiceMobileDataFailedStartView != nullptr)
+ {
+ delete p_AivoiceMobileDataFailedStartView;
+ p_AivoiceMobileDataFailedStartView = nullptr;
+ }
- if (p_AivoiceConnectTimeoutView != nullptr)
- {
- delete p_AivoiceConnectTimeoutView;
- p_AivoiceConnectTimeoutView = nullptr;
- }
+ if (p_AivoiceConnectTimeoutView != nullptr)
+ {
+ delete p_AivoiceConnectTimeoutView;
+ p_AivoiceConnectTimeoutView = nullptr;
+ }
- if (p_AivoiceListeningView != nullptr)
- {
- delete p_AivoiceListeningView;
- p_AivoiceListeningView = nullptr;
- }
+ if (p_AivoiceListeningView != nullptr)
+ {
+ delete p_AivoiceListeningView;
+ p_AivoiceListeningView = nullptr;
+ }
- if (p_AivoiceThinkingView != nullptr)
- {
- delete p_AivoiceThinkingView;
- p_AivoiceThinkingView = nullptr;
- }
+ if (p_AivoiceThinkingView != nullptr)
+ {
+ delete p_AivoiceThinkingView;
+ p_AivoiceThinkingView = nullptr;
+ }
- if (p_AivoiceReturnResultTextView != nullptr)
- {
- delete p_AivoiceReturnResultTextView;
- p_AivoiceReturnResultTextView = nullptr;
- }
+ if (p_AivoiceReturnResultTextView != nullptr)
+ {
+ delete p_AivoiceReturnResultTextView;
+ p_AivoiceReturnResultTextView = nullptr;
+ }
- if (p_SetApiKeysView != nullptr)
- {
- delete p_SetApiKeysView;
- p_SetApiKeysView = nullptr;
- }
+ if (p_SetApiKeysView != nullptr)
+ {
+ delete p_SetApiKeysView;
+ p_SetApiKeysView = nullptr;
+ }
- if (p_NotSetApiKeysView != nullptr)
- {
- delete p_NotSetApiKeysView;
- p_NotSetApiKeysView = nullptr;
- }
+ if (p_NotSetApiKeysView != nullptr)
+ {
+ delete p_NotSetApiKeysView;
+ p_NotSetApiKeysView = nullptr;
+ }
- if (p_ApiKeysDeleteView != nullptr)
- {
- delete p_ApiKeysDeleteView;
- p_ApiKeysDeleteView = nullptr;
- }
+ if (p_ApiKeysDeleteView != nullptr)
+ {
+ delete p_ApiKeysDeleteView;
+ p_ApiKeysDeleteView = nullptr;
+ }
- if (p_AiVoiceConnectingView != nullptr)
- {
- delete p_AiVoiceConnectingView;
- p_AiVoiceConnectingView = nullptr;
- }
- if (p_AiVoiceSelectView != nullptr)
- {
- delete p_AiVoiceSelectView;
- p_AiVoiceSelectView = nullptr;
- }
- if (p_Aivoice4gServiceConView != nullptr)
+ if (p_AiVoiceConnectingView != nullptr)
+ {
+ delete p_AiVoiceConnectingView;
+ p_AiVoiceConnectingView = nullptr;
+ }
+ if (p_AiVoiceSelectView != nullptr)
+ {
+ delete p_AiVoiceSelectView;
+ p_AiVoiceSelectView = nullptr;
+ }
+ if (p_Aivoice4gServiceConView != nullptr)
+ {
+ delete p_Aivoice4gServiceConView;
+ p_Aivoice4gServiceConView = nullptr;
+ }
+ for (int i = 0; i < MAX_AIVOICE_VIEWID; i++)
+ {
+ if (AiVoiceScrollView[i] != nullptr)
{
- delete p_Aivoice4gServiceConView;
- p_Aivoice4gServiceConView = nullptr;
+ AiVoiceScrollView[i] = nullptr;
}
}
}
// label->SetText("DeepSeek");
// }
// else
- label->SetTextId(labelconfig.textId);
+ label->SetTextId(labelconfig.textId);
label->SetLineBreakMode(labelconfig.lineBreakMode);
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label->SetRollSpeed(23);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "aiModelPicker new fail!");
return false;
}
- aiModelPicker->SetPosition(203, 203, 60, 60);
- aiModelPicker->SetViewId(AIVOICE_PICKER_VIEW_ID);
- aiModelPicker->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
- aiModelPicker->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
- 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", "4", "5"};
- aiModelPicker->SetValues(uiPicker1Data, sizeof(uiPicker1Data) / sizeof(uiPicker1Data[0]));
}
+ aiModelPicker->SetPosition(203, 203, 60, 60);
+ aiModelPicker->SetViewId(AIVOICE_PICKER_VIEW_ID);
+ aiModelPicker->SetStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
+ aiModelPicker->SetStyle(STYLE_BACKGROUND_OPA, 0x00);
+ 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", "4", "5"};
+ aiModelPicker->SetValues(uiPicker1Data, sizeof(uiPicker1Data) / sizeof(uiPicker1Data[0]));
return true;
}
bool AiVoiceView::CreateAiVoiceScrollView(void)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CreateAiVoiceScrollView");
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] = new UIScrollView();
- if (AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] == nullptr)
+ if (scrollView == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CreateAiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] new fail!");
- return false;
+ scrollView = new UIScrollView();
+ if (scrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CreateAiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID] new fail!");
+ return false;
+ }
}
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->SetPosition(0, 0, 466, 466);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->SetTouchable(true);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->SetDraggable(true);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->SetOnDragListener(presenter_);
- container_->Add(AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]);
-
+ scrollView->SetPosition(0, 0, 466, 466);
+ scrollView->SetTouchable(true);
+ scrollView->SetDraggable(true);
+ scrollView->SetOnDragListener(presenter_);
return true;
}
- void AiVoiceView::CreateAiVoiceView(void)
+ UIScrollView *AiVoiceView::CreateAiVoiceView(void)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CreateAiVoiceView");
if (!CreateAiVoiceScrollView() || !CreateAiVoiceViewImageView() || !CreateAiVoiceViewPicker() ||
!CreateAiVoiceViewLabel() || !CreateAiVoiceViewButton())
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CreateAiVoiceView fail!");
- return;
+ return nullptr;
}
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(title);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(aiModelPicker);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(aiModelImage);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(startChatButton);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(startChatLabel);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(chatButton);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(chatLabel);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(apiKeysButton);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(apiKeysLabel);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(buttonBgImage);
- AiVoiceScrollView[AIVOICE_STARTCHAT_VIEWID]->Add(upImage);
+ scrollView->Add(title);
+ scrollView->Add(aiModelPicker);
+ scrollView->Add(aiModelImage);
+ scrollView->Add(startChatButton);
+ scrollView->Add(startChatLabel);
+ scrollView->Add(chatButton);
+ scrollView->Add(chatLabel);
+ scrollView->Add(apiKeysButton);
+ scrollView->Add(apiKeysLabel);
+ scrollView->Add(buttonBgImage);
+ scrollView->Add(upImage);
+
+ return scrollView;
}
void AiVoiceView::OnStart()
container_->SetDraggable(true);
container_->SetOnClickListener(presenter_);
- if (!viewInitStatus)
- {
- CreateAiVoiceView();
- viewInitStatus = true;
- }
+ ChangeView(MAX_AIVOICE_VIEWID, AIVOICE_STARTCHAT_VIEWID);
SetAiVoiceViewAllComponentsVisibilityStatus();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::ChangeAiVoiceStartChatView");
if (AiVoiceScrollView[thisView] == nullptr)
{
+ UIScrollView *scrollview = CreateAiVoiceView();
+ if (scrollview == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "new AiVoiceScrollView[%d] fail", thisView);
+ return false;
+ }
+ AiVoiceScrollView[thisView] = scrollview;
container_->Add(AiVoiceScrollView[thisView]);
}
- AiVoiceModel::GetInstance().CancelCurAIChat();
+ if (AiVoiceModel::GetInstance().GetSelect4gorbt() == AI_SELECT_BT)
+ {
+ AiVoiceModel::GetInstance().CancelCurAIChat();
+ }
return true;
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AiVoiceView::ChangeAiVoicReturnResultTextView");
if (AiVoiceScrollView[thisView] == nullptr)
{
+ AiVoiceModel::GetInstance().SetChatContentListCount(0);
p_AivoiceReturnResultTextView = new AivoiceReturnResultTextView();
if (p_AivoiceReturnResultTextView == nullptr)
{
return false;
}
- if (hideView < 0 || hideView >= MAX_AIVOICE_VIEWID)
+ if (hideView < 0 || hideView > MAX_AIVOICE_VIEWID)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CheckViewParam hideView err.");
return false;
static const int16 AiVoiceDestroyMapper[] = {
AIVOICE_AIMODE_CONNECTING,
AIVOICE_4GSERVICECON_VIEW,
- // AIVOICE_LISTENING_VIEWID,
- // AIVOICE_THINKING_VIEWID,
+ AIVOICE_LISTENING_VIEWID,
+ AIVOICE_THINKING_VIEWID,
+ AIVOICE_SELECT_VIEW,
+ AIVOICE_CONNECT_TIMEOUT_VIEWID,
+ AIVOICE_AIMODEL_CONNECT_FAILED_VIEWID,
+ AIVOICE_ALERT_APPBLUETOOTH_AND_4GNETWORK_VIEWID,
+ // AIVOICE_STARTCHAT_VIEWID,
+ AIVOICE_RETURN_RESULT_TEXT_VIEWID,
};
void AiVoiceView::DestroyTempView(int16_t hideView)
{
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::DestroyTempView:%d", hideView);
int viewSize = sizeof(AiVoiceDestroyMapper) / sizeof(AiVoiceDestroyMapper[0]);
for (int i = 0; i < viewSize; i++)
{
case AIVOICE_LISTENING_VIEWID:
if (p_AivoiceListeningView)
{
- // delete p_AivoiceListeningView;
- // p_AivoiceListeningView = nullptr;
- p_AivoiceListeningView->StartOrStopAivoiceListeningImageAnimatorView(false);
+ if (p_AivoiceListeningView)
+ {
+ delete p_AivoiceListeningView;
+ p_AivoiceListeningView = nullptr;
+ }
+ // p_AivoiceListeningView->StartOrStopAivoiceListeningImageAnimatorView(false);
}
break;
case AIVOICE_THINKING_VIEWID:
if (p_AivoiceThinkingView)
{
- // delete p_AivoiceThinkingView;
- // p_AivoiceThinkingView = nullptr;
- p_AivoiceThinkingView->StartOrStopAiVoiceThinkingImageAnimatorView(false);
+ delete p_AivoiceThinkingView;
+ p_AivoiceThinkingView = nullptr;
+ // p_AivoiceThinkingView->StartOrStopAiVoiceThinkingImageAnimatorView(false);
+ }
+ break;
+ case AIVOICE_SELECT_VIEW:
+ if (p_AiVoiceSelectView)
+ {
+ delete p_AiVoiceSelectView;
+ p_AiVoiceSelectView = nullptr;
+ }
+ break;
+ case AIVOICE_CONNECT_TIMEOUT_VIEWID:
+ if (p_AivoiceConnectTimeoutView)
+ {
+ delete p_AivoiceConnectTimeoutView;
+ p_AivoiceConnectTimeoutView = nullptr;
+ }
+ break;
+ case AIVOICE_AIMODEL_CONNECT_FAILED_VIEWID:
+ if (p_AivoiceMobileDataFailedStartView)
+ {
+ delete p_AivoiceMobileDataFailedStartView;
+ p_AivoiceMobileDataFailedStartView = nullptr;
+ }
+ break;
+ case AIVOICE_ALERT_APPBLUETOOTH_AND_4GNETWORK_VIEWID:
+ if (p_AiVoiceBluetoothFailedStartView)
+ {
+ delete p_AiVoiceBluetoothFailedStartView;
+ p_AiVoiceBluetoothFailedStartView = nullptr;
+ }
+ break;
+ case AIVOICE_STARTCHAT_VIEWID:
+ // ClearAllAiVoiceScrollView();
+ break;
+ case AIVOICE_RETURN_RESULT_TEXT_VIEWID:
+ if (p_AivoiceReturnResultTextView)
+ {
+ delete p_AivoiceReturnResultTextView;
+ p_AivoiceReturnResultTextView = nullptr;
}
break;
default:
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceView::CheckViewParam failed.");
return;
}
- AiVoiceScrollView[hideView]->SetVisible(false);
+ if (hideView != MAX_AIVOICE_VIEWID)
+ {
+ if (AiVoiceScrollView[hideView] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AiVoiceScrollView[%d] is nullptr", hideView);
+ return;
+ }
+ AiVoiceScrollView[hideView]->SetVisible(false);
+ }
ClickFunc(showView);
- AiVoiceScrollView[showView]->SetVisible(true);
if (AiVoiceScrollView[showView] != nullptr)
{
AiVoiceScrollView[showView]->SetVisible(true);
// }
// else
// {
- title->SetTextId(textId);
- title->ForceResetText();
+ title->SetTextId(textId);
+ title->ForceResetText();
// }
}
if (aiModelImage)