HAND_API_ERROR_NOTIFY, // 协议错误通知
HAND_BIND_AND_UNBIND_NOTIFY, // 绑定和解绑通知
HAND_SCREEN_IMAGE_DOWNLOAD_SUCCESS_NOTIFY, // 屏保下载成功通知
+ HAND_TEXT_UPDATE_NOTIFY, // 更新文本内容通知
MAX_NUM_HANDLER,
} UiServiceMsgId;
void ThunderBirdModel::SetTextStr(const char *textId)
{
- if (textId == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: textId is null");
- return;
- }
- ThunderBirdDialogueView::GetInstance()->UpdateDialogueText(m_currentTimeStr.c_str());
- //清除录音内容
- ClearTextStr();
-
- // 添加文本内容
- m_currentTimeStr = textId;
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: %s", m_currentTimeStr.c_str());
+ if (textId == nullptr) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: textId is null");
+ return;
+ }
+ if(ThunderBirdDialogueView::GetInstance())
+ ThunderBirdDialogueView::GetInstance()->UpdateDialogueText(m_currentTimeStr.c_str());
+ //清除录音内容
+ ClearTextStr();
+
+ // 添加文本内容
+ m_currentTimeStr = textId;
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "设置对话文本: %s", m_currentTimeStr.c_str());
}
void ThunderBirdModel::ClearTextStr()
static void HandApiErrorNotify(Request *request);
static void HandBindAndUnbindNotify(Request *request);
static void HandScreenImageDownloadSuccessNotify(Request *request);
+static void HandTextUpdateNotify(Request *request);
// 消息处理程序项数组(每个消息类型对应一个处理函数,函数名以 Handle 开头)
MsgHandlerEntry msgHandlers[] = {
{HANDLE_JUMP_OTA_VIEW, HandleJumpOtaView},
{HAND_API_ERROR_NOTIFY,HandApiErrorNotify},
{HAND_BIND_AND_UNBIND_NOTIFY,HandBindAndUnbindNotify},
{HAND_SCREEN_IMAGE_DOWNLOAD_SUCCESS_NOTIFY,HandScreenImageDownloadSuccessNotify},
+ {HAND_TEXT_UPDATE_NOTIFY,HandTextUpdateNotify},
};
/* -------------------------------------------------------------------------- */
void ScreenTurnOn(int32_t timeout)
// std::bind(&OHOS::ThunderBirdModel::HandleScreenImageDownloadSuccess,OHOS::ThunderBirdModel::GetInstance()));
}
+// 更新文本内容通知
+void HandTextUpdateNotify(Request *request)
+{
+ std::string value(static_cast<char*>(request->data), request->len);
+ GraphicService::GetInstance()->PostGraphicEvent(
+ std::bind(&OHOS::ThunderBirdModel::SetTextStr,OHOS::ThunderBirdModel::GetInstance(),value.c_str()));
+}
+
/* -------------------------------------------------------------------------- */
#ifdef __cplusplus
}
printf("[LN][WS] Processing WebSocket Connected event\n");
set_is_ln_get_device_network_success(1);
}
- else
+ else if(type == WS_CMD_DISCONNECTED)
{
printf("[LN][WS] Processing WebSocket Disconnected event\n");
set_is_ln_get_device_network_success(0);
}
-
+
if (!data_msg || !data_msg->raw_json)
{
printf("[WS] invalid data message\n");
// 推送文本给ui
void push_text_to_ui(const char *text)
{
- OHOS::ThunderBirdModel::GetInstance()->SetTextStr(text);
+ SendMsgToUIService(HAND_TEXT_UPDATE_NOTIFY, 0, (void *)text, (int32_t)strlen(text));
}
// 是否开始对话标志:开始对话、结束对话、故事开始、故事结束
static int g_start_conversation_flag = START_CONVERSATION_FLAG_UNKNOWN;