void StartOtaCountdown(uint32_t startVal);
void StopOtaCountdown(void);
void StartCountUpTimer(uint32_t targetSeconds);
+ /** 仅当当前在提醒界面时启动 3 秒退出定时器(供 LN_HTTP_SERVICE_CMD_AUDIO_STOP 使用,避免哄睡结束误触) */
+ void StartCountUpTimerForDialogueExitIfInSpeaking(void);
void StopCountUpTimer(void);
void StartFactoryResetTimer(uint32_t delaySeconds);
void StopFactoryResetTimer(void);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Count up timer stopped");
}
+
+ // ---------------------- 仅当当前在提醒界面时启动 3 秒退出定时器(供 LN_HTTP_SERVICE_CMD_AUDIO_STOP 使用,避免哄睡结束误触) ----------------------
+ void ThunderBirdModel::StartCountUpTimerForDialogueExitIfInSpeaking(void)
+ {
+ ThunderBirdMainView *view = ThunderBirdMainView::GetInstance();
+ if (view == nullptr) return;
+ int16_t currentView = view->GetCurrentView();
+ int16_t currentSubView = view->GetCurrentSubView();
+ if(currentView == THUNDERBIRD_REMINDERVIEW &&
+ currentSubView == ThunderBirdReminderView::THUNDERBIRD_REMINDERVIEW_TASK_REMINDER) {
+ StartCountUpTimer(3);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "StartCountUpTimerForDialogueExitIfInSpeaking: 在对话说话/聆听界面,启动3秒退出定时器");
+ }
+ // 哄睡/提醒等其它界面不启动,避免误触
+ }
+
int ThunderBirdModel::GetCountUpValue() const
{
return m_countUpValue;
case THUNDERBIRD_REMINDERVIEW_TASK_REMINDER:
{
ThunderBirdModel::GetInstance()->LowFrequence();
- ThunderBirdModel::GetInstance()->StartCountUpTimer(10);
+ // ThunderBirdModel::GetInstance()->StartCountUpTimer(20);
if (RemindIcon)
{
// 图标位置:整体居中的左侧
printf("[LN_HTTP_SERVICE] LN_HTTP_SERVICE_CMD_AUDIO_STOP:停止音频播放并清理资源\n");
// 清理 ln_audio_simple 的音频资源
ln_audio_simple_stop();
+ // 播放结束后 3 秒退出对话(在 GUI 线程启动定时器)
+ ln_audio_stop_start_dialogue_exit_timer();
}
if (mail.data != NULL)
{
OHOS::ThunderBirdModel::GetInstance()->restore_factory_settings();
}
+// 音频 stop 时调用:仅当在对话说话/聆听界面时在 GUI 线程启动 3 秒退出定时器(哄睡/提醒结束不触发)
+void ln_audio_stop_start_dialogue_exit_timer(void)
+{
+ OHOS::ThunderBirdModel::GetInstance()->StartCountUpTimerForDialogueExitIfInSpeaking();
+}
+
// 设置帧率
void do_set_fps(uint32_t fps)
{
//恢复出厂操作
void do_restore_factory_setting(void);
+/** 音频 stop 时由 ln_api 调用:在 GUI 线程启动 3 秒退出对话定时器(播放结束后 3 秒退出) */
+void ln_audio_stop_start_dialogue_exit_timer(void);
+
//帧率控制操作
void do_set_fps(uint32_t fps);
uint32_t do_get_fps(void);